مع وجود أكثر من 13 مليون مستخدم، يعرف Gate.io تمامًا أهمية أمان الأموال وقد كان رائدًا في الصناعة في اتخاذ تدابير فعالة. كانت Gate.io واحدة من أوائل البورصات التي نفذت إثبات الاحتياطيات (PoR)، حيث كشفت عن PoR الخاص بها في وقت مبكر من مايو 2020. فقط بعد اختلاس FTX لأصول المستخدمين في عام 2022، مما أدى إلى أزمة سيولة وإفلاس لاحق، أصبح إثبات الاحتياطيات معترفًا به على نطاق واسع كحل لضمان أمن أموال المستخدمين وتعزيز موثوقية المنصة.
بعد حادثة FTX، أصدرت Gate.io على الفور إثباتها الثاني للاحتياطيات. وبعد فترة وجيزة من إصدارها، نشر مؤسس إيثريوم، فيتاليك بوتيرين، مقالًا بعنوان «الحصول على بورصة CEX آمنة: إثبات الملاءة المالية وما بعدها»، حيث ناقش كيف يمكن للبورصات إثبات ملاءتها بشكل أفضل. تقترح المقالة دمج التقنيات المتقدمة مثل zk-SNARK بالإضافة إلى الإثبات التقليدي للاحتياطيات لضمان المزيد من PoR العامة والشفافية والأصالة. تخطط Gate.io لاستخدام التكنولوجيا الجديدة المذكورة في المقالة لترقية إثبات الاحتياطيات، مما يوفر للمستخدمين خصوصية محسّنة وأمانًا حقيقيًا للأصول.
يشير إثبات الاحتياطيات (PoR) إلى مراجعة الأرصدة التي تحتفظ بها بورصات العملات المشفرة أو المؤسسات المالية الأخرى، والتحقق مما إذا كان مبلغ الأصول المسجل من قبل الشركة يتوافق مع الأصول الفعلية المحتفظ بها. إذا تجاوز مبلغ الأصول في الاحتياطيات مبلغ الأصول المودعة من قبل المستخدمين، أي أن نسبة الضمان أكبر من 100٪، فهذا يثبت أن أموال المستخدمين مدعومة بأصول حقيقية على أساس 1:1.
قبل ظهور PoR، كانت هناك أيضًا مقترحات لنقل الأصول وإثبات الالتزامات لإثبات أن البورصات لديها أموال كافية.
في عام 2011، أثبتت MTGox، التي كانت آنذاك أكبر بورصة بيتكوين، أنها احتفظت بأموال معينة من خلال تنفيذ صفقة نقلت 424,242 BTC إلى عنوان تم الإعلان عنه مسبقًا. يمكن لهذه الطريقة التحقق من صحة الأصول فقط ولم تتمكن من إثبات التزامات البورصة.
التزامات البورصة هي الأصول المودعة من قبل مستخدميها. إن أبسط طريقة لإثبات أصول المستخدمين هي نشر قائمة تحتوي على حسابات المستخدمين والأرصدة. يمكن لكل مستخدم الوصول إلى هذه القائمة والتحقق مما إذا كان الرصيد مقابل حسابه صحيحًا. ومع ذلك، فإن هذه الطريقة لها عيوب واضحة:
ليس هناك ما يضمن أن القائمة المقدمة من البورصة أصلية.
في هذه العملية، يتم الكشف عن معلومات حساب المستخدم والرصيد.
يمكن أن تستخدم هذه الطريقة أيضًا بنية بيانات مثل Merkle لتقليل تعرض معلومات المستخدم، مما يؤدي إلى المفهوم الحالي لـ PoR.
كما هو موضح، فإن شجرة Merkle هي بنية بيانات تشبه الشجرة. تسمى البيانات الموجودة في الطبقة السفلية «العقد الورقية»، ويمكن تسمية الوسط بـ «العقد الوسيطة». يمكن أن تخضع عقدتان ورقيتان للتجزئة (معالجة أي قيمة إدخال للحصول على قيمة محددة) لإنتاج قيمة العقدة الوسيطة. يتم بعد ذلك تجزئة عقدتين وسيطتين للحصول على قيمة إخراج فريدة لعقدة المستوى التالي. بعد طبقات متتالية من المعالجة، يتم الحصول على العقدة الجذرية (الجذر) لشجرة Merkle في النهاية. هذه القيمة فريدة، وأي تغيير في العقدة الفرعية سيؤدي إلى تغيير في العقدة الجذرية.
إثبات احتياطي في أشجار ميركل (المصدر: Vitalik)
في هذه الطريقة، يتم تحديد إجمالي الأصول التي تحتفظ بها البورصة نيابة عن مستخدميها من خلال تجميع القيم طبقة تلو الأخرى. ومع ذلك، حتى بعد إدخال كل من حساب المستخدم وبيانات الرصيد مباشرة في العقد الورقية، لا يزال هناك خطر بسيط يتمثل في تسرب المعلومات. بأخذ الرسم التوضيحي كمثال، يمكن للمستخدم المميز باللون الأخضر (تشارلي) الوصول إلى معلومات جزئية لديفيد، بالإضافة إلى أرصدة أليس وبوب على الجانب الأيسر. وبالتالي، كانت هناك تحسينات فنية في العقد الورقية:
كما هو موضح في الرسم التوضيحي، يتم تجزئة معرف حساب المستخدم مع قيمة محددة.
يتم توزيع أرصدة المستخدمين. على سبيل المثال، يمكن تقسيم 10ETH الخاص بـ Charlie إلى مقدمين من 5ETH ووضعه في عقدتين أوراقيتين مختلفتين.
يتم تجزئة معرف المستخدم والرصيد بشكل منفصل، ثم يتم تجزئة القيم الناتجة مرة أخرى. يستخدم إثبات صندوق الاحتياطي الخاص بـ Gate.io هذه الطريقة.
على الرغم من هذه التطورات على مستوى العقدة الطرفية، لا تزال هناك مشكلة واحدة دون حل: الأرصدة السلبية. من الناحية العملية، بعد إيداع المستخدمين للعملات المشفرة، فإنهم يتفاعلون مع منتجات البورصة مثل التداول بالرافعة المالية والعقود الدائمة. في حالة حدوث خسائر، يجب أن يكون الحد الأقصى للخسارة 100٪ من رأس المال، مما يعني أن رصيد حساب المستخدم يجب أن يكون دائمًا أكبر من أو يساوي الصفر.
عادةً ما يتم بدء الأرصدة السلبية من خلال التبادلات الضارة. على سبيل المثال، إذا قامت إحدى البورصات باختلاس 500 ETH، وفقًا للحسابات القياسية، فإن الأصول التي تحتفظ بها البورصة فعليًا يمكن أن تكون أقل من الضمان المطلوب، وربما أقل من 100٪، مما يكشف عن الاختلاس. ومع ذلك، قد تنشئ البورصة حسابًا، مثل الحساب المسمى Henry برصيد -500ETH في الرسم التوضيحي المحدد، لجعل قيمة الأصول الإجمالية لشجرة Merkle مساوية أو أقل من الأصول التي تحتفظ بها البورصة بعد الاختلاس، وبالتالي اختلاق وهم بمعدل ضمان أكبر من 100٪.
تأثير حسابات القيمة السلبية على الرسم التوضيحي لأشجار ميركل (المصدر: Vitalik)
لمعالجة هذه المشكلة، بدأت بورصات مثل Gate.io في استخدام تقنية ZK-SNARK لإثبات المعرفة الصفرية لتعزيز البراهين الاحتياطية الخاصة بها.
إثبات عدم المعرفة هو أسلوب يمكن من خلاله لطرف إثبات شيء لآخر دون الكشف عن معلومات سرية. لتوضيح هذا المفهوم بمثال بسيط: إذا كان المستخدم «أ» يعرف رقم هاتف المستخدم «ب» واستفسر المستخدم «ج» عما إذا كان المستخدم «أ» يعرفه، فيمكن للمستخدم «أ» الاتصال برقم «ب» على الفور للتحقق من أنه يمتلكه بالفعل، دون الكشف عن الرقم الفعلي للمستخدم «ج». هذه العملية، التي تحافظ على خصوصية المستخدم وتؤكد المعرفة، تجسد آلية «إثبات المعرفة الصفرية».
في عالم العملات المشفرة، تسمح أدلة المعرفة الصفرية للمستخدمين بإثبات ملكية المفتاح الخاص دون الكشف عن المفتاح نفسه أو أي توقيع إلكتروني. تأمل منصات تداول العملات المشفرة في التحقق من حالة الأموال الاحتياطية دون الكشف عن معلومات المستخدم الحساسة مثل أرصدة الحسابات الفردية.
يرمز zk-SNARK إلى تقنية موجزة وغير تفاعلية لإثبات عدم المعرفة. وهي تخضع لـ «إعداد أولي موثوق به» لإنتاج سلسلة مرجعية مشتركة (CRS) يمكن لجميع مقدمي الخدمة الوصول إليها مباشرة. هذا مشابه لنظام درجات الاختبار حيث يقوم zk-SNARK بتحميل الإجابات الصحيحة مباشرةً. يمكن للممتحنين بعد ذلك التحقق من إجاباتهم (عن طريق إرسال حل السؤال إلى نظام الواجهة الخلفية، والذي يوفر على الفور النتيجة الصحيحة أو غير الصحيحة)، مما يجعل العملية عالية الكفاءة.
باستخدام zk-SNARK، يمكن للمستخدمين أن يشهدوا على معرفة القيمة الأصلية التي تم تجزئتها دون الكشف عن المحتوى الفعلي لتلك القيمة. بدون الكشف عن مبالغ أو قيم أو عناوين محددة، يمكن للمستخدمين أيضًا التحقق من صحة المعاملة. يتم استخدامه بشكل شائع في المعاملات الخاصة. في تصميم البراهين الاحتياطية، يمكن لـ zk-SNARK تحديد القيود مسبقًا، وإزالة الحسابات غير الصفرية، وضمان خصوصية المستخدم.
يدمج Gate.io تقنية ZK-SNARK مع أشجار Merkle لإنشاء أدلة احتياطية أكثر شفافية ومحمية للخصوصية ومقاومة للتلاعب.
عملية التنفيذ
ترخيص المحفظة
الباردة تقوم جميع المحافظ الباردة والساخنة بتحويل مبلغ عشوائي محدد إلى عنوان تحدده شركة التدقيق للتحقق من الملكية. تقوم شركة التدقيق بعد ذلك بتلخيص الأرصدة من هذه العناوين لتحديد المبلغ الإجمالي الذي تسيطر عليه البورصة (بما في ذلك أموال المستخدمين والأموال الخاصة).
لقطة رصيد المستخدم
في لحظة زمنية محددة، يتم أخذ لقطة من أرصدة المستخدمين على المنصة. يتم حساب أسهم الحساب الفعلي باستخدام بيانات مثل الطلبات المعلقة والمبالغ المقترضة والفوائد المستحقة والأرباح/الخسائر غير المحققة.
تصدير الأرصدة
يتم توفير معرف المستخدم المشفر ورصيد كل مستخدم إلى شركة التدقيق لغرض حساب أصول المستخدم الإجمالية ونشر رقم Merkle.
المعالجة المجمعة لأصول المستخدم
تم تأكيد صافي أصول البورصة على أنها مجموع صافي أصول كل مستخدم. بعد ذلك، استنادًا إلى صافي أصول المستخدمين، يتم إنشاء شجرة Merkle.
(السبب الرئيسي للمعالجة المجمعة هو أن Gate.io لديها 13 مليون مستخدم. ستؤدي معالجة جميع بيانات المستخدم في وقت واحد إلى فرض متطلبات شديدة على الأجهزة والبرامج. تعد المعالجة المجمعة أكثر وقتًا وفعالية من حيث التكلفة دون المساس بالأمان أو خصوصية البيانات.)
تنفيذ قيود الدائرة
① قبل إدراج الأصول الصافية للمستخدم في شجرة Merkle، تكون العقدة المقابلة لمعرف هذا المستخدم فارغة.
② استنادًا إلى قائمة أصول المستخدم وسعر كل أصل، قم بحساب إجمالي الأصول/الخصوم للمستخدم. يجب أن يتجاوز إجمالي الأصول دائمًا إجمالي الالتزامات.
③ أضف أصول/التزامات المستخدم إلى أصول/التزامات البورصة.
④ باستخدام معرف المستخدم وإجمالي الأصول/الخصوم وقائمة الأصول، قم بحساب تجزئة حالة المستخدم. أدخل حالة المستخدم في شجرة Merkle للحصول على Merkle Root جديد.
⑤ قبل إنشاء عملية لمستخدم واحد، يجب أن تتطابق قيمة التجزئة الجذرية للشجرة مع قيمة التجزئة لعقدة الجذر بعد إنشاء عملية للمستخدم التالي.
(يمنع Instriage ① بيانات العقدة غير الصادقة، ② يمنع الحسابات ذات القيم السالبة، ويضمن ⑤ بقاء بيانات المستخدم دون تغيير قبل العمليات وبعدها.)
إنشاء إثبات احتياطي
باستخدام دائرة ZK-SNARK، حدد عدد أصول المستخدم ثم أصدر تقرير إثبات الاحتياطي.
للحصول على شرح أكثر تفصيلاً لعملية حساب الاحتياطي وتنفيذ التعليمات البرمجية، انقر هنا.
الأداء
على جهاز يحتوي على 32 نواة وذاكرة وصول عشوائي (RAM) بسعة 128 جيجابايت، يستغرق الأمر 15 يومًا لحساب أدلة الأصول لـ 10 ملايين مستخدم. يمكن موازنة حسابات إثبات الاحتياطي؛ وبالتالي، مع 10 آلات، يستغرق الأمر 1.5 يومًا فقط.
يعد إدخال zk-SNARks ترقية مهمة لـ Gate.io البراهين الاحتياطية وخطوة أساسية في حماية أصول المستخدم. تعمل هذه الحماية الفائقة للسلامة والخصوصية على تعزيز ثقة المستخدم ووضع معيار جديد لصناعة العملات المشفرة. كشركة رائدة في الصناعة، قامت Gate.io الآن بفتح الكود الخاص بها، على أمل تعزيز تطورات صناعية أكثر شفافية وأمانًا. في المستقبل، ستواصل Gate.io روح الابتكار واستكشاف وريادة مستقبل تشفير أكثر أمانًا وشمولية ومحميًا بالخصوصية جنبًا إلى جنب مع مستخدميها.
المراجع
مع وجود أكثر من 13 مليون مستخدم، يعرف Gate.io تمامًا أهمية أمان الأموال وقد كان رائدًا في الصناعة في اتخاذ تدابير فعالة. كانت Gate.io واحدة من أوائل البورصات التي نفذت إثبات الاحتياطيات (PoR)، حيث كشفت عن PoR الخاص بها في وقت مبكر من مايو 2020. فقط بعد اختلاس FTX لأصول المستخدمين في عام 2022، مما أدى إلى أزمة سيولة وإفلاس لاحق، أصبح إثبات الاحتياطيات معترفًا به على نطاق واسع كحل لضمان أمن أموال المستخدمين وتعزيز موثوقية المنصة.
بعد حادثة FTX، أصدرت Gate.io على الفور إثباتها الثاني للاحتياطيات. وبعد فترة وجيزة من إصدارها، نشر مؤسس إيثريوم، فيتاليك بوتيرين، مقالًا بعنوان «الحصول على بورصة CEX آمنة: إثبات الملاءة المالية وما بعدها»، حيث ناقش كيف يمكن للبورصات إثبات ملاءتها بشكل أفضل. تقترح المقالة دمج التقنيات المتقدمة مثل zk-SNARK بالإضافة إلى الإثبات التقليدي للاحتياطيات لضمان المزيد من PoR العامة والشفافية والأصالة. تخطط Gate.io لاستخدام التكنولوجيا الجديدة المذكورة في المقالة لترقية إثبات الاحتياطيات، مما يوفر للمستخدمين خصوصية محسّنة وأمانًا حقيقيًا للأصول.
يشير إثبات الاحتياطيات (PoR) إلى مراجعة الأرصدة التي تحتفظ بها بورصات العملات المشفرة أو المؤسسات المالية الأخرى، والتحقق مما إذا كان مبلغ الأصول المسجل من قبل الشركة يتوافق مع الأصول الفعلية المحتفظ بها. إذا تجاوز مبلغ الأصول في الاحتياطيات مبلغ الأصول المودعة من قبل المستخدمين، أي أن نسبة الضمان أكبر من 100٪، فهذا يثبت أن أموال المستخدمين مدعومة بأصول حقيقية على أساس 1:1.
قبل ظهور PoR، كانت هناك أيضًا مقترحات لنقل الأصول وإثبات الالتزامات لإثبات أن البورصات لديها أموال كافية.
في عام 2011، أثبتت MTGox، التي كانت آنذاك أكبر بورصة بيتكوين، أنها احتفظت بأموال معينة من خلال تنفيذ صفقة نقلت 424,242 BTC إلى عنوان تم الإعلان عنه مسبقًا. يمكن لهذه الطريقة التحقق من صحة الأصول فقط ولم تتمكن من إثبات التزامات البورصة.
التزامات البورصة هي الأصول المودعة من قبل مستخدميها. إن أبسط طريقة لإثبات أصول المستخدمين هي نشر قائمة تحتوي على حسابات المستخدمين والأرصدة. يمكن لكل مستخدم الوصول إلى هذه القائمة والتحقق مما إذا كان الرصيد مقابل حسابه صحيحًا. ومع ذلك، فإن هذه الطريقة لها عيوب واضحة:
ليس هناك ما يضمن أن القائمة المقدمة من البورصة أصلية.
في هذه العملية، يتم الكشف عن معلومات حساب المستخدم والرصيد.
يمكن أن تستخدم هذه الطريقة أيضًا بنية بيانات مثل Merkle لتقليل تعرض معلومات المستخدم، مما يؤدي إلى المفهوم الحالي لـ PoR.
كما هو موضح، فإن شجرة Merkle هي بنية بيانات تشبه الشجرة. تسمى البيانات الموجودة في الطبقة السفلية «العقد الورقية»، ويمكن تسمية الوسط بـ «العقد الوسيطة». يمكن أن تخضع عقدتان ورقيتان للتجزئة (معالجة أي قيمة إدخال للحصول على قيمة محددة) لإنتاج قيمة العقدة الوسيطة. يتم بعد ذلك تجزئة عقدتين وسيطتين للحصول على قيمة إخراج فريدة لعقدة المستوى التالي. بعد طبقات متتالية من المعالجة، يتم الحصول على العقدة الجذرية (الجذر) لشجرة Merkle في النهاية. هذه القيمة فريدة، وأي تغيير في العقدة الفرعية سيؤدي إلى تغيير في العقدة الجذرية.
إثبات احتياطي في أشجار ميركل (المصدر: Vitalik)
في هذه الطريقة، يتم تحديد إجمالي الأصول التي تحتفظ بها البورصة نيابة عن مستخدميها من خلال تجميع القيم طبقة تلو الأخرى. ومع ذلك، حتى بعد إدخال كل من حساب المستخدم وبيانات الرصيد مباشرة في العقد الورقية، لا يزال هناك خطر بسيط يتمثل في تسرب المعلومات. بأخذ الرسم التوضيحي كمثال، يمكن للمستخدم المميز باللون الأخضر (تشارلي) الوصول إلى معلومات جزئية لديفيد، بالإضافة إلى أرصدة أليس وبوب على الجانب الأيسر. وبالتالي، كانت هناك تحسينات فنية في العقد الورقية:
كما هو موضح في الرسم التوضيحي، يتم تجزئة معرف حساب المستخدم مع قيمة محددة.
يتم توزيع أرصدة المستخدمين. على سبيل المثال، يمكن تقسيم 10ETH الخاص بـ Charlie إلى مقدمين من 5ETH ووضعه في عقدتين أوراقيتين مختلفتين.
يتم تجزئة معرف المستخدم والرصيد بشكل منفصل، ثم يتم تجزئة القيم الناتجة مرة أخرى. يستخدم إثبات صندوق الاحتياطي الخاص بـ Gate.io هذه الطريقة.
على الرغم من هذه التطورات على مستوى العقدة الطرفية، لا تزال هناك مشكلة واحدة دون حل: الأرصدة السلبية. من الناحية العملية، بعد إيداع المستخدمين للعملات المشفرة، فإنهم يتفاعلون مع منتجات البورصة مثل التداول بالرافعة المالية والعقود الدائمة. في حالة حدوث خسائر، يجب أن يكون الحد الأقصى للخسارة 100٪ من رأس المال، مما يعني أن رصيد حساب المستخدم يجب أن يكون دائمًا أكبر من أو يساوي الصفر.
عادةً ما يتم بدء الأرصدة السلبية من خلال التبادلات الضارة. على سبيل المثال، إذا قامت إحدى البورصات باختلاس 500 ETH، وفقًا للحسابات القياسية، فإن الأصول التي تحتفظ بها البورصة فعليًا يمكن أن تكون أقل من الضمان المطلوب، وربما أقل من 100٪، مما يكشف عن الاختلاس. ومع ذلك، قد تنشئ البورصة حسابًا، مثل الحساب المسمى Henry برصيد -500ETH في الرسم التوضيحي المحدد، لجعل قيمة الأصول الإجمالية لشجرة Merkle مساوية أو أقل من الأصول التي تحتفظ بها البورصة بعد الاختلاس، وبالتالي اختلاق وهم بمعدل ضمان أكبر من 100٪.
تأثير حسابات القيمة السلبية على الرسم التوضيحي لأشجار ميركل (المصدر: Vitalik)
لمعالجة هذه المشكلة، بدأت بورصات مثل Gate.io في استخدام تقنية ZK-SNARK لإثبات المعرفة الصفرية لتعزيز البراهين الاحتياطية الخاصة بها.
إثبات عدم المعرفة هو أسلوب يمكن من خلاله لطرف إثبات شيء لآخر دون الكشف عن معلومات سرية. لتوضيح هذا المفهوم بمثال بسيط: إذا كان المستخدم «أ» يعرف رقم هاتف المستخدم «ب» واستفسر المستخدم «ج» عما إذا كان المستخدم «أ» يعرفه، فيمكن للمستخدم «أ» الاتصال برقم «ب» على الفور للتحقق من أنه يمتلكه بالفعل، دون الكشف عن الرقم الفعلي للمستخدم «ج». هذه العملية، التي تحافظ على خصوصية المستخدم وتؤكد المعرفة، تجسد آلية «إثبات المعرفة الصفرية».
في عالم العملات المشفرة، تسمح أدلة المعرفة الصفرية للمستخدمين بإثبات ملكية المفتاح الخاص دون الكشف عن المفتاح نفسه أو أي توقيع إلكتروني. تأمل منصات تداول العملات المشفرة في التحقق من حالة الأموال الاحتياطية دون الكشف عن معلومات المستخدم الحساسة مثل أرصدة الحسابات الفردية.
يرمز zk-SNARK إلى تقنية موجزة وغير تفاعلية لإثبات عدم المعرفة. وهي تخضع لـ «إعداد أولي موثوق به» لإنتاج سلسلة مرجعية مشتركة (CRS) يمكن لجميع مقدمي الخدمة الوصول إليها مباشرة. هذا مشابه لنظام درجات الاختبار حيث يقوم zk-SNARK بتحميل الإجابات الصحيحة مباشرةً. يمكن للممتحنين بعد ذلك التحقق من إجاباتهم (عن طريق إرسال حل السؤال إلى نظام الواجهة الخلفية، والذي يوفر على الفور النتيجة الصحيحة أو غير الصحيحة)، مما يجعل العملية عالية الكفاءة.
باستخدام zk-SNARK، يمكن للمستخدمين أن يشهدوا على معرفة القيمة الأصلية التي تم تجزئتها دون الكشف عن المحتوى الفعلي لتلك القيمة. بدون الكشف عن مبالغ أو قيم أو عناوين محددة، يمكن للمستخدمين أيضًا التحقق من صحة المعاملة. يتم استخدامه بشكل شائع في المعاملات الخاصة. في تصميم البراهين الاحتياطية، يمكن لـ zk-SNARK تحديد القيود مسبقًا، وإزالة الحسابات غير الصفرية، وضمان خصوصية المستخدم.
يدمج Gate.io تقنية ZK-SNARK مع أشجار Merkle لإنشاء أدلة احتياطية أكثر شفافية ومحمية للخصوصية ومقاومة للتلاعب.
عملية التنفيذ
ترخيص المحفظة
الباردة تقوم جميع المحافظ الباردة والساخنة بتحويل مبلغ عشوائي محدد إلى عنوان تحدده شركة التدقيق للتحقق من الملكية. تقوم شركة التدقيق بعد ذلك بتلخيص الأرصدة من هذه العناوين لتحديد المبلغ الإجمالي الذي تسيطر عليه البورصة (بما في ذلك أموال المستخدمين والأموال الخاصة).
لقطة رصيد المستخدم
في لحظة زمنية محددة، يتم أخذ لقطة من أرصدة المستخدمين على المنصة. يتم حساب أسهم الحساب الفعلي باستخدام بيانات مثل الطلبات المعلقة والمبالغ المقترضة والفوائد المستحقة والأرباح/الخسائر غير المحققة.
تصدير الأرصدة
يتم توفير معرف المستخدم المشفر ورصيد كل مستخدم إلى شركة التدقيق لغرض حساب أصول المستخدم الإجمالية ونشر رقم Merkle.
المعالجة المجمعة لأصول المستخدم
تم تأكيد صافي أصول البورصة على أنها مجموع صافي أصول كل مستخدم. بعد ذلك، استنادًا إلى صافي أصول المستخدمين، يتم إنشاء شجرة Merkle.
(السبب الرئيسي للمعالجة المجمعة هو أن Gate.io لديها 13 مليون مستخدم. ستؤدي معالجة جميع بيانات المستخدم في وقت واحد إلى فرض متطلبات شديدة على الأجهزة والبرامج. تعد المعالجة المجمعة أكثر وقتًا وفعالية من حيث التكلفة دون المساس بالأمان أو خصوصية البيانات.)
تنفيذ قيود الدائرة
① قبل إدراج الأصول الصافية للمستخدم في شجرة Merkle، تكون العقدة المقابلة لمعرف هذا المستخدم فارغة.
② استنادًا إلى قائمة أصول المستخدم وسعر كل أصل، قم بحساب إجمالي الأصول/الخصوم للمستخدم. يجب أن يتجاوز إجمالي الأصول دائمًا إجمالي الالتزامات.
③ أضف أصول/التزامات المستخدم إلى أصول/التزامات البورصة.
④ باستخدام معرف المستخدم وإجمالي الأصول/الخصوم وقائمة الأصول، قم بحساب تجزئة حالة المستخدم. أدخل حالة المستخدم في شجرة Merkle للحصول على Merkle Root جديد.
⑤ قبل إنشاء عملية لمستخدم واحد، يجب أن تتطابق قيمة التجزئة الجذرية للشجرة مع قيمة التجزئة لعقدة الجذر بعد إنشاء عملية للمستخدم التالي.
(يمنع Instriage ① بيانات العقدة غير الصادقة، ② يمنع الحسابات ذات القيم السالبة، ويضمن ⑤ بقاء بيانات المستخدم دون تغيير قبل العمليات وبعدها.)
إنشاء إثبات احتياطي
باستخدام دائرة ZK-SNARK، حدد عدد أصول المستخدم ثم أصدر تقرير إثبات الاحتياطي.
للحصول على شرح أكثر تفصيلاً لعملية حساب الاحتياطي وتنفيذ التعليمات البرمجية، انقر هنا.
الأداء
على جهاز يحتوي على 32 نواة وذاكرة وصول عشوائي (RAM) بسعة 128 جيجابايت، يستغرق الأمر 15 يومًا لحساب أدلة الأصول لـ 10 ملايين مستخدم. يمكن موازنة حسابات إثبات الاحتياطي؛ وبالتالي، مع 10 آلات، يستغرق الأمر 1.5 يومًا فقط.
يعد إدخال zk-SNARks ترقية مهمة لـ Gate.io البراهين الاحتياطية وخطوة أساسية في حماية أصول المستخدم. تعمل هذه الحماية الفائقة للسلامة والخصوصية على تعزيز ثقة المستخدم ووضع معيار جديد لصناعة العملات المشفرة. كشركة رائدة في الصناعة، قامت Gate.io الآن بفتح الكود الخاص بها، على أمل تعزيز تطورات صناعية أكثر شفافية وأمانًا. في المستقبل، ستواصل Gate.io روح الابتكار واستكشاف وريادة مستقبل تشفير أكثر أمانًا وشمولية ومحميًا بالخصوصية جنبًا إلى جنب مع مستخدميها.
المراجع