كيف يمكن تنفيذ المعاملات بقيم في أنظمة مبنية على تقنية blockchain دون الكشف عن محتواها؟

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



تضمن تقنية Blockchain أن تحتوي كل عقدة على blockchain الصحيح ، والذي يمكن أيضًا تسميته بتقنية دفتر الأستاذ الموزع.



في الواقع ، فإن blockchain أو block chain هو سجل يتم تحديثه باستمرار يخزن في شكل مفتوح جميع المعلومات حول المعاملات (حركة القيم والعمليات معهم) ويسمح لك بتتبع التاريخ الكامل للأصل ونقل القيم بين المشاركين. جنبًا إلى جنب مع وجود سلسلة الكتل الصحيحة في كل "عقدة" ، يتيح ذلك للمشاركين في النظام التأكد من أن المعلومات الواردة في مثل هذا السجل الموزع ثابتة وشفافة.



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



وماذا عن القطاع المصرفي؟ من وجهة نظر JSC “Rosselkhozbank” ، يمكن أن تكون تقنية دفاتر الأستاذ الموزعة مع تنفيذ بروتوكول الإفصاح الصفري مفيدة في تنظيم التفاعل الإلكتروني بين البنوك.



صورة



يحتوي هذا الحل على مجموعة المزايا التالية:



  • تخزين المعلومات حول الأشياء الثمينة والمعاملات معهم دون الكشف عن محتوى هذه المعلومات (السرية) ؛
  • سرعة عالية للعمليات
  • البساطة النسبية في تنفيذ قابلية تطوير النظام بناءً على تقنية دفتر الأستاذ الموزع ، اعتمادًا على احتياجات المشاركين ؛
  • مرونة عالية في تخزين المعلومات.


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



ميزات استخدام بروتوكول المعرفة الصفرية



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



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



خطوات مستديرة:



  1. ينشئ Prover مفتاحًا خاصًا لمرة واحدة ، بالإضافة إلى مفتاح عام لمرة واحدة ، ثم يتم إرساله إلى Prover ؛
  2. يتلقى المدقق مفتاحًا عامًا لمرة واحدة من Prover ثم يقوم بإنشاء بت عشوائي ، والذي يرسل بعد ذلك إلى Prover ؛
  3. يتلقى المُثبِّت القليل من المعلومات ويُجري حسابات عليها.


يرسل Prover النتيجة الناتجة إلى المدقق للتحقق منها.



في جميع جولات التحقق ، يكون احتمال الإجابة الصحيحة 50٪ ، أي أنه في كل جولة يمكن أن يكون لدى Prover معرفة بالحقيقة مع احتمال 50٪.



لتحقيق الدقة المطلوبة ، يجب زيادة عدد هذه الجولات ، وبالتالي الوصول إلى الاحتمالية اللازمة التي سيتم اعتبار المُثبِت مفوضًا عندها.



القضايا الرئيسية عند استخدام بروتوكولات المعرفة الصفرية هي:



  1. الطول المطلوب للمفتاح العام ؛
  2. الثقة في عدم مشاركة السر بأي طريقة أخرى.


دعونا ننظر في المكون النظري للعديد من البروتوكولات مع عدم وجود معرفة بالأسرار ووضع جدول مقارن لخصائصها.



بروتوكول ZkSNARKs



zkSNARKs لتقف على حجة المعرفة غير التفاعلية الصفرية .



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



لكي يعمل البروتوكول ، يجب أن يفي بالمتطلبات الأساسية لعدم معرفة السر.



على سبيل المثال ، تم إنشاء عقد ذكي. سيتمكن المستخدم من تلقي الدفع إذا اتخذ إجراءات معينة. ماذا لو لم يرغب المستخدم في الكشف عن التفاصيل لأنها سرية وسرية للمنافسين؟



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



zkSNARKs يتكون من ثلاثة خوارزميات: G ، P و V .



المولد (C - البرنامج ، λ - المدخلات ، والتي لا ينبغي الكشف عنها (سرية)):



(pk، vk) = G (λ، C)



المُثبِّت (x هو إدخال عام ، w عبارة سرية يجب إثباتها ، ولكن لا يتم



إخبارها ): π = P (pk، x، w) - إثبات prf



Verifier:



