blockchain مرنة الكم


في هذه المقالة ، سأتحدث عن مشكلة الأمان في تقنية blockchain في ضوء النمو في أداء أجهزة الكمبيوتر الكمومية ، ومناقشة بعض طرق الحماية من الهجمات باستخدام الكمبيوتر الكمومي ، ومشروع حديث: Ledger-Resistant Ledger. وبحسب المطورين ، ستكون هذه أول منصة في العالم مبنية على مبادئ التشفير بعد الكم ومصممة لتوفير الحماية من "الصدمة الكمومية" في حالة التطور السريع لهذه التقنيات. يمكن أن تتعرض المنصات التي تم إنشاؤها باستخدام مبادئ التشفير الكلاسيكية لمثل هذه الضربة. بدون تغييرات أساسية ، قد تكون Bitcoin و Ethereum و Ardor ومعظم هذه المنصات في المستقبل القريب.

الجزء 1. قضية الأمن


الضعف


تعتمد خوارزمية حماية Bitcoin والأنظمة المماثلة على مبدأ التشفير غير المتماثل مع المفاتيح العامة والخاصة. يتم توقيع المعاملة بمفتاح خاص ، ويتم التحقق من صحتها باستخدام المفتاح العام.

باستخدام خوارزميات الهجوم الكلاسيكية ، يكاد يكون من المستحيل العثور على مفتاح خاص ، مع معرفة المفتاح العام. إن أنظمة التشفير غير المتناظرة ، مثل RSA وما شابه (DSA ، DH ، إلخ.) مبنية على التأكيد على أن تعقيد معالجة الرقم ينمو بشكل كبير من حجم المفتاح. ومع ذلك ، باستخدام خوارزمية Shore على جهاز كمبيوتر كمومي ، يصبح من الممكن في وقت كثير الحدود تحليل العدد إلى عوامل أولية ، وبالتالي ، العثور على المفتاح الخاص ، مع معرفة المفتاح العام.

في عام 2001 ، أثبتت شركة IBM ذلك عن طريق تقسيم الرقم 15 إلى عاملين رئيسيين ، 3 و 5. تم استخدام كمبيوتر كمومي يتكون من 7 كيلوبت لهذه الأغراض. منذ ذلك الحين ، تم تطوير تقنيات الحوسبة الكمومية بشكل أسرع.

في عام 2016 ، قامت مجموعة من الباحثين من معهد ماساتشوستس للتكنولوجيا ، جنبًا إلى جنب مع معهد إنسبروك ، بنفس مهمة تحليل الرقم 15 ، باستخدام 5 كيلوبايت فقط .

في يوليو 2017 ، تم إنشاء جهاز كمبيوتر قابل للبرمجة بحجم 51 كيلوبت من قبل الفيزيائيين الأمريكيين الروس.

في نهاية أكتوبر 2017 ، توصلت مجموعة بحثية دولية من جامعات سنغافورة وأستراليا إلى استنتاج مفاده أن معظم بروتوكولات التشفير المستخدمة في blockchain عرضة لهجمات الكمبيوتر الكمومي القوي. يقدم تقرير المجموعة توقعين لنمو طاقة الكمبيوتر الكمومي: متفائل وأقل تفاؤلاً. وفقًا للأول ، سيتضاعف عدد وحدات البت الكمبيوترية الكمومية كل 10 أشهر. تشير توقعات أقل تفاؤلاً إلى مضاعفة عدد وحدات البت في كل 20 شهرًا. يوضح الشكل أدناه الرسوم البيانية لكلا التنبؤين.


الأكثر عرضة للهجمات الكمومية على الكمبيوتر هي الخوارزمية لإنشاء توقيع رقمي قائم على منحنيات بيضاوية الشكل ( ECDSA ). وبالتالي ، وفقًا لتقرير المجموعة ، يمكن تصدع Bitcoin بشكله الكلاسيكي بحلول عام 2027.

ربما ليس كل شيء سيئ للغاية؟ لا يتم تخزين المفتاح العام بنص واضح


في نهاية أبريل 2017 ، تم نشر مقال على bitcoin.com للإجابة على سؤال ما إذا كان يجب على حاملي Bitcoin أن يكونوا حذرين من كسرها بجهاز كمبيوتر كمومي. تقول أنه على الرغم من حقيقة أن التشفير غير المتماثل يستخدم في blockchain Bitcoin ، لا ينبغي للمستخدمين القلق بشأن سلامة عملاتهم. لا يتم تخزين المفتاح العام بنص واضح. لذا ، فإن عناوين نقل العملات ليست مفاتيح عامة ، ولكن فقط نتيجة تطبيق وظيفة التجزئة SHA-256. تقوم دالة التجزئة بتحويل في اتجاه واحد وبالتالي فهي مقاومة لهجمات الكمبيوتر الكمومي.

