ما هو Fiat Crypto؟
Fiat Crypto، المعروف أيضًا باسم Fiat-Crypto أو Fiat Cryptography، هو نظام مفتوح المصدر لتوليد شيفرات حسابية تشفيرية فعّالة ومتحقق منها رسميًا.صُمم لتحويل الأوصاف الرياضية عالية المستوى إلى تطبيقات منخفضة المستوى مصحوبة ببراهين صحة يجري التحقق منها آليًا.يركز المشروع أساسًا على العمليات الحسابية المستخدمة في تشفير المنحنيات الإهليلجية، والتوقيعات الرقمية، وتبادل المفاتيح، والمصادقة، وغيرها من الأنظمة التشفيرية.تعتمد برمجيات العملات المشفرة كثيرًا على هذا النوع من الحسابات، إذ تُعتمد معاملات البلوكشين بالتوقيعات الرقمية ويُتحقق منها بعمليات رياضية على الحقول المنتهية.Fiat Crypto ليس عملة مشفرة أو توكنًا أو بلوكتشين أو عملة مستقرة أو محفظة أو منصة تداول أو أصلًا رقميًا مدعومًا بعملة ورقية.يستخدم الاسم كلمة «fiat» بمعناها المرتبط بلغات البرمجة، أي اشتقاق البرمجيات من المواصفات، لا بمعناها النقدي الذي يشير إلى العملة التي تصدرها الحكومة.يصف مستودع Fiat-Crypto الرسمي المشروع بأنه نظام لتوليد شيفرات صحيحة بحكم التصميم للبدائيات التشفيرية.
طُوّر المشروع ضمن أبحاث مرتبطة بمجموعة لغات البرمجة والتحقق في معهد ماساتشوستس للتكنولوجيا.يتمثل هدفه الأساسي في الحد من مخاطر الأخطاء الحسابية الدقيقة في البرمجيات التشفيرية الحساسة أمنيًا.لماذا يصعب تنفيذ الحسابات التشفيرية؟
يسهل التعبير عن كثير من الخوارزميات التشفيرية بمعادلات رياضية، لكن يصعب تنفيذها بكفاءة على معالجات الحاسوب الفعلية.قد تعمل المواصفة الرياضية على أعداد صحيحة يتكون كل منها من مئات البتات.لكن المعالجات العادية تعمل عادةً على قيم أصغر ثابتة الحجم، مثل كلمات الآلة ذات 32 أو 64 بتًا.لذلك، يتعين على المطورين تقسيم العدد الكبير إلى أجزاء أصغر وإدارة الحمل والاستلاف ونواتج الضرب والاختزال المعياري بعناية.قد يؤدي خطأ واحد في الحمل أو إغفال عملية اختزال إلى توقيع خاطئ، أو رفض معاملة صحيحة، أو قبول قيمة غير صالحة، أو كشف معلومات سرية.غالبًا ما تُكتب التطبيقات الأسرع كسلاسل طويلة من العمليات الحسابية منخفضة المستوى.وقد يصعب على المراجعين فهم هذه الإجراءات واختبارها بالكامل.يمكن للاختبارات التقليدية إظهار أن الشيفرة تعمل مع مدخلات محددة،لكنها لا تثبت أن التطبيق يعمل مع كل مدخل صالح ممكن.يعالج Fiat Crypto هذه المشكلة بتوليد الشيفرة انطلاقًا من مواصفات رياضية، مع إنتاج أدلة قابلة للتحقق آليًا على أن الحسابات الناتجة تتبع تلك المواصفات.ما المقصود بالصحة بحكم التصميم؟
تعني الصحة بحكم التصميم أن الصحة مدمجة في عملية إنشاء البرمجيات.يبدأ المطور بوصف رياضي للعملية المطلوبة.ثم يحوّل النظام هذا الوصف عبر سلسلة من خطوات الترجمة والتحسين المثبتة صحتها.تحافظ كل خطوة متحقق منها على معنى العملية الأصلية.وبذلك يرتبط الإجراء الحسابي النهائي بالمواصفة عالية المستوى عبر براهين رسمية.يختلف هذا النهج عن كتابة شيفرة محسّنة يدويًا ثم محاولة إثبات صحتها لاحقًا.وقد يقلل أيضًا مقدار العمل البرهاني المتكرر اللازم لدعم معامل أولي جديد أو حجم جديد لكلمة المعالج.تشرح الورقة البحثية Simple High-Level Code for Cryptographic Arithmetic استخدام المشروع لبرامج قصيرة عالية المستوى وبراهين للصحة الوظيفية يجري التحقق منها آليًا.
ما هو التحقق الرسمي؟
يستخدم التحقق الرسمي المنطق الرياضي لإثبات استيفاء البرمجيات لخصائص محددة بدقة.يتحقق مساعد البرهان من كل برهان وفق مجموعة صغيرة من القواعد المنطقية الموثوقة.يستخدم Fiat Crypto مساعد البرهان Coq لمواصفاته وبراهينه ومكونات المترجم وعملية توليد الشيفرة.يتيح Coq للمطورين تعريف كائنات رياضية وكتابة برامج وصياغة مبرهنات وإنشاء براهين يتحقق منها النظام آليًا.لا يعتمد نجاح البرهان على تشغيل مجموعة من حالات الاختبار فحسب،بل يثبت الخاصية التي جرى البرهنة عليها لكل مدخل تغطيه المواصفة الرسمية والافتراضات.لا يثبت التحقق الرسمي كل خاصية يمكن تخيلها في تطبيق كامل للعملات المشفرة،بل يثبت العبارات المحددة التي عرّفها المطورون ضمن النموذج المتحقق منه.كيف يعمل Fiat Crypto؟
يبدأ Fiat Crypto بوصف عالي المستوى للحساب المعياري.يحدد المطور معلومات مثل المعامل الأولي، وحجم كلمة المعالج، وترتيب الأجزاء، واستراتيجية التنفيذ، والعمليات المطلوب توليدها.يمثل النظام الحسابات داخل Coq.ثم يطبق تحويلات متحققًا منها لتبسيط التعابير، وحساب الحدود العددية الآمنة، وإزالة العمليات غير الضرورية، وخفض مستوى البرنامج تدريجيًا إلى حسابات كلمات الآلة.يصبح البرنامج المحوّل تمثيلًا داخليًا شبيهًا بلغة C، يتكون من تعليمات متتابعة دون تفرعات.ويحوّل مكوّن خلفي هذا التمثيل إلى لغة برمجة مستهدفة أو لغة وسيطة أخرى متحقق منها.قد تشمل الدوال الناتجة الجمع والطرح والضرب والتربيع وحساب الحمل والاختيار الشرطي وتحويل البايتات.يمكن إدراج الشيفرة الناتجة في مكتبة تشفيرية أكبر بعد مراجعتها ودمجها وترجمتها واختبارها على النحو المناسب.ما هو الحساب المعياري؟
يجري الحساب المعياري العمليات مع اعتبار الأعداد التي يختلف بعضها عن بعض بمضاعفات معامل معيّن متكافئة.الساعة مثال بسيط: فالوقت 13:00 والوقت 1:00 يشيران إلى الموضع نفسه على ساعة من 12 ساعة.يستخدم الحساب المعياري التشفيري معاملات أكبر بكثير، غالبًا أعدادًا أولية كبيرة.لنفترض أن العمليات تستخدم المعامل 17.القيمة 20 تكافئ 3، لأن طرح 17 منها يعطي 3.يمكن كتابة التعبير هكذا:
ما هو الحقل المنتهي؟
الحقل المنتهي مجموعة محدودة من القيم، مع عمليات محددة للجمع والطرح والضرب والقسمة.تستخدم الأنظمة التشفيرية عادةً حقولًا مبنية على الأعداد الصحيحة بترديد عدد أولي كبير.تتراوح القيم من الصفر إلى العدد الأقل بواحد من العدد الأولي.لكل قيمة غير صفرية معكوس ضربي داخل الحقل.تُعرّف نقاط المنحنيات الإهليلجية باستخدام إحداثيات تجري حساباتها في حقل منتهٍ.لذلك، تعتمد أنظمة التوقيع الرقمي والاتفاق على المفاتيح على عمليات صحيحة في الحقول المنتهية.يساعد Fiat Crypto أساسًا على توليد الإجراءات منخفضة المستوى التي تنفذ حسابات هذا الحقل.ما هو الجزء (Limb)؟
الجزء هو مقطع بحجم كلمة آلة من عدد صحيح أكبر.يمكن تمثيل عنصر حقل من 256 بتًا باستخدام أربعة أجزاء، يحتوي كل منها على 64 بتًا.وقد يستخدم تطبيق آخر خمسة أجزاء يحتوي كل منها على نحو 51 بتًا.يمكن أن يتيح ترك بعض البتات غير المستخدمة في كل جزء مساحة للحمل والنتائج الوسيطة.يعتمد أفضل ترتيب للأجزاء على المعامل، والمعالج، وتعليمات الضرب، واستراتيجية الاختزال، والأداء المطلوب.قد يؤدي اختيار حدود غير صحيحة إلى تجاوز نتيجة وسيطة نطاق نوع الآلة المستخدم.يحسب Fiat Crypto الحدود للقيم الحسابية أثناء مرورها في الإجراء الناتج ويثبت صحتها.ما هو الاختزال المعياري؟
يحوّل الاختزال المعياري عددًا وسيطًا كبيرًا إلى قيمة مكافئة ضمن النطاق المعياري المتوقع.قد ينتج عن ضرب قيمتين من 256 بتًا عدد وسيط يحتاج إلى 512 بتًا.يجب أن يختزل التطبيق هذه القيمة بترديد العدد الأولي المحدد.قد تكون عملية القسمة العامة بطيئة، وقد لا توفر سلوكًا مناسبًا من حيث التوقيت.لذلك تستخدم التطبيقات التشفيرية طرق اختزال متخصصة تستفيد من بنية المعامل.يدعم Fiat Crypto عدة استراتيجيات تنفيذ لتوليد شيفرة اختزال فعالة.استراتيجيات الحساب المدعومة
حساب Solinas المشبع
يستخدم التمثيل المشبع أجزاء تملأ معظم نطاق كلمة الآلة أو كله.يستفيد حساب Solinas من الأعداد الأولية التي يمكن التعبير عنها باستخدام قوى العدد 2 وعدد قليل من الحدود الإضافية.قد تجعل هذه البنية الاختزال أسرع من القسمة العامة.حساب Solinas غير المشبع
يترك التمثيل غير المشبع بتات غير مستخدمة في أعلى كل جزء.تتيح المساحة الإضافية تنفيذ عدة عمليات حسابية قبل الحاجة إلى حمل كامل أو اختزال.تستخدم حسابات حقل Curve25519 عادةً خمسة أجزاء يبلغ كل منها نحو 51 بتًا على الأجهزة ذات 64 بتًا.حساب Montgomery كلمة بكلمة
يمثل حساب Montgomery القيم في مجال خاص يتيح الضرب المعياري دون القسمة العادية على المعامل.يعالج اختزال Montgomery كلمة بكلمة النتيجة على أجزاء بحجم كلمات الآلة.يمكن لهذا النهج دعم معاملات فردية عامة لا تتخذ صيغة Solinas ملائمة.ضرب Dettman
ضرب Dettman أسلوب تنفيذ مرتبط بالحساب الفعال لبعض تمثيلات الحقول الأولية.ينظم الضرب والاختزال للاستفادة من بنية المعامل والأجزاء.اختزال Solinas
يستفيد اختزال Solinas من علاقات خاصة بين قوى العدد 2 والعدد الأولي المحدد.يمكن إعادة دمج الأجزاء العليا من عدد وسيط في مواضع أدنى باستخدام تلك العلاقات.تحويل الأساس
يغيّر تحويل الأساس طريقة تقسيم قيمة الحقل بين الأجزاء.قد يلزم ذلك عندما يستخدم جزءان من نظام تشفيري تمثيلين داخليين مختلفين.يوثق المستودع الحالي هذه الاستراتيجيات عبر واجهة توليد الشيفرة الموحدة
ما العمليات التي يمكن لـ Fiat Crypto توليدها؟
يمكن لـ Fiat Crypto توليد إجراءات الجمع والطرح المعياريين.كما يمكنه توليد إجراءات الضرب والتربيع.ويستطيع توليد دوال الحمل والاختزال التي تضع القيم ضمن نطاق مقبول.ويمكنه توليد دوال النفي والضرب في ثوابت محددة.كما يمكنه توليد دوال اختيار شرطي مصممة لتجنب التفرعات العادية المعتمدة على القيم السرية.ويستطيع توليد دوال تحويل بين الأجزاء الداخلية وسلاسل البايتات المعيارية.تعتمد الدوال المتاحة تحديدًا على الاستراتيجية المحددة وخيارات سطر الأوامر.يتطلب تنفيذ توقيع أو تبادل مفاتيح كامل عمليات إضافية للمجموعات، والتجزئة، وتوليد القيم العشوائية المؤقتة، والتحقق من البروتوكول، ومنطق التطبيق، تتجاوز إجراءات الحقول هذه.ما الأعداد الأولية التشفيرية التي يدعمها Fiat Crypto؟
صُمم Fiat Crypto لتوليد الحسابات لعدد كبير من المعاملات الأولية، لا لمنحنى ثابت واحد فقط.يتضمن المستودع الرسمي أمثلة توليد للعدد الأولي
تتضمن أمثلة توليد Bedrock2 العدد الأولي
لماذا يُعد secp256k1 مهمًا لـ Fiat Crypto؟
secp256k1 منحنى إهليلجي تستخدمه عدة بروتوكولات رئيسية للعملات المشفرة.تستخدم المحافظ المفاتيح الخاصة لـ secp256k1 لتوليد توقيعات تعتمد معاملات البلوكشين.وتتحقق العقد من تلك التوقيعات قبل قبول المعاملات بوصفها صالحة.تعتمد حسابات إحداثيات المنحنى على الحساب بترديد عدد أولي محدد من 256 بتًا.قد يؤدي خطأ في حسابات هذا الحقل إلى نقاط أو توقيعات أو نتائج تحقق غير صحيحة.يجعل دعم Fiat Crypto للحسابات المرتبطة بـ secp256k1 المشروع ذا صلة بأبحاث تنفيذ البلوكشين وبرمجيات المحافظ عالية الضمان.وقد ربط مشروع CryptOpt البحثي المرتبط الشيفرة الوسيطة المتحقق منها في Fiat Cryptography بتوليد تعليمات تجميع محسّنة، بما في ذلك أعمال تتعلق بحسابات secp256k1.
Fiat Crypto وتشفير المنحنيات الإهليلجية
يستخدم تشفير المنحنيات الإهليلجية نقاطًا تحقق معادلة جبرية على حقل منتهٍ.تُشتق المفاتيح العامة بضرب نقطة على المنحنى في عدد سري.ويستخدم إنشاء التوقيعات والتحقق منها عمليات متكررة لجمع النقاط ومضاعفتها وضربها في أعداد وعمليات الحقول.يوفر Fiat Crypto أسسًا متحققًا منها لبعض الحسابات التي تقوم عليها هذه الخوارزميات عالية المستوى.يحتوي المستودع أيضًا على براهين وتعريفات لتمثيلات منحنيات Edwards وMontgomery وWeierstrass.صحة حسابات الحقول وحدها لا تثبت أمان بروتوكول كامل للمنحنيات الإهليلجية.يجب أيضًا صحة المنحنى والتحقق من النقاط والتعامل مع الأعداد وتوليد القيم العشوائية المؤقتة وإنشاء التوقيع والبرمجيات المحيطة.ما لغات البرمجة التي يدعمها Fiat Crypto؟
يحتفظ المستودع الحالي بمكوّن خلفي أساسي للغة C.كما يدعم مسار Bedrock2/C مع تغطية برهانية أقوى للعلاقة بين شجرة الصياغة الداخلية وBedrock2.تشمل المكونات الخلفية التي تديرها جهات خارجية أو المجتمع Go وRust وZig.يوصف مكوّن JSON الخلفي بأنه تجريبي.ويشير المستودع إلى أن مكوّن Java الخلفي غير مُصان ومعروف بوجود مشكلات فيه.قد تتغير حالة المكونات الخلفية، لذا ينبغي للمطورين مراجعة جدول حالة المكونات الخلفية الحالي قبل اختيار الشيفرة الناتجة.
يتجنب المشروع صراحةً تقديم ضمانات جودة متماثلة لكل مكوّن خلفي.كيف يُنتج المترجم؟
تُكتب التعريفات والتحويلات المتحقق منها داخل Coq.يمكن لـ Fiat Crypto استخراج شيفرة مترجم قابلة للتنفيذ إلى OCaml أو Haskell.يقبل برنامج سطر الأوامر الناتج معلمات تصف تطبيق الحسابات.ويكتب الشيفرة المصدرية المولدة إلى المخرجات القياسية.يتيح هذا النهج للمستخدمين تشغيل توليد الشيفرة دون تحميل مساعد البرهان كاملًا عند كل طلب توليد.يثبت التطوير البرهاني خصائص التحويلات التي يُستخرج منها المترجم التنفيذي.يحتاج المستخدمون الذين يبنون المستودع كاملًا إلى تبعيات Coq وOCaml ونظام البناء والحزم الموثقة.ما الذي يثبته Fiat Crypto؟
صُمم Fiat Crypto لإثبات الصحة الوظيفية للحسابات الناتجة مقارنة بمواصفاتها الرسمية.تعني الصحة الوظيفية أن العملية الناتجة تحسب النتيجة الرياضية المقصودة للمدخلات التي تستوفي الشروط المسبقة الموثقة.ويحلل النظام أيضًا النطاقات العددية لضمان ملاءمة القيم الوسيطة لأحجام الأعداد الصحيحة المحددة للآلة.تهدف خطوات إعادة الكتابة والترجمة المتحقق منها إلى الحفاظ على معنى التعابير.تعتمد حدود البرهان الشاملة الدقيقة على المكوّن الخلفي ومسار الدمج.يذكر المستودع أن مكوّن Bedrock2 الخلفي يتضمن برهانًا يربط شجرة الصياغة المجردة في Bedrock2 بشجرة الصياغة المجردة الداخلية.أما مكونات تحويل الشيفرة إلى نصوص بلغات أخرى، فلا تتمتع حاليًا بالتغطية البرهانية نفسها.ومن المهم مراعاة هذا الفرق عند تقييم الادعاءات بأن الشيفرة المصدرية المولدة متحقق منها بالكامل.ما الذي لا يثبته Fiat Crypto؟
لا يثبت Fiat Crypto أمان كل محفظة أو عقدة بلوكتشين أو عقد ذكي أو تطبيق محيط به.ولا يثبت تلقائيًا أمان بروتوكول تشفيري في مواجهة كل هجوم رياضي ممكن.ولا يثبت أن المفتاح الخاص أُنشئ باستخدام عشوائية كافية.ولا يمنع المطور من تمرير معلمات غير صالحة أو استخدام الدوال الناتجة على نحو خاطئ.ولا يضمن أن كل مترجم أو رابط أو نظام تشغيل أو معالج أو جهاز يحافظ على جميع الخصائص المقصودة.لا يتضمن معظم المكونات الخلفية ضمانًا برهانيًا كاملًا لتحويل تمثيلاتها الداخلية إلى نص الشيفرة المصدرية النهائية.ويشير المستودع أيضًا إلى أن سلوك تعابير الأعداد الصحيحة في مترجم C العادي يظل جزءًا من البيئة الموثوقة أو التي تتطلب مراجعة منفصلة.لذلك ينبغي فهم التحقق الرسمي على أنه ضمان قوي ومحدد النطاق بدقة، لا ضمان شامل.هل يضمن Fiat Crypto التنفيذ بزمن ثابت؟
غالبًا ما تحتاج الشيفرة التشفيرية إلى تجنب تدفق التحكم وأنماط الوصول إلى الذاكرة التي تعتمد على القيم السرية.ويُعرف هذا الأسلوب البرمجي عادةً باسم البرمجة بزمن ثابت.يمكن للحسابات المتتابعة المولدة وبدائيات الاختيار الشرطي أن تدعم التطبيقات بزمن ثابت.لكن سلوك التوقيت الفعلي يعتمد على المكوّن الخلفي والمترجم والمعالج المستهدف والشيفرة المحيطة والبنية الدقيقة للمعالج.لا يشكل برهان الصحة الوظيفية تلقائيًا برهانًا كاملًا ضد كل هجوم عبر التوقيت أو الذاكرة المخبأة أو الطاقة أو الإشعاع الكهرومغناطيسي أو التنفيذ التخميني أو حقن الأعطال.يجب على المطورين مراجعة الضمان المحدد الذي يوفره مسار التنفيذ المختار وإجراء اختبارات وتحليلات مناسبة للقنوات الجانبية.Fiat Crypto مقارنةً بالشيفرة التشفيرية المكتوبة يدويًا
يمكن أن تكون الشيفرة التشفيرية المكتوبة يدويًا سريعة للغاية إذا أنشأها متخصص متمرس.لكنها قد تحتوي أيضًا على أخطاء يصعب اكتشافها بالمراجعة العادية.غالبًا ما يتطلب التطبيق اليدوي عملًا منفصلًا لكل عدد أولي وحجم كلمة ومعالج وتمثيل حسابي.يؤتمت Fiat Crypto جانبًا كبيرًا من هذا التخصيص باستخدام إطار رياضي قابل لإعادة الاستخدام.وقد يسهل إعادة توليد شيفرته عند تغير الافتراضات أو الأهداف.ومع ذلك، يجب قياس الأداء على المنصة المستهدفة الفعلية.قد تظل تعليمات التجميع المكتوبة بعناية أسرع من شيفرة C المولدة العادية في بعض البيئات المتخصصة.وتبحث مشاريع مثل CryptOpt في توسيع الأسس المتحقق منها لـ Fiat Crypto لتشمل تعليمات تجميع عالية التحسين.Fiat Crypto مقارنةً بالاختبارات التقليدية
تقارن الاختبارات المخرجات الفعلية بالمخرجات المتوقعة لمجموعة محدودة من الأمثلة.أما التحقق الرسمي فيثبت خاصية محددة لنطاق المدخلات الكامل الذي تغطيه المبرهنة.تظل الاختبارات قيّمة لأنها تكشف مشكلات الدمج والبناء والمنصة والتسلسل والأداء التي تقع خارج نطاق البرهان الرسمي.يختبر مستودع Fiat Crypto شيفرة C المولدة باستخدام مجموعة اختبارات تشفيرية معتمدة.كما يختبر مخرجات Rust مقابل مجموعة اختبارات مكتبة تشفيرية منفصلة.لذلك يكمل التحقق الرسمي والاختبار العملي أحدهما الآخر ولا يحل أحدهما محل الآخر.Fiat Crypto مقارنةً بالعملة الورقية
العملة الورقية هي الأموال التي تصدرها الحكومة، مثل الدولار أو اليورو أو الين.أما Fiat Crypto فهو مشروع للتحقق من البرمجيات وتوليد الشيفرة.لا يصدر المشروع أموالًا ولا يربط توكنًا بعملة وطنية.ولا يوفر مدفوعات مصرفية أو مدفوعات بالبطاقات أو إيداعات بعملات ورقية أو شراء للعملات المشفرة.قد يعرض البحث عن «fiat crypto» معلومات عن تحويل العملة الحكومية إلى عملة مشفرة.وهذا المعنى المالي لا علاقة له بمشروع Fiat-Crypto البرمجي.Fiat Crypto مقارنةً بخدمة التحويل من العملات الورقية إلى العملات المشفرة
يشير التحويل من العملات الورقية إلى العملات المشفرة إلى تحويل عملة تصدرها الحكومة إلى عملة مشفرة أو أصل رقمي.قد تتولى خدمة التحويل هذه معالجة تحويل مصرفي أو دفع بالبطاقة أو التحقق من الهوية أو تحويل العملة أو إرسال الأصل عبر البلوكشين.أما Fiat Crypto فيولّد تطبيقات للحسابات التشفيرية.ولا يدير خدمة تحويل دخول أو خروج من العملات المشفرة.هذا التمييز مهم لأن المصطلحين متشابهان، لكنهما يشيران إلى أجزاء مختلفة تمامًا من منظومة الكريبتو.Fiat Crypto مقارنةً بتحويل Fiat–Shamir
يحوّل تحويل Fiat–Shamir بعض بروتوكولات البرهان التفاعلية إلى براهين أو توقيعات غير تفاعلية.وسُمّي نسبةً إلى عالِمي التشفير Amos Fiat وAdi Shamir.أما Fiat Crypto فهو مشروع منفصل في الأساليب الرسمية لتوليد شيفرة حسابية تشفيرية.ينتمي الموضوعان إلى مجال التشفير، لكنهما يعالجان مشكلتين مختلفتين.يتعلق Fiat–Shamir بالتفاعل في البروتوكول وتوليد التحديات.ويتعلق Fiat Crypto بالتطبيق المتحقق منه للعمليات الرياضية منخفضة المستوى.Fiat Crypto مقارنةً بمكتبة تشفيرية
توفر المكتبة التشفيرية الكاملة واجهات جاهزة للاستخدام للتوقيعات والتشفير والتجزئة وتبادل المفاتيح والشهادات وغيرها من البروتوكولات.أما Fiat Crypto فهو أساسًا مولّد وإطار برهاني لمكونات الحسابات.ويمكن دمج مخرجاته في مكتبة أوسع.وتظل المكتبة الأوسع مسؤولة عن منطق البروتوكول والواجهات العامة وإدارة الذاكرة والعشوائية والتحقق من المدخلات ومعالجة الأخطاء والتخزين الآمن للمفاتيح.لا ينبغي للمطور اعتبار إجراء ضرب واحد مولد تنفيذًا كاملًا للتوقيع.Fiat Crypto مقارنةً بمترجم عام الأغراض
يقبل المترجم عام الأغراض برامج تغطي أنواعًا كثيرة من العمليات الحسابية.أما Fiat Crypto فنظام متخصص يركز على الحسابات التشفيرية.يسمح له هذا التركيز المحدد باستخدام المعرفة الرياضية المتعلقة بالحقول الأولية والأجزاء والحمل والاختزال المعياري.ويمكنه تخصيص الشيفرة باستخدام تفاصيل قد لا يستنتجها مترجم عام من الشيفرة المصدرية العادية.ومع ذلك، قد تُترجم شيفرة C أو غيرها من الشيفرات المصدرية الناتجة لاحقًا باستخدام مترجم عام الأغراض.لذلك يشمل مسار الثقة الكامل خط توليد Fiat Crypto وأدوات البناء اللاحقة.لماذا يهم Fiat Crypto أمن البلوكشين؟
تضع بروتوكولات البلوكشين أصولًا قيّمة تحت سيطرة مفاتيح تشفيرية.قد يقوض خطأ في حسابات الحقول التوقيعات الرقمية حتى عندما تكون القواعد الاقتصادية للبلوكشين صحيحة.قد تعالج العقد مفاتيح عامة وتوقيعات وبراهين وبيانات معاملات غير موثوقة واردة من الشبكة.لذلك يجب أن تتعامل التطبيقات التشفيرية مع كل الحالات الطرفية المسموح بها على نحو صحيح.يمكن للأساليب الرسمية تقديم أدلة أقوى من الاختبارات العادية لإجراءات حسابية لها نطاقات مدخلات هائلة.كما يسهل Fiat Crypto توليد تطبيقات متسقة لأحجام مختلفة من المعالجات والحقول الأولية.وقد يساعد ذلك على تقليل الاعتماد على عدد محدود من الخبراء لإعادة كتابة الشيفرة الحسابية الدقيقة يدويًا.كيف يمكن لمحافظ العملات المشفرة الاستفادة من Fiat Crypto؟
تولد المحافظ المفاتيح العامة والتوقيعات باستخدام الحسابات التشفيرية.قد تحتاج محفظة الهاتف المحمول إلى شيفرة آمنة وفعالة على معالجات 32 أو 64 بتًا.وقد تواجه محفظة الأجهزة قيودًا صارمة في الذاكرة والتوقيت والمعالج.يمكن لإجراءات الحقول المولدة أن توفر أساسًا متحققًا منه لعمليات المفاتيح والتوقيعات.لكن يظل على مطور المحفظة التحقق من المفاتيح العامة وحماية المفاتيح السرية وتوليد القيم العشوائية المؤقتة بأمان ومنع تسرب المعلومات عبر القنوات الجانبية.كما تظل أخطاء واجهة المستخدم وتحليل المعاملات خارج نطاق البرهان الحسابي.كيف يمكن لعقد البلوكشين الاستفادة من Fiat Crypto؟
قد تتحقق عقد البلوكشين من آلاف التوقيعات أو البراهين التشفيرية.الأداء مهم لأن التحقق غير الفعال قد يقلل معدل معالجة المعاملات ويزيد متطلبات الأجهزة.والصحة مهمة بالقدر نفسه، إذ يجب أن تصل العقد المختلفة إلى النتيجة نفسها بشأن الصلاحية.قد يؤدي اختلاف حسابي نادر إلى فشل الإجماع إذا قبلت بعض التطبيقات معاملة ورفضتها تطبيقات أخرى.يمكن للحسابات المتحقق منها تقليل أحد مصادر الاختلاف بين التطبيقات.ومع ذلك، تحتاج العقد إلى اختبارات الإجماع ومواصفات البروتوكول وأمن الشبكات وسلامة قواعد البيانات ومراجعة التطبيق الكامل.كيف يمكن لأنظمة المعرفة الصفرية الاستفادة منه؟
تجري أنظمة براهين المعرفة الصفرية كميات كبيرة من الحسابات على الحقول المنتهية.وقد يستخدم المُثبتون والمتحققون عدة حقول أولية مختلفة.قد تؤدي العمليات غير الصحيحة في الحقول إلى براهين غير صالحة أو رفض خاطئ أو إخفاقات أمنية خطيرة.يمكن لمولّد شيفرة يخصص الحسابات لمعامل نظام البرهان أن يحسن قابلية النقل والضمان.لكن Fiat Crypto لا يولّد تلقائيًا نظامًا كاملًا لإثبات المعرفة الصفرية.تتطلب التزامات كثيرات الحدود وبناء سجل المحادثة ومعادلات البرهان ومنطق الدوائر والافتراضات التشفيرية تطبيقات وبراهين منفصلة.كيفية استخدام Fiat Crypto بأمان
ينبغي للمطورين البدء بالمستودع الرسمي وقراءة الوثائق الحالية للبناء والمكونات الخلفية.وعليهم اختيار استراتيجية حسابية مدعومة تناسب المعامل والبنية المستهدفة.ينبغي فحص الشيفرة المولدة وترجمتها بالإعدادات المدعومة واختبارها مقابل متجهات مستقلة معروفة النتائج.يجب توثيق حدود البرهان وقيود المكوّن الخلفي ضمن مراجعة أمن التطبيق المستهلك للشيفرة.ينبغي اختبار المدخلات المشوهة والقيم الحدية وأقصى قيم الحمل والصفر والترميزات غير المعيارية.كما ينبغي تقييم سلوك القنوات الجانبية باستخدام المترجم والأجهزة الفعلية.يجب أن تستدعي تحديثات المولّد أو مساعد البرهان أو المترجم أو المكوّن الخلفي اختبارات ومراجعة جديدة.ينبغي لفرق الإنتاج ألا تعتبر عبارة «متحقق منه رسميًا» مبررًا لتجاوز مراجعات الدمج.مزايا Fiat Crypto
يوفر Fiat Crypto براهين صحة وظيفية يجري التحقق منها آليًا لتحويلات حسابية مهمة.ويمكنه توليد تطبيقات لمعاملات أولية وأحجام كلمات آلة متعددة.كما يقلل العمل اليدوي المتكرر اللازم لإنشاء حسابات حقول محسّنة.وتسهل المواصفات عالية المستوى فهمها أكثر من آلاف العمليات منخفضة المستوى المكتوبة يدويًا.المشروع مفتوح المصدر ويمكن فحصه بصورة مستقلة.ويدعم توليد الشيفرة القابل لإعادة الإنتاج بدل الاعتماد فقط على ملفات حسابية منسوخة مجهولة المصدر.كما رُبطت إجراءاته المولدة ببرمجيات تشفيرية واسعة الاستخدام ومجموعات اختبار شاملة.قيود Fiat Crypto
لا يغطي Fiat Crypto سوى جزء من مجموعة البرمجيات التشفيرية الكاملة.وتختلف ضماناته البرهانية باختلاف المكونات الخلفية.يتطلب بناء التطوير البرهاني وتعديله معرفة متخصصة بـ Coq والأساليب الرسمية والمترجمات والحسابات التشفيرية.ولا بد أن تمر الشيفرة المصدرية المولدة عبر المترجمات العادية وسلاسل أدوات المنصات.لا تثبت الصحة الوظيفية تلقائيًا مقاومة كل القنوات الجانبية.وقد يختلف الأداء حسب المعالج والمترجم.يمكن للمعلمات غير المدعومة أو المكونات الخلفية غير المصانة أن تضيف مخاطر.يظل التطبيق الصحيح رسميًا لتصميم تشفيري غير آمن غير آمن.مفاهيم خاطئة شائعة عن Fiat Crypto
Fiat Crypto ليس عملة مشفرة.ولا يرتبط بالأموال الورقية التي تصدرها الحكومات.ولا يحوّل النقد إلى أصول رقمية.وليس تحويل Fiat–Shamir.ولا ينشئ تطبيقات بلوكتشين كاملة تلقائيًا.ولا يثبت أمان كل برنامج يستخدم مخرجاته.ولا يلغي الحاجة إلى الاختبار ومراجعة الشيفرة.ولا يوفر ضمانات برهانية متماثلة لكل مكوّن خلفي للغات المدعومة.ولا يجعل المفاتيح الضعيفة أو البروتوكولات غير الآمنة أو واجهات المحافظ غير الآمنة آمنة.الأسئلة الشائعة
ما هو Fiat Crypto؟
Fiat Crypto مشروع مفتوح المصدر يولّد شيفرات حسابية تشفيرية فعالة من مواصفات عالية المستوى، مع براهين صحة يجري التحقق منها آليًا.هل Fiat Crypto عملة مشفرة؟
لا، إنه مشروع للتحقق من البرمجيات وتوليد الشيفرة، وليس أصلًا رقميًا.هل يرتبط Fiat Crypto بالأموال الورقية؟
لا، فهو لا يصدر العملات الحكومية ولا يعالجها ولا يحولها.هل Fiat Crypto هو نفسه Fiat Cryptography؟
نعم، يُستخدم الاسمان Fiat-Crypto وFiat Cryptography عادةً للمشروع والجهد البحثي نفسيهما.من طوّر Fiat Crypto؟
نشأ المشروع من أبحاث التحقق الرسمي والتطبيقات التشفيرية المرتبطة بمجموعة لغات البرمجة والتحقق في MIT، إلى جانب مساهمين خارجيين.ما مساعد البرهان الذي يستخدمه Fiat Crypto؟
يستخدم Coq لتعريف المواصفات وتنفيذ التحويلات والتحقق من براهين الصحة.ما نوع الشيفرة التي يولّدها Fiat Crypto؟
يولّد أساسًا إجراءات حساب معياري منخفضة المستوى للحقول التشفيرية المنتهية.هل يولّد Fiat Crypto شيفرة C؟
نعم، تُعد C أحد أهداف الإخراج الرئيسية التي تتم صيانتها.هل يدعم Fiat Crypto لغة Rust؟
يتضمن المستودع مكوّنًا خلفيًا للغة Rust تصونه جهة خارجية، مع اختبارات للشيفرة المولدة.هل يدعم Fiat Crypto لغة Go؟
نعم، يسرد المستودع مكوّنًا خلفيًا للغة Go تصونه جهة خارجية.هل يدعم Fiat Crypto لغة Zig؟
نعم، تُدرج Zig ضمن المكونات الخلفية التي تصونها جهات خارجية وتُستخدم شيفرتها المولدة في الاختبارات.هل يُنصح باستخدام مكوّن Java الخلفي؟
يشير المستودع الحالي إلى أن مكوّن Java الخلفي غير مُصان ومعروف بوجود مشكلات فيه.ما هو الحقل المنتهي؟
الحقل المنتهي مجموعة محدودة من القيم تتضمن عمليات حسابية تستخدمها خوارزميات تشفيرية كثيرة.ما هو الجزء (Limb)؟
الجزء مقطع بحجم كلمة آلة من عدد تشفيري أكبر.ما هو الاختزال المعياري؟
يحوّل الاختزال المعياري نتيجة حسابية إلى قيمة مكافئة بالنسبة إلى معامل محدد.ما هو حساب Montgomery؟
يستخدم حساب Montgomery تمثيلًا خاصًا للأعداد لتنفيذ الضرب المعياري بكفاءة دون القسمة العادية على المعامل.ما هو حساب Solinas؟
يستفيد حساب Solinas من معاملات أولية تسمح صيغها باختزال فعال باستخدام قوى العدد 2 وثوابت صغيرة.هل يدعم Fiat Crypto حسابات Curve25519؟
نعم، يتضمن المستودع الرسمي أمثلة توليد للعدد الأولي المستخدم في تشفير عائلة Curve25519.هل يدعم Fiat Crypto secp256k1؟
يتضمن المشروع أعمالًا مرتبطة بحقل secp256k1 والمنحنى الإهليلجي، وهي ذات صلة بتطبيقات توقيعات البلوكشين.هل ينشئ Fiat Crypto توقيعات رقمية؟
يولّد مكونات حسابية يمكن استخدامها ضمن تطبيقات التوقيع، لكنه ليس تطبيق توقيع كاملًا بحد ذاته.هل يثبت Fiat Crypto أمان نظام التوقيع؟
لا، فالصحة الوظيفية للحسابات تختلف عن إثبات الأمان الرياضي الكامل لنظام توقيع.هل يمنع Fiat Crypto تجاوز سعة الحساب؟
يحلل مساره المتحقق منه الحدود ويختار أحجام أعداد صحيحة يُفترض أن تستوعب القيم الوسيطة التي تغطيها مواصفاته.هل يضمن Fiat Crypto شيفرة بزمن ثابت؟
يدعم تصميمه الحسابات التشفيرية ذات تدفق التحكم الثابت، لكن الأمان الكامل ضد القنوات الجانبية يعتمد على المكوّن الخلفي والمترجم والمعالج والتطبيق المحيط.هل يمكن للاختبار أن يحل محل براهين Fiat Crypto؟
لا، فالاختبار والبرهان الرسمي يوفران نوعين مختلفين من الضمان، ويكون الجمع بينهما أكثر فائدة.هل يمكن للتحقق الرسمي أن يحل محل التدقيق الأمني؟
لا، إذ يجب أن يراجع التدقيق أيضًا منطق البروتوكول والدمج والعشوائية وسلامة الذاكرة والتعامل مع المفاتيح والقنوات الجانبية وسلوك التطبيق.هل كل المكونات الخلفية لـ Fiat Crypto متحقق منها رسميًا؟
لا، يوثق المستودع مستويات مختلفة من البراهين والصيانة والاختبار لمكونات الإخراج الخلفية.ما أقوى مسار موثق للمكونات الخلفية؟
يتضمن مكوّن Bedrock2 الخلفي برهانًا إضافيًا يربط شجرة الصياغة المجردة بتمثيل Fiat Crypto الداخلي.لماذا يفيد Fiat Crypto في البلوكشين؟
يمكنه الحد من أخطاء تطبيق الحسابات في التوقيعات والمفاتيح والبراهين وغيرها من العمليات التشفيرية التي تستخدمها برمجيات البلوكشين.هل يمكن استخدام Fiat Crypto في المحافظ؟
يمكن دمج الحسابات المولدة في التشفير المستخدم بالمحافظ، لكن المحفظة الكاملة تحتاج إلى هندسة أمنية منفصلة.هل Fiat Crypto هو نفسه التحويل من العملات الورقية إلى العملات المشفرة؟
لا، فالتحويل من العملات الورقية إلى العملات المشفرة خدمة مالية لشراء الأصول الرقمية بعملة حكومية.هل Fiat Crypto هو نفسه Fiat–Shamir؟
لا، إذ يحوّل Fiat–Shamir البراهين التفاعلية، بينما يولّد Fiat Crypto تطبيقات حسابية متحققًا منها.هل Fiat Crypto مفتوح المصدر؟
نعم، المشروع متاح علنًا بموجب عدة خيارات مرنة لتراخيص مفتوحة المصدر، موثقة في مستودعه.الخلاصة
Fiat Crypto نظام للتحقق الرسمي وتوليد الشيفرة، مخصص لإنتاج حسابات تشفيرية فعالة.يتيح للمطورين وصف العمليات المعيارية على مستوى عالٍ واشتقاق تطبيقات منخفضة المستوى عبر تحويلات يجري التحقق منها آليًا.للمشروع أهمية خاصة في مجال العملات المشفرة، لأن توقيعات البلوكشين ومفاتيحه ومحافظه وعقده وأنظمة المعرفة الصفرية تعتمد على صحة الحسابات في الحقول المنتهية.يمكن لـ Fiat Crypto توليد عمليات لحقول أولية مهمة واستراتيجيات تنفيذ مثل حسابي Solinas وMontgomery.يشمل الدعم مساري C وBedrock2/C اللذين تتم صيانتهما، إلى جانب مكونات خلفية للغات تصونها جهات خارجية.ويعتمد مستوى الضمان الدقيق على المكوّن الخلفي المحدد ونطاق البرهان الرسمي.يقلل التحقق الرسمي مخاطر الأخطاء الحسابية، لكنه لا يثبت كل خصائص التطبيق التشفيري الكامل.ما زال على المطورين مراجعة أمان البروتوكول والتعامل مع المفاتيح الخاصة والعشوائية والتسلسل وسلوك المترجم والأجهزة ومقاومة القنوات الجانبية.لذلك ينبغي فهم Fiat Crypto على أنه أساس قوي للبرمجيات التشفيرية عالية الضمان، لا بديل كامل عن الاختبار والتدقيق والتصميم الآمن للأنظمة.قد يعجبك أيضاً
WhatsMiner M30S++
نطاقات Web3
مشاريع Web3
رائج
العملات المشفرة الرائجة حاليًا والتي تحظى باهتمام كبير في السوق
الأعلى حجماً
العملات المشفرة ذات أعلى حجم تداول
مضاف حديثا
العملات المشفرة المدرجة مؤخرًا والمتاحة للتداول