V (vk، x، π) == (∃ w stC (x، w)) - صواب أو خطأ



G هو منشئ المفاتيح الذي يقبل الإدخال λ (الذي لا ينبغي توسيعه تحت أي ظرف من الظروف) والبرنامج C. ثم يتم إنشاء مفتاحين عامين: مفتاح التحقق من الصحة pk (للمدقق) ومفتاح الإثبات vk ( للمدقق). هذه المفاتيح متاحة لأي طرف مهتم.



صهو الشخص الذي سيستخدم 3 عناصر كمدخلات. التحقق من صحة مفتاح pk ، ومدخل عشوائي x متاح للجمهور ، وبيان يحتاج إلى إثبات ولكن لا يتم إخباره بما هو عليه بالفعل. دعنا نسمي هذا العامل "w". تقوم الخوارزمية P بإنشاء إثبات prf مثل: prf = P (pk ، x ، w) .



تقوم خوارزمية المدقق V بإرجاع متغير منطقي. يحتوي المتغير المنطقي على خيارين فقط: يمكن أن يكون TRUE (صواب) أو خطأ (خطأ). لذلك ، يأخذ المدقق المفتاح والمدخل X والإثبات prf كمدخلات ، مثل: V (vk ، x ، prf) . ثم تحدد ما إذا كانت صحيحة أم خطأ.



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



وبالتالي ، يجب أن يكون بدء تشغيل المولد عملية آمنة ومحمية من أي شخص يعرف المعلمة λ أو يسرقها .



بروتوكول ZkSTARKs



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



zkSTARKs على أزواج المفاتيح العامة / الخاصة (مثل ECDSA) ، ولكن تعتمد على التجزئة المقاومة للتصادم للحلول التفاعلية ، ونموذج أوراكل العشوائي (الذي يستخدم عادةً بدلاً من وظائف تجزئة التشفير العامة ، حيث يلزم افتراضات قوية حول العشوائية لاستنتاج أوراكل) للأدلة غير التفاعلية ( zknSTARKs ، n = غير تفاعلي) لذلك يمكن أن تكون zkSTARKs مقاومة لهجمات أجهزة الكمبيوتر الكمومية.



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



  • أنظمة التصويت؛
  • إجراء الحساب والتحقق من نتائجه ، مثل المعاملات السابقة في دفاتر الأستاذ الموزعة ؛
  • التحقق الآمن من المعلومات ، على سبيل المثال ، للتحقق من الهوية أو بيانات الاعتماد.


هناك أربع فئات تتعلق بقابلية التوسع (نتائج من zkSTARKs ).



  1. تعقيد الدوائر الحسابية (في zkSNARK و أنظمة zkSTARK، و رمز لخلق ZK وبرامج مكتوبة في الطريقة بحيث أنها يمكن تقسيمها إلى دوائر ثم تحسب - في الواقع، ومدى تعقيد الدائرة هو أعلى من كفاءتها الحسابية.
  2. ( zkSNARK , zkSTARKs, ).
  3. (zkSTARKs zkSNARK 10 , ).
  4. ( zkSTARKs zkSNARK, , zkSTARKs zkSNARK, ).


تم التخطيط لاستخدام بروتوكول zkSTARKs في Ethereum في الحوسبة القابلة للتحقق والمعاملات التي يحتمل أن تكون آمنة / مجهولة الهوية ، وكذلك في Dapps حيث تكون الخصوصية مهمة ، مثل متصفح الويب Brave باستخدام رمز Basic Attention.



هناك شركة جديدة تسمى StarkWare Industries تهدف إلى حل بعض المشاكل مع ZK-STARK (أحدها حجم الإثبات) وأيضًا تسويق التكنولوجيا التي يمكن استخدامها في العديد من الصناعات ، بما في ذلك تطبيقات دفتر الأستاذ الموزع.



تكنولوجيا الرصاص



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



تستند Bulletproofs على عمل جوناثان بوتل وآخرين في عام 2016 على تحسين استخدام اللوغاريتمات المنفصلة ، والتي تكمن وراء براهين المعرفة الصفرية. ويمثل شكلاً أكثر فعالية من هذا الدليل بالذات.



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



الدليل يتم تمثيل المضادات المضادة للرصاص بطريقة أكثر عمومية بكثير من دليل النطاق ويمكن استخدامها للتعبير التعسفي عن المعرفة الصفرية. التكنولوجيا قابلة للمقارنة من حيث الكفاءة مع zkSNARKs أو zkSTARKs ، ولكن لديها دعم مدمج للمفاتيح العامة ذات المنحنى البيضاوي والتزامات Pedersen(لذلك ، كقاعدة عامة ، ليست هناك حاجة لإجراء حسابات المنحنى الإهليلجي داخل البرنامج الذي تم اختباره). أيضًا ، على عكس zkSNARKs ، تتمتع Bulletproofs بمستوى 128 بت كامل من قوة التشفير وفقًا للافتراضات القياسية دون استخدام "تثبيت موثوق". وعلى عكس zkSTARKs ، فهي سريعة بما يكفي لإثبات والتحقق من صحة المشكلات على نطاق واسع في أجهزة الحوسبة التقليدية.



بالمقارنة مع تقنية ZKP ، التي تتطلب المزيد من قوة الحوسبة ، فإن تقنية Bulletproofs أسرع بنحو 10 مرات ، لأنها تسمح بالمعاملات دون تبادل بيانات الدفع.



النقاط الرئيسية لهذه التكنولوجيا (البروتوكول):



  • تستند الرصاص إلى المبادئ العامة لإثبات المعرفة الصفرية (كما في zkSNARKs) ؛
  • يمكن استخدام التكنولوجيا لتوسيع البروتوكولات المتعددة الأطراف مثل المدفوعات المشروطة متعددة التوقيع أو المدفوعات المشروطة الصفرية ؛
  • توفر Bulletproofs إصدارًا أكثر كفاءة لإثبات مجموعة من المعاملات السرية (عند استخدام التحقق من الدُفعات ، تكون سرعة التحقق أسرع بأكثر من 23 مرة) ؛
  • يمكن دمج براهين النطاق هذه داخل معاملة ، وسينمو حجمها لوغاريتميًا ؛
  • مع التجميع المناسب مثل الأحكام ، يوفر التحقق من الدُفعات أكثر من 120 ضعفًا من سرعة البراهين السابقة.


جدول مقارن لخصائص البروتوكول



لنقم بتجميع جدول مقارن بخصائص البروتوكولات المدروسة بدون معرفة سرية



صورة



الاستنتاجات



  1. تتمتع zk-SNARKs و zk -STARKs بالعديد من مجالات التطبيق ، بما في ذلك تنفيذ التوقيعات الإلكترونية البسيطة ، فضلاً عن إنشاء أنظمة إدارة المستندات الإلكترونية ، مع افتراض سرية المعلومات.
  2. بشكل عام ، تعد بروتوكولات المعرفة الصفرية واعدة جدًا وتصبح أكثر عملية للاستخدام في أنظمة تكنولوجيا دفتر الأستاذ الموزع. في الوقت الحالي ، يبرز كل تطبيق بطريقته الخاصة ، ومع ذلك ، فجميعها تتطلب موارد ، وهناك حاجة إلى حلول فعالة مع نطاق معرفة صفري.
  3. , , , , ( , , ).


1. 34.13-2018 (). . // docs.cntd.ru URL: docs.cntd.ru/document/1200161709 ( : 31.05.2020);

2. Recommendation for Key Management Part 1: General // nvlpubs.nist.gov URL: nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-57pt1r5.pdf ( : 11.05.2020);

3. / 12207-2010 // docs.cntd.ru/ URL: docs.cntd.ru/document/gost-r-iso-mek-12207-2010 ( : 11.05.2020);

4. Recommendation for Cryptographic Key Generation // nvlpubs.nist.gov/ URL: nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-133r1.pdf ( : 11.05.2020);

5. Recommendation for Key Management Part 2 – Best Practices for Key Management Organizations // nvlpubs.nist.gov URL: nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-57pt2r1.pdf ( : 11.05.2020);

6. Security Requirements for Cryptographic Modules // nvlpubs.nist.gov URL: nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.140-2.pdf ( : 11.05.2020);

7. Payment Card Industry (PCI) Data Security Standard // pcisecuritystandards.org URL: www.pcisecuritystandards.org/documents/PCI_DSS_v3-2-1.pdf?agreement=true&time=1589494129851 ( : 11.05.2020);

8. // intuit.ru URL: www.intuit.ru/studies/courses/553/409/info ( : 11.05.2020).

9. // cryptowiki.net/ URL: cryptowiki.net/index.php?title=____ ( : 11.05.2020);

10. Kerberos_(protocol) // en.wikipedia.org URL: en.wikipedia.org/wiki/Kerberos_(protocol) ( : 11.05.2020)

11. RFC5280 — Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile;

12. Recommendation for Key Management Part 3: Application-Specific Key Management Guidance // nvlpubs.nist.gov URL: nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-57Pt3r1.pdf ( : 11.05.2020);

13. Blockchain reference architecture // ibm.com URL: www.ibm.com/cloud/architecture/files/blockchain-architecture-diagram.pdf ( : 24.05.2020).

14. Key management // cloud.ibm.com URL: cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-security ( : 24.05.2020);

15. , . . / . . . — : // . — 2016. — № 1 (105). — . 141-143. — URL: moluch.ru/archive/105/24663 ( : 31.05.2020).

16. CKMS – // www.cryptomathic.com URL: www.cryptomathic.com/hubfs/Documents/Product_Sheets/Cryptomathic_CKMS_-_Product_Sheet.pdf ( : 31.05.2020);

17. HSM // www.croc.ru URL: www.croc.ru/promo/insafety/design/hardware-security-module ( : 31.05.2020);

18. HSM // cbr.ru URL: cbr.ru/Content/Document/File/104755/FT_35.pdf ( : 30.05.2020);

19. AWS Key Management Service // aws.amazon.com URL: aws.amazon.com/ru/kms ( : 30.05.2020);

20. . . // zakonbase.ru URL: zakonbase.ru/content/part/1250444 ( : 31.05.2020);

21. Diffie Hellman Protocol // mathworld.wolfram.com URL: mathworld.wolfram.com/Diffie-HellmanProtocol.html ( : 31.05.2020);

22. STS Protocol // archive.dimacs.rutgers.edu URL: archive.dimacs.rutgers.edu/Workshops/Security/program2/boyd/node13.html ( : 31.05.2020);

23. The Needham-Schroeder Protocol // www.cs.utexas.edu URL: www.cs.utexas.edu/~byoung/cs361/lecture60.pdf ( : 31.05.2020);

24. Otway Rees protocol // www.lsv.fr URL: www.lsv.fr/Software/spore/otwayRees.pdf ( : 31.05.2020);

25. Payment Card Industry (PCI) PTS HSM Security Requirements // www.pcisecuritystandards.org URL: www.pcisecuritystandards.org/documents/PTS_HSM_Technical_FAQs_v3_May_2018.pdf ( : 31.05.2020);

26. zk-SNARK? // z.cash/ru URL: z.cash/ru/technology/zksnarks ( : 31.05.2020);

27. zk-SNARKs zk-STARKs? // academy.binance.com/ru URL: academy.binance.com/ru/blockchain/zk-snarks-and-zk-starks-explained ( : 31.05.2020);

28. Bulletproofs: Short Proofs for Confidential Transactions and More // web.stanford.edu URL: web.stanford.edu/~buenz/pubs/bulletproofs.pdf ( : 31.05.2020);

29. // beincrypto.ru URL: beincrypto.ru/learn/chto-takoe-tehnologiya-raspredelennogo-reestra ( : 31.05.2020);

30. 12 - // dou.ua URL: dou.ua/lenta/articles/12-konsensus-protocols ( : 31.05.2020);

31. ISO/IEC 11770-1-2017. 1 // www.egfntd.kz URL: www.egfntd.kz/rus/tv/391980.html?sw_gr=-1&sw_str=&sw_sec=24 ( : 31.05.2020);

32. Consensus algorithm // whatis.techtarget.com URL: clck.ru/Nvade ( : 31.05.2020);

33. Introduction to Zero Knowledge Proof: The protocol of next generation Blockchain // medium.com URL: medium.com/@kotsbtechcdac/introduction-to-zero-knowledge-proof-the-protocol-of-next-generation-blockchain-305b2fc7f8e5 ( : 31.05.2020).




All Articles