يصبح المفتاح العام معروفًا أثناء المعاملة


إن البيان بأن المفتاح العام غير متاح بشكل واضح ليس صحيحًا تمامًا. بدون الدخول في تفاصيل صغيرة ، سنحلل باستخدام مثال Bitcoin (BTC) كيفية نقل العملة المشفرة من شخص إلى آخر.

دع Alice في محفظتها على أحد عناوين Bitcoin لديها 100 mBTC (1000 mBTC = 1 BTC). إنها تريد نقل Bob 1 mBTC. للقيام بذلك ، تشير إلى عنوان Bob's Bitcoin ، ورسوم النقل ، وعنوان Bitcoin في محفظتها لتلقي التغيير. افترض أن أليس أشارت إلى 1 mBTC كعمولة. وبالتالي ، من بين 100 mBTC لدى Alice ، يتم إرسال 1 mBTC إلى Bob ، و 1 mBTC تغادر كعمولة على شبكة Bitcoin ويتم إرجاع 98 mBTC إلى محفظة Alice.

الآن دعونا نرى ما يحدث على مستوى شبكة Bitcoin. لدى Alice and Bob محافظ تحتوي على عناوين لتخزين العملات المعدنية. يمكن أن تحتوي محفظة واحدة على العديد من عناوين Bitcoin. يتم إنشاء العناوين عند إنشاء المحافظ. يتوافق كل عنوان مع زوج مفاتيح تم إنشاؤه بواسطة خوارزمية ECDSA: عام وخاص. عند نقل العملات ، يتم إنشاء معاملة يتم فيها إرسال معلومات حول عدد العملات التي يتم إرسالها بواسطة Alice وعنوان Bob’s Bitcoin والتوقيع الذي تم إجراؤه بواسطة مفتاح Alice الخاص ومفتاح Alice العام وبعض البيانات الأخرى. بعد ذلك ، يتم إرسال المعاملة في نموذج مفتوح (غير مشفر) إلى الشبكة . قبل قبول المعاملة للمعالجة ، يقوم المضيفون بالتحقق من صحة توقيعها باستخدام المفتاح العمومي. إذا كان التوقيع صالحًا ، يضيفون معلومات المعاملة إلى الكتلة. تسمى عملية التحويل هذه التأكيد.

متوسط ​​وقت توليد الكتلة في شبكة Bitcoin هو 10 دقائق. تسعى الشبكة للحفاظ على هذا الوقت ثابتا. قبل استخدام الأموال المستلمة ، يوصى بانتظار 6 تأكيدات. وبالتالي ، فإن بوب ، مع مراعاة قواعد السلامة ، سيكون قادرًا على استخدام الأموال المستلمة بعد حوالي ساعة من تحويلها.

واحدة من ميزات نقل العملات المعدنية على شبكة Bitcoin هي أنه لا يمكن نقل جزء فقط من العملات المعدنية من عنوان واحد. يتم دائمًا نقل العملات المعدنية بالكامل ، وتقع على عنوان Bitcoin في المحفظة ، ويتم إرجاع التغيير إلى المرسل. يمكن الحصول عليه من العنوان الذي تم إرسال العملات منه ومن أي عنوان آخر. لذلك ، يجب أن تشير أليس إلى عنوان التسليم. في عدد من البرامج التي تعمل في المحفظة ، يكون عنوان التسليم هو عنوان الإرسال.

رسوم المعاملة ، بالمعنى الدقيق للكلمة ، ليست إلزامية ، ولكن غيابها يمكن أن يؤخر المعاملة لفترة طويلة. والعكس صحيح أيضًا: يمكنك تسريع المعاملة إلى حد ما عن طريق زيادة حجم العمولة. في وقت كتابة هذه السطور (يناير 2018) ، تقدم معظم برامج المحفظة رسومًا قدرها 1 mBTC. هناك عدد من الموارد ، على سبيل المثال ، هذه الموارد ، والتي تسمح لك بتقدير الوقت الذي يتم فيه تضمين المعاملة في كتلة اعتمادًا على حجم العمولة.

استخدام المفتاح العام مرة واحدة


من وجهة نظر أمنية ، من الأفضل تلقي التغيير إلى عنوان جديد ، لن يكون المفتاح العام معروفًا للشبكة. في هذه الحالة ، يتم استخدام زوج المفاتيح مرة واحدة فقط. ومع ذلك ، وفقًا للإحصاءات اعتبارًا من ديسمبر 2017 ، تمت إعادة استخدام حوالي 41.34٪ من العناوين.

10 دقائق للهجوم


ولكن ، عاجلاً أم آجلاً ، ستحتاج إلى استخدام الأموال على العنوان الجديد. يتم نقل المفتاح العام إلى الشبكة في مسح. حتى وصول التأكيد ، لا تزال الأموال في المرسل. إذا تلقى مهاجم مفتاحًا عامًا أثناء إحدى المعاملات ، فسيكون أمامه حوالي 10 دقائق للحصول على المفتاح الخاص باستخدام جهاز كمبيوتر كمومي ومحاولة إجراء معاملته من نفس العنوان ، وتحديد عمولة أعلى.

العناوين الثابتة أكثر عرضة للخطر


في أنظمة مثل Ethereum و NXT و Ardor وما إلى ذلك ، يصبح المفتاح العام معروفًا أيضًا بعد المعاملة الأولى. ويتفاقم الوضع بسبب حقيقة أن الرموز المميزة أو العقود الذكية مرتبطة بعناوين ثابتة ، والتي يمكن مهاجمتها لفترة طويلة. إذا نجح الهجوم ، يمكن للمهاجم تدمير النظام الاقتصادي بأكمله بناءً على هذه العناوين.

الجزء 2. الحلول


كيفية توفير مقاومة لهجمات الكمبيوتر الكمومي؟


حاليًا ، هناك العديد من الطرق الأساسية التي توفر الحماية ضد هجمات الكمبيوتر الكمومية:

  • التشفير القائم على التجزئة
  • التشفير القائم على الكود ؛
  • التشفير القائم على المصفوفة ؛
  • التشفير على أساس أنظمة تربيعية متعددة الأبعاد ؛
  • تشفير المفتاح الخاص.

مع مفاتيح طويلة بما فيه الكفاية والامتثال لمتطلبات الأمان ، فإن طرق الحماية هذه قادرة على تحمل كل من الهجمات الكلاسيكية والهجمات باستخدام جهاز كمبيوتر كمومي.

أكثر ما تمت دراسته هو استخدام التوقيعات الرقمية القائمة على وظائف التجزئة.

كما ذكرنا سابقًا ، تقوم دالة التجزئة بتحويل رسالة أحادية الاتجاه. يتم تحويل الرسالة إلى قيمة تجزئة ذات طول ثابت. يجب أن يجعل استخدام وظيفة التجزئة من ناحية ، البحث عبر الرسائل للحصول على قيمة تجزئة مماثلة أمراً لا معنى له. من ناحية أخرى ، يجب أن تكون الخوارزمية مقاومة للتصادمات: عندما تتوافق رسالتان مختلفتان مع نفس قيمة دالة التجزئة.

يمكن استخدام خوارزمية كمان Grover لمحاولة العثور على تصادم أو تنفيذ هجوم أولي للعثور على الرسالة الأصلية. هذا يتطلب O ( 2 f r a c n 2  ) العمليات. وبالتالي ، للحفاظ على أمان 128 بت ، يكون طول التجزئة الناتج 256 بت على الأقل. على هذا النحو ، يمكن تحديد SHA-256.

توقيع Lampport


أحد خيارات استخدام دالة التجزئة في التوقيع الرقمي هو توقيع Lamport. يمكن بناؤه على أساس أي وظيفة تجزئة أحادية الاتجاه. يعتمد ثبات التشفير على الخوارزمية على ثبات التشفير لوظائف التجزئة المستخدمة.

مخطط التوقيع
للرسالة م طويل مم يتم إنشاء المفاتيح. أولاً ، يتم إنشاء المفاتيح الخاصة في أزواج SK طويل n ثم ، باستخدام وظيفة التجزئة ، يتم تكوين أزواج المفاتيح العامة من المفاتيح الخاصة PK . عدد أزواج المفاتيح الخاصة والعامة يساوي عدد البتات في الرسالة الأصلية.


عند التوقيع ، تتم قراءة الرسالة شيئًا فشيئًا ، واعتمادًا على قيمة البت الحالي ، يتم تحديد أحد المفاتيح الخاصة للزوج المقابل. يتم دمج المفاتيح الخاصة المحددة في توقيع. بعد ذلك ، التوقيع الناتج و مم يتم إرسال أزواج من المفاتيح العامة إلى المستلم.



يشبه التحقق من التوقيع عملية إنشائه. ينقسم التوقيع إلى أجزاء من الطول n ثم يتم تحويلها باستخدام نفس دالة التجزئة. تتم قراءة الرسالة شيئًا فشيئًا وقيمة البتة تحدد المفتاح العمومي ، والذي يتم مقارنته بقيمة التجزئة التي تم استلامها.

عادة ، قبل تطبيق التوقيع ، يتم تجزئة الرسالة الأصلية لتقليل حجمها. دع SHA-256 يتم تحديده كدالة تجزئة ، ثم m=n=256 . في هذه الحالة ، إجمالي طول المفتاح العام (وكذلك الخاص) LPK اتضح المساواة:

LPK=n2m=2562256=128كيلوبايت=16كيلوباي


طول التوقيع LS هو:

LS=nm=64كيلوبايت=8كيلوبايت.



توقيع لامبورت يتم لمرة واحدة (يظل آمنًا فقط عند استخدامه مرة واحدة) ، لأنه عندما يتم تنفيذه ونقله ، يصبح نصف المفتاح الخاص معروفًا. دع طول الرسالة 256 بايت وطول التجزئة 256. قبل أن تنشر أليس توقيع الرسالة ، لا أحد يعرف 2 * 256 رقماً عشوائياً في مفتاح سري. وبالتالي ، لا يمكن لأحد إنشاء مجموعة صحيحة من 256 رقمًا للتوقيع.

بعد أن تنشر أليس التوقيع ، لن يعرف أحد الأرقام الـ 256 المتبقية ، وبالتالي لن يتمكن من إنشاء توقيع للرسائل التي تحتوي على تجزئة مختلفة.

حقيقة أن توقيع Lamport لمرة واحدة ، مقترنًا بكمية إجمالية رائعة من التوقيع والمفتاح العام (24 كيلوبايت بطول رسالة 256 بايت وطول تجزئة 256 بايت) ، يجعل استخدامه في كتلة المعاملات العامة غير مناسب.

التوقيع Winternitz


هناك خوارزميات توقيع رقمي أخرى لمرة واحدة. في توقيع Vinternytsia ، على عكس توقيع Lamport ، لا يتم توقيع الرسالة الأصلية على أساس أحادي البتات ، ولكن في كتلة. يمكن بناء توقيع Winternitz لمرة واحدة ، مثل Lamport ، على أساس أي وظيفة تشفير قوية.

مخطط التوقيع
الرسالة M طويل م مقسمة إلى شظايا Mi طويل w . يتم إنشاء مفتاح خاص لكل جزء SK أطوال n . لكل مفتاح خاص ، يتم تطبيق عملية التجزئة بالتسلسل 2w1 مرات (جولات R ) نتيجة للعمليات ، يتم الحصول على المفاتيح العامة المقابلة PK نفس الطول n .



عند التوقيع ، كما هو الحال في توليد المفاتيح العامة ، يتم إجراء حساب تكراري للتجزئة على المفاتيح الخاصة. يعتمد عدد التكرارات في كل حالة على الرسالة الموقعة. كما ذكرنا سابقًا ، يتم تقسيم الرسالة إلى كتل من الطول w . القيمة العددية لهذه الكتلة Mi وهو عدد التكرارات التي يجب إجراؤها على المفاتيح الخاصة للحصول على توقيع. سيكون اتصال الكتل المستلمة هو توقيع هذه الرسالة.



عند التحقق من التوقيع على شظايا طوله n حساب التجزئة بشكل متكرر. عدد الجولات Ri يتم تعريف تطبيق دالة التجزئة على أنه الفرق بين عدد التكرارات للحصول على المفتاح العام والقيمة العددية لكتلة الرسالة ، أي Ri=2w1Mi مرات. ثم تتم مقارنة القيم التي تم الحصول عليها مع المفتاح العام المقابل.

مثال
سأوضح ما سبق مع مثال صغير. دع الرسالة تعطى M (في تمثيل بت) الطول م ، المعلمة Vinternitsa w وبعض وظائف التجزئة في الطول n :

M=1100011101100111،m=16،w=8،n=256.


توليد m/w=2 المفتاح الخاص على أساس مولد رقم عشوائي زائف. لكل مفتاح خاص نطبق 2w1=255دولارً ضرب دالة التجزئة ، وبالتالي الحصول على 2 مفاتيح عمومية يتم دمجها في مفتاح مشترك واحد للطول 2n=512 قليلا. بعد ذلك لكل كتلة رسالة M أطوال w تحديد عدد عمليات التجزئة المطبقة على المفتاح الخاص Ri . في هذه الحالة ، ستكون هذه هي القيم 11000111_2 دولار أمريكي = 199_ {10} دولار أمريكي و 01100111_2 دولار أمريكي = 103_ {10} دولار أمريكي وفقًا لذلك. بعد إجراء عملية التجزئة على المفاتيح الخاصة ، نحصل على توقيع الطول 2n=512 قليلا.

للتحقق من التوقيع ، قم بتقسيمه إلى أجزاء من الطول n . ننتج على كل جزء Ri=2w1Mi عمليات التجزئة. على سبيل المثال 255 دولارًا - 199 = 56 دولارًا و 255 دولارًا - 103 = 152 دولارًا مرات على التوالي. إذا كانت نتيجة العمليات تؤدي إلى قيمة تتطابق مع المفتاح العام ، فإن الرسالة تكون موثوقة.

عند استخدام SHA-256 كدالة تجزئة لتوقيع Winternitz ، m=n=256 .

دع w=8 قليلا. ثم الحجم الكامل للمفتاح العمومي LPK والتوقيعات LS يساوي:

LPK=LS=m/wn=256/8256=8كيلوبايت=1كيلوبايت.


عدد عمليات حساب التجزئة في هذه الحالة يساوي:

P=(2w1)m/w=(281)256/8=8160.


في حالة w=16 ، تزيد هذه القيمة إلى P=1048560 .

أحجام المفتاح العام والتوقيع ، بنفس المعلمات الموجودة في المثال الخاص بتوقيع Lamport ، هي 1 كيلوبايت. في المجموع ، هذا أقل من توقيع لامبورت (24 كيلوبايت). ومع ذلك ، فإن عدد حسابات التجزئة في هذه الحالة هو 8160. وهو بالطبع كثير جدًا. بالإضافة إلى ذلك ، عند التحقق من التوقيع ، يتم إجراء متوسط ​​نصف هذا العدد من التكرارات. هذا يجعل خيار التوقيع هذا غير مناسب للاستخدام على blockchain.

هناك العديد من الخيارات لتوقيع Winternitz ، بما في ذلك مع تمديد التوقيع من أجل زيادة الموثوقية وتقليل عدد استخدامات وظيفة التجزئة. وصفهم خارج نطاق هذه المقالة. يمكن للمهتمين رؤية المزيد هنا . يمكن رؤية تطبيق توقيع Vinternitsa بناءً على وظيفة التجزئة المحلية لـ GOST 34.11-12.

شجرة ميركل (MSS)


يمكن أن توفر التوقيعات لمرة واحدة أمان تشفير مرضي ، ومع ذلك ، فإن استخدامها لمرة واحدة يمكن أن يصبح مشكلة خطيرة. فليكن من الضروري نقل المدخرات من عنوان إلى آخر. اتضح أنه عند استخدام التوقيعات لمرة واحدة ، سيكون من الضروري تحويل المبلغ الكامل للأموال في كل مرة ، وستكون هناك حاجة إلى عنوان جديد لكل معاملة. مع كل معاملة ، ستحتاج إلى نشر مفتاح عام جديد. بالإضافة إلى ذلك ، سيتطلب تخزين المعاملات الجديدة في blockchain تدريجيًا المزيد من الوقت للبحث عنها.

لحل المشكلة ، قاموا بتوسيع مخطط التوقيع عن طريق إجراء العديد من التوقيعات بناءً على العديد من أزواج المفاتيح لكل عنوان. يتم استخدام العديد من التوقيعات على أساس شجرة تجزئة ثنائية - شجرة Merkle.

مزيد من التفاصيل


يتم حساب الشجرة من الأوراق إلى الجذر. يتم حساب كل ورقة عقدة للشجرة كتجزئة من المفتاح العام الذي تم إنشاؤه. يتم حساب العقد المتبقية عن طريق الحصول على تجزئة من سلسلة (لصق) العقد الفرعية. وهكذا ، يتم حساب الشجرة بأكملها إلى الجذر. افترض أن هناك 4 أزواج رئيسية ، يتم حساب شجرة Merkle عن طريق حساب 7 تجزئات (انظر الشكل أعلاه).

ميزة شجرة Merkle هي أن وجود أي عقدة أو ورقة يمكن إثباته بالتشفير عن طريق حساب الجذر.

يتم إنشاء توقيع الرسالة باستخدام المفتاح الخاص من زوج المفاتيح المحدد.

يتضمن التحقق من التوقيع حساب الجذر بناءً على المعلمات التي تم تمريرها ومقارنتها بمفتاح عام يمكن إعادة استخدامه. هذه المعلمات هي:

  • التوقيع
  • الجذر
  • مفتاح لمرة واحدة ، تم التوقيع على الجزء المغلق من الرسالة ؛
  • تجزئات الأشجار ملقاة على طول المسار من الورقة المحددة إلى الجذر.

عند استخدام توقيعات Merkle أو Winternitz لمرة واحدة ، ليست هناك حاجة لنقل مفتاح عام لمرة واحدة محدد بشكل منفصل ، حيث يمكن الحصول عليه من توقيع الرسالة. , . , : , , — 0 ( PK1 ) H2 و H6 . PK1 , , H1 . H1 و H2 H5 . H5 و H6 R , .

تسمح شجرة Merkle ، التي يتم تجميعها وحسابها من المفاتيح العامة ، بدلاً من نشر المجموعة الكاملة لها بنشر جذر الشجرة فقط. يؤدي ذلك إلى زيادة حجم التوقيع من خلال تضمين جزء من الشجرة في التوقيع ، ولكنه يجعل من الممكن استخدام تجزئة واحدة فقط للتحقق من العديد من التوقيعات. لذا ، بعمق الشجرةيمكن توقيع N2 وظائف N. يتم استخدام شجرة Merkle للمفاتيح استنادًا إلى خوارزمية المنحنى البيضاوي في Bitcoin و Ethereum ، وهناكمقالممتاز عن الأخير مع فحص شجرة Merkle.



Hypertrees


العيب الرئيسي لنظام Merkle الأساسي هو أن عدد التوقيعات المتاحة محدود ، ويجب إنشاء جميع الأزواج الرئيسية للتوقيعات لمرة واحدة قبل حساب شجرة Merkle. ينمو توليد المفاتيح ووقت التوقيع بشكل كبير فيما يتعلق بارتفاع الشجرة. من الممكن تأخير إنشاء مفاتيح جديدة ، بالإضافة إلى زيادة عدد الأزواج المتاحة ، عند استخدام شجرة مفرطة.

مزيد من التفاصيل
, . 2 : . , . . , (. ).



, , . , , . , .

. . , , .

هيكل شجرة ميركل الممتد (XMSS)


يتجاوز الوصف الكامل للدائرة نطاق هذه المقالة ؛ يمكن العثور على مزيد من التفاصيل هنا . سوف أتطرق فقط إلى المفاهيم والخصائص الأساسية. يتيح لك مخطط XMSS ، مثل شجرة Merkle ، تمديد التوقيعات لمرة واحدة. يؤدي استخدام قناع بت باستخدام ORs (XOR) الحصري للعقد الفرعية قبل ربط التجزئة إلى العقدة الأصلية إلى زيادة مقاومة تصادمات وظائف التجزئة المستخدمة. لذلك ، عند استخدام SHA-256 كدالة تجزئة بالاشتراك مع مخطط موسع ، تسمح لك Winternitz ذات معلمة الأمان (W-OTS +) بزيادة الأمان من 128 إلى 196 بت. وفقًا لـ lenstraالدفاع 196 بت يكفي لاعتباره آمنًا ضد هجوم بهجوم بسيط من القوة الغاشمة حتى عام 2169. مع كل مزايا نظام XMSS ، فإن عيبه الرئيسي هو وقت إنشاء المفتاح الطويل.

حاليا، هناك أخرى شجرة الدوائر التوسع ميركل ( GMSS ، CMSS )، والتي في تركيبة مع خوارزميات التوقيع المتاح يمكن أن تستخدم أيضا في مقاومة blokcheyne للهجمات مع جهاز كمبيوتر الكم.

الجزء 3. تحقيق الأفكار


مشروع Blockchain المستدام الكمومي - QRL




في النصف الثاني من عام 2016 ، أنشأ الدكتور ب. ووترلاند مجموعة لتطوير بلوكشين مستقر للهجمات الكلاسيكية وللهجمات باستخدام جهاز كمبيوتر كمومي. وفقًا لنتائج تطوير الجزء النظري في نهاية العام نفسه ، تم إتاحة المستند الرئيسي لـ blockchain المطور ، "الورقة البيضاء" (الورقة البيضاء) ، للجمهور. الوثيقة متاحة حاليًا بعدة لغات ، بما في ذلك الروسية.

الميزات الرئيسية لـ QRL


1. مخطط التوقيع والأمن
يتم تطبيق مخطط التوقيع استنادًا إلى خوارزمية التوقيع الموسع لـ Winternitz (W-OTS + ، w = 16 ، SHA-256) استنادًا إلى الهياكل المتصلة بـ XMSS. يتيح لك هذا النهج إنشاء عناوين مع إمكانية التوقيع ، وتجنب التأخير الحسابي الطويل الذي لوحظ عند إنشاء تركيبات XMSS عملاقة. يوفر حماية 196 بت مع أمان يمكن التنبؤ به ضد الهجوم عن طريق التعداد البسيط حتى 2169.

2. خوارزمية الإجماع - إثبات العمل
في التكرار الأول للشبكة الرئيسية ، تم الإعلان عن خوارزمية إجماع إثبات العمل.

3. العمولة العائمة
تتطلب أحجام المعاملات الأكبر مقارنة بالكتل الأخرى من سلسلة المعاملات الدفع لكل معاملة. وفقًا لـ Waterland ، ليست هناك حاجة للأسواق ذات العمولة الاصطناعية (على سبيل المثال ، Bitcoin) وتتعارض مع المثل الأعلى لسلسلة blockchain المفتوحة. يجب أن تكون كل معاملة ، إذا كانت مصحوبة بحد أدنى من الدفع ، صالحة مثل أي معاملة أخرى. يجب أن يكون الحد الأدنى لمبلغ الدفع المقبول لعمال المناجم عائمًا ويتم تعيينه بواسطة السوق. على سبيل المثال يجب أن تضع العقد (عمال المناجم) حدًا تنافسيًا أدنى للدفع فيما بينهم. سيتم احترام القيمة الدنيا المطلقة على مستوى البروتوكول. وبالتالي ، سوف يطلب عمال المناجم المعاملات من mempool لإدراجها في الكتلة حسب تقديرهم.

4. حساب مكافأة الكتلة الديناميكية
ستشتمل كل كتلة تم إنشاؤها حديثًا على أول معاملة لقاعدة العملة تحتوي على عنوان التعدين ، والتي سيتم تعريف المكافأة على أنها مبلغ المكافأة لمعدل العملة مع إجمالي مبلغ العمولات للمعاملات داخل الكتلة.

5. الوقت الذي تستغرقه الكتل هو دقيقة واحدة
الوقت بين الكتل في شبكة Bitcoin حوالي 10 دقائق. من خلال التأكيدات الستة المطلوبة ، يؤدي ذلك أيضًا إلى زيادة وقت الانتظار لإتمام المعاملة. تم تحسين مخططات كتلة سلسلة المعاملات الأحدث ، مثل Ethereum ، في هذا الجانب والاستفادة من وقت كتلة أقصر دون فقدان الأمن أو تركيز عمال المناجم بسبب ارتفاع معدل ظهور الكتل اليتيمة / المتقادمة.

بالنسبة إلى QRL ، يبلغ وقت الحظر دقيقة واحدة.

6. حجم كتلة التكيف
لتجنب النزاعات المحتملة ، تم تصميم حل تكيفي جاهز بناءً على اقتراح Bitpay ، والذي يستخدم مضاعفًا لزيادة حجم الكتلة س متوسط ​​الحجم ذ الاخير ض الكتل. لا يسمح استخدام قيمة متوسطة لعمال المناجم بالتلاعب ، بما في ذلك الكتل الفارغة أو الفائضة لتغيير متوسط ​​حجم الكتلة. س و ض ثم سيكون هناك قواعد إجماع صارمة للشبكة التي يجب أن تطيع. وبالتالي ، الحد الأقصى لحجم الكتلة ب يمكن ببساطة حسابه على النحو التالي: ب = س ذ .

7. العملة - الكم
الوحدة الأساسية للعملة كم. ينقسم كل كم إلى أصغر العناصر. فيما يلي أسماء جميع العناصر بترتيب تصاعدي:
البندالقيمة
الشاطئ1
ناكاموتو10 3
بوتين10 6
ميركل10 10
لامبرز10 13
الكم10 16

وبالتالي ، فإن كل معاملة تنطوي على جزء من الكم هي في الواقع عدد كبير جدًا من وحدات Shore. يتم حساب رسوم المعاملات ونشرها في وحدات Shore.

8. الحسابات والعناوين
يتم تخزين أرصدة المستخدم على الحسابات. كل حساب هو عنوان كتلة سلسلة معاملات فريد وقابل لإعادة الاستخدام ، يُشار إليه بخط يبدأ بـ "Q".

يتم إنشاء العنوان عن طريق تنفيذ SHA-256 في جذر Merkle لأعلى شجرة شهادات XMSS. يضاف إلى هذا المجموع الاختباري رباعي البايت ، المكون من البايتات الأربعة الأولى من تجزئة SHA-256 المزدوجة لجذر Merkle ، والحرف "Q".

على سبيل المثال ، في Python pseudo-code ، سيتم وصف هذا على النحو التالي:

Q + sha256(merkle root) + sha256(sha256(merkle root))[: 4] 

عنوان الحساب النموذجي:
Qcea29b1402248d53469e352de662923986f3a94cf0f51522bedd08fb5e64948af479

يحتوي كل حساب على رصيد مقسّم كميًا ، ويمكن تقسيمه حتى وحدة شور واحدة. تستخدم العناوين مع كل معاملة زوجًا جديدًا من مفاتيح التوقيع لمرة واحدة. سوف يزداد عداد المعاملات المسمى nonce مع كل معاملة يتم إرسالها من حسابك. هذا يسمح للمحافظ التي لا تقوم بتخزين السلسلة الكاملة من الكتل بتتبع موقعها في مخطط توقيع hypertree مع الحفاظ على الحالة.

الوضع الحالي للمشروع وخطط المستقبل


بعد إصدار "الكتاب الأبيض" ، تم تجديد المجموعة بالعديد من المطورين الجدد وبدأ العمل في تنفيذ الخطة. ظهرت تقارير مرحلية منتظمة على موقع المشروع. وبحلول أبريل 2017 ، تم إطلاق شبكة اختبار QRL blockchain بالفعل. يتم نشر التعليمات البرمجية للمشروع على Github. تتم مناقشة المشروع بنشاط في Bitcointalk و Reddit.

في مايو 2017 ، تم إجراء ICO في النظام البيئي Ethereum. تم إصدار الرمز المميز ERC20 QRL. في المجموع ، تم إصدار 65 مليون توكن. من بين هؤلاء ، هناك 52 مليون توكن في التداول. على مدار 200 عام ، سيتم إصدار 40 مليون عملة أخرى تدريجيًا. وبالتالي ، سيكون إجمالي حجم الإصدار 105 مليون عملة. عند إطلاق الشبكة الرئيسية ، يمكن استبدال هذه الرموز بعملات QRL بنسبة 1: 1. حاليًا ، تتوفر الرموز المميزة للشراء في بورصات مثل Bittrex و Upbit و Liqui. ونقلت QRL ، وفقا لموقع coinmarketcap.com ، في الأشكال أدناه.





من المقرر إطلاق الشبكة الرئيسية في الفترة من فبراير إلى مارس 2018.

في المستقبل ، من المخطط تغيير خوارزمية الإجماع من تأكيد العمل إلى تأكيد الحصة (إثبات الحصة). سيكون وقت الإقامة الآمن المتوقع للكتل 15-30 ثانية.

الخلاصة


تم إطلاق تقدم التقنيات الكمومية ولا يمكن إيقافه. مع ظهور المزيد والمزيد من آلات الكم ، ستنمو مجموعة المهام التي يقومون بحلها باستمرار. لطالما كان اختراق دفاع التشفير الحالي ، الذي لم يتم تكييفه مع هجمات الكمبيوتر الكمومي ، أحد الموضوعات الرئيسية للعديد من منتديات الأمان .

QRL هي أول تقنية blockchain مصممة لحل هذه المشكلة. في المستقبل ، بالطبع ، سيظهر الآخرون. أي منهم سيكون أنجح - سيخبر الوقت.

شكر وتقدير


المؤلف ممتن لـ kamnik لإعداده جزءًا كبيرًا من المادة ، وخاصة للجزء الفني ، وكذلك SannX للنقد والتصحيحات البناءة.

المراجع


  1. خوارزمية الشاطئ .
  2. المعالجة الأولية على الكمبيوتر الكمومي (IBM) .
  3. عامل الرقم 15 في عوامل بسيطة على جهاز كمبيوتر الكم (MIT) .
  4. تقرير عن التجارب على جهاز كمبيوتر 51 كيلو بت .
  5. تقرير مجموعة الأبحاث الدولية حول استقرار البيتكوين أمام الكمبيوتر الكمومي .
  6. استخدام خوارزمية إنشاء مفتاح ECDSA في blockchain Bitcoin .
  7. حول مرونة Bitcoin في هجمات الكمبيوتر الكمومية .
  8. تأكيد المعاملة على شبكة Bitcoin .
  9. معلومات حول العمولات في شبكة Bitcoin .
  10. عنوان البيتكوين يعيد استخدام الإحصائيات .
  11. خوارزمية Quantum Grover .
  12. توقيع موسع Winternitz .
  13. تطبيق توقيع Vinternitsa لمرة واحدة بناءً على وظيفة التجزئة لـ GOST 34.11-12 .
  14. Geektimes حول Ethereum .
  15. مخطط XMSS .
  16. Lenstra. اختيار أحجام مفاتيح التشفير .
  17. GMSS
  18. CMSS .
  19. دورات أنظمة التشفير .
  20. منتدى الأمن السنوي بعد الكم .


مواد إضافية


  1. هل الكمبيوتر الكمومي خطير على Bitcoin ؟


مشروع QRL


  1. موقع المشروع .
  2. ورقة بيضاء .
  3. عرض
  4. المدونة .
  5. كود مصدر جيثب .
  6. موضوع المناقشة على Bitcointalk .

Source: https://habr.com/ru/post/ar409985/


All Articles