هذه هي المنصة الأولى التي يجب عليك استخدامها فقط مثل المحفظة أو لإجراء معاملات P2P... لكن الواقع هو أنه يتم التمييز بين المستخدمين والمنطقة والمحتالين... انتبه وتوخَّ الحذر!💢
الحشرة التي لا تظهر إلا بعد أن يتفق ثلاثة مصادر بيانات على الاسم الحقل الخاطئ
كان لدي ثلاث حزم مفتوحة في محرر سياسة نيوتن، vaults.fyi وRedStone وChainalysis، للتحقق مما إذا كان يجب السماح بتنفيذ إجراء على أحد الفوّلات. أرجعت vaults.fyi قيمة risk_score تساوي 0.72. وأرجعت RedStone قيمة divergence_bps تساوي 38. وأرجعت Chainalysis قيمة risk_score الخاصة بها، "low"، بالإضافة إلى علامة مُسَنَّدة مضبوطَة على false. تستخدم اثنتان من تلك الردود الثلاثة الاسم الحقل نفسه تمامًا، risk_score، لشيئين مختلفين تمامًا. أحدهما تقييم رقمي لصحة الفوّلات. والآخر هو تصنيف فئوي للجزاءات. لا يوجد في أيٍّ من JSON الخاص بأي مزوّد ما يحذرك مسبقًا، لأن أيًّا من الفريقين لم يبنِ مخططه وهو على علم بوجود الفريق الآخر.
السؤال الوحيد الذي لم يستطع ريغو الإجابة عنه بمفرده
منذ عام 2016، أصبحت Open Policy Agent اللغة التي تكتب بها الشركات قواعد تحديد من يُسمح له بالقيام بماذا. في التحكم بالقبول داخل كوبرنيتيس، بوابات واجهات برمجة التطبيقات، وعمليات CI/CD، وبنية السحابة في كل مكان. عشر سنوات من كتابة القواعد التي تحدد من يملك الصلاحية لاتخاذ أي إجراء. طوال تلك المدة، لم يستطع ريغو أبدًا الإجابة عن سؤال واحد محدد بمفرده. من الذي وقّع بالفعل على هذا؟ يبدو أن هذا شيء ينبغي على لغة سياسات أن تتولى التعامل معه بالطبع. لكنها لا تستطيع ذلك، ليس بشكل أصيل. يقارن ريغو القيم، ويتحقق من العضوية ضمن القوائم، ويجمع الشروط مع منطق بولياني. إن استرجاع عنوان من توقيع، أو التأكد من أن التوقيع يطابق مفتاحًا عامًا محددًا، يتطلب رياضيات تشفيرية لم تكن اللغة مصممة أصلًا لإنجازها. كل فريق احتاج إلى هذا التحقق كان عليه بناؤه في مكان آخر، خارج السياسة، ثم إعطاء ريغو نعمًا أو لا لم يكن لديه أي طريقة للتحقق منها بنفسه.
كل مطالبة بالامتثال في مجال العملات المشفرة—حتى الآن—كانت تطلب منك أن تثق بكلام شخص ما. يزيل مستكشف بروتوكول نيوتُن كلمات «ثق بي» تمامًا من تلك الجملة.
يقول بروتوكول ما إنه يَفحص القوائم الخاصة بالعقوبات. تعلن مجموعة ما إجراء تدقيق. يدّعي منشور مدونة أن معاملة تم فحصها. لا شيء من ذلك يمكن إثباته. إنها جملة نشرها شخص ما، وعلى كل من يأتي بعدها أن يقرر ما إذا كان سيتبناها.
ذهبتُ لأراجع ما يضعه نيوتُن فعليًا أمامك بدلًا من الادعاء.
مستكشف نيوتُن هو سجلٌّ عام بكل مهمة يقوم بها الشبكة. المهمة هي معاملة مقترنة بالسياسة الدقيقة التي تم تقييمها وفقًا لها. في الوقت الحالي، يمكن لأي شخص فتح تقييم معيّن ورؤيته مباشرة. ليس ملخصًا كُتب لاحقًا. ليس بيانًا صحفيًا يصف ما يُفترض أنه حدث. بل السجلّ نفسه.
هذا يغيّر معنى أي مطالبة بالامتثال بمجرد أن يكون نيوتُن طرفًا في الصورة.
استخدام بروتوكول نيوتُن لا يقول: «ثق بأننا تحققنا من ذلك». بل يشير إلى صفحة يمكن لأي شخص فتحها والتأكد من أن الفحص حدث، وأي سياسة تم تشغيلها، وماذا كانت النتيجة.
أستمر في المقارنة بما قرأته من مطالب امتثال أخرى في عالم العملات المشفرة. دائمًا تغريدة. دائمًا سطر في ورقة بيضاء. دائمًا شيء لا يستطيع أي شخص خارج الفريق تأكيده فعليًا. يستبدل مستكشف نيوتُن الإعلان بالأمر نفسه.
الفرق بين «لقد فعلنا هذا» و«هنا، انظر»، هو الفرق الكامل بين التسويق والدليل.
لمدة خمسة عشر عامًا، عالج البلوك تشين التوقيعَ الصالح بوصفه الدليلَ النهائي على النية. يفصل بروتوكول نُيوتِن (Newton ProtOcol) بين المصادقة والتفويض. لقد وجدتُ الآليةَ الدقيقة داخل نُيوتِن التي تجعل عبارةَ البذرة المسروقة غير كافيةٍ بذاتها بعد الآن. أنتَ وضعتَ حدًا (عتبة). أسفل هذا الحد، ما يزال توقيعُك وحده يحرك الأموال، تمامًا كما في أي محفظة اليوم. أما أعلى هذا الحد، فإن محرك السياسة في نُيوتِن يتطلب شيئًا إضافيًا قبل أن يمكن تنفيذ المعاملة. ليس بدلاً من مفتاحك. إضافةً إليه. تجري العمليةُ أولاً التوقيع، ثم العامل الثاني، وجهازٌ مُقيَّد، أو مفتاحُ مرور (passkey)، أو تحققٌ بيومتري، أو مفتاح جلسة، اعتمادًا على ما قمتَ بتكوينه. بعد ذلك، تؤكد فحوصُ العتبة أن الشروطَ مطابقةٌ فعليًا لما حددتَه. لا يُصدر نُيوتِن شهادةَ إثبات (attestation) إلا عندما تتطابق الجوانب الثلاثة جميعها. بدون شهادة إثبات، لا تنفيذ. إجراءُ “الفَعل” (vault action) لا يمضي ببساطة. هذا الترتيب هو الجزء الذي أعود إليه دائمًا. قد يخدعك أحدٌ عبر التصيّد لسرقة عبارة البذرة، ومع ذلك يظل يبتعد بتوقيع صالح. طبقة التفويض في نُيوتِن لا تهتم بأن التوقيع صالح. إنها تتحقق مما إذا كان العامل الثاني وظرف العتبة مستوفَيْن أيضًا، وإذا كان أيٌّ منهما مفقودًا فلن تُصدَر شهادةُ الإثبات أبدًا. كان المفتاح دائمًا هو القفل الكامل في الحيازة الذاتية. عامل واحد، تحكم كامل، نقطة فشل واحدة. لا ينزع نُيوتِن هذا التحكم منك. ما زلتَ تمسك بالمفتاح، وما زالت المحفظة لك، ولا يوجد هنا أي إيداع (custodial). ما الذي يتغير؟ خلف الخط الذي رسمته، يتوقف المفتاح وحده عن كونه كافيًا. مفتاحٌ مسروق بدون عامل ثانٍ الآن يواجه فحصَ العتبة الذي لا يمكنه اجتيازه.
بيتا شبكة نيوتن الرئيسية تعمل بالفعل. الجزء غير القابل للثقة يأتي بعد البيتا.
ذهبت للبحث في كيفية قيام بيتا شبكة نيوتن الرئيسية (mainnet beta) فعليًا بتأكيد الإسناد (attestation). كنت أتوقع منطق الكمية (quorum) نفسه كما في الورقة البيضاء. العديد من المشغلين، مع عتبة موزونة بحسب مقدار الحصة (stake)، ولا يستطيع أي واحد منهم بمفرده أن يقرر أي شيء. هذا هو التصميم. ما وجدته كان أكثر تحديدًا فيما يخص ما الذي يعمل فعليًا الآن. يقول شرح نيوتن الخاص بطبقة التفويض الخاصة به هذا الأمر بوضوح. لا يوجد مشغل واحد يقرر النتيجة؛ هذا هو جوهر التصميم. ثم يقول شيئًا آخر. حيث يقوم العديد من المشغلين بتقييم نفس الاقتراح بشكل مستقل، ولا تُصدر الشبكة تفويضًا إلا بعد أن يتفق عدد كافٍ منهم، لذلك لا يتعين عليك أبدًا الوثوق بأي واحد منهم على حدة. ويُوصف هذا الضمان المحدد بأنه شيء يحدث مرة واحدة عندما تخرج نيوتن من مرحلة النسخة التجريبية (بيتا).
أتذكر يومًا استخدمت هذه الكلمة في مقال كمثال، فحصلت على الحظر بسبب مخالفة. كنت على وشك🚫 أن أُمنع الآن إنها كلمة قانونية! يا للدهشة 🫢@Binance Square Official
نيوتن لا يتحقق فقط من القرار. بل يتحقق من البيانات التي تقف وراءه.
ذهبت للبحث عن كيفية استخدام بروتوكول نيوتن فعليًا لـ Chainalysis، متوقعًا علاقة عادية بين أوراكل. اسأل سؤالًا، احصل على إجابة، تعامل مع الإجابة باعتبارها حقيقة. هذه هي الطريقة التي تعمل بها معظم تكاملات الامتثال في مجال العملات المشفّرة. يستدعي بروتوكول API. يعيد الـ API نعم أو لا. يتقبّل البروتوكول ذلك ويتابع. لا يستطيع أي طرف لاحق التحقق مما أرجعه الـ API فعليًا، بل فقط ما يدّعيه شخصٌ ما أنه أرجعه. لا يبني نيوتن تكامل Chainalysis بهذه الطريقة. داخل نيوتن، يعمل موفّر بيانات مثل Chainalysis كمكوّن معزول داخل بيئة حظر (sandbox) يقوم المشغّل بتنفيذه مباشرة. لا يكتفي المشغّل باستلام حكم. بل يقوم بجلب البيانات الأساسية بنفسه، ثم يوقّع شهادة إقرار (attestation) على تلك البيانات المحددة. توقيع ECDSA مرتبط بما تم سحبه فعليًا، وليس فقط بالاستنتاج الذي تم استخلاصه منه.
كنت أفترض باستمرار أن بروتوكول نيوتن يثق ببساطة بـ Chainalysis بالطريقة التي تثق بها معظم البروتوكولات بواجهة oracle. اطرح سؤالًا، ستحصل على إجابة، ثم انتقل. هذا ليس ما يحدث. عندما يقوم مشغّلٌ في NEWTon Protocol بمراجعة محفظة مقابل بيانات Chainalysis، لا يقوم فقط بتمرير "مُدان" أو "غير مُدان". المشغّل يوقّع على شهادة (attestation) تتضمن البيانات الفعلية التي جلبها. توقيع ECDSA مرتبط بالبيانات المحددة التي قام بجلبها، وليس بمجرد الاستنتاج الذي توصّل إليه. لقد بقي هذا الفرق معي لفترة أطول مما توقعت. تعمل معظم فحوصات الامتثال في عالم العملات المشفّرة كصندوق أسود. تقول الواجهة البرمجية نعم أو لا، ويقبل الجميع الناتج. لا يستطيع أحد التحقق مما أعادت الواجهة البرمجية فعليًا، بل فقط ما تزعم أنها أعادته. لا يسمح نيوتن للمشغّل بالاستمرار في ذلك. إذا قال المشغّل: "هذا العنوان اجتاز فحص العقوبات"، فعليه أيضًا أن يثبت—بطريقة تشفيرية—بالضبط البيانات التي اطلع عليها للوصول إلى تلك الإجابة. القرار والبيانات التي استند إليها كلاهما موثّقان. لذا يتوقف السؤال الحقيقي عن أن يكون "هل اجتاز الفحص؟". بل يصبح: "هل يمكن لأي شخص تأكيد البيانات التي أنتجت هذه الإجابة بشكل مستقل؟". ما زلت أفكر في ما يعنيه ذلك بالنسبة إلى Chainalysis تحديدًا، لأن Chainalysis نفسها ليست لامركزية. أنا أعني أن بروتوكول NEWT يمكنه توثيق (attest) البيانات التي استلمها المشغّل. لكنه لا يمكنه توثيق ما إذا كانت قائمة Chainalysis الخاصة بها دقيقة ذلك اليوم. لقد تحرّك موضع الثقة. لم تختفِ. فما الذي يعنيه فعليًا توثيق البيانات بدلًا من قرار؟
أغلب الفرق التي تبني "البنية التحتية الحيوية" في عالم العملات المشفرة لم يسبق لها تشغيل بنية تحتية اعتمد عليها أي شخص فعليًا قبل يوم الإطلاق. وهذا بالضبط ما كنت أتحقق منه عندما بحثت في من يبني نيوتن بالفعل. فريق التطوير الأساسي لبروتوكول نيوتن <Magic Labs — NEWT> لم يبدأ من هنا. لقد بنوا بنية تحتية لمحفظة مدمجة تعمل حاليًا خلف 57 مليون محفظة، ويستخدمها أكثر من 200,000 مطور، بما في ذلك طبقة المحفظة التي تدعم <Polymarket>. كما أن <PayPal Ventures> دعمتهم لسنوات قبل أن يصبح نيوتن مجرد فكرة. هذه نوع محدد من المؤهلات لا يستطيع معظم مشاريع البنية التحتية ادعاؤه. الأمر يهم نيوتن أكثر مما يهم بروتوكول DeFi نموذجي، لأن موقعه مختلف. فالهبوط في سوق الإقراض لمدة ساعة يعد يومًا سيئًا. أما تعطل طبقة تفويض لمدة ساعة فيعني أن كل عملية تُقيَّد عبرها تتوقف—لا شيء ينفَّذ دون إثبات/اعتماد. ويقوم بروتوكول NEWT بدورٍ على المسار الحرج <critical path> بالتصميم. الفريق الذي يبني هذا المسار الحرج سبق أن شغّل بنية تحتية كانت فيها عبارة "تعتمد عليه ملايين من الناس كي لا يتعطل" هي الشرط اليومي، لا هدفًا مؤجلًا. أنا لا أتعامل مع ذلك كدليل على أن نيوتن يَتَحَجَّم بالطريقة التي يستهدفها. تشغيل بنية تحتية للمحافظ لـ <Polymarket> ليس مثل تشغيل محرك سياسات لا مركزي يقوم بتقييم فحوصات العقوبات عبر سلاسل متعددة—إنهما مشكلتان تشغيليتان مختلفتان مع أنماط تعطل مختلفة. لكن عبارة "هذه أول منظومة إنتاج لدينا" وعبارة "لدينا بالفعل منظومة تعمل لدى 57 مليون محفظة" تمثل نقطتي انطلاق مختلفتين من حيث مخاطر التنفيذ. غالبًا ما لا تميّز السرديات الخاصة ببنية العملات المشفرة هذا التمييز بوضوح كافٍ. ما الذي يقلل فعلًا من مخاطر التنفيذ لبروتوكولات البنية التحتية؟ هل ينتقل فعلاً سجل Magic Labs في المحافظ إلى المشكلة الأصعب لدى نيوتن — أم أن كل مشروع بنية تحتية يبدأ مخاطر التنفيذ من الصفر بغض النظر عن التاريخ؟