هل تتطلع إلى التعرف على Hyperledger Besu؟ إذا قمت بذلك ، فقد أتيت إلى المكان الصحيح.
يزدهر عالم blockchain بمشاريع مثيرة. الأمر كله يتعلق بإحضار أفضل الحلول للشركات التي ترغب في الاستفادة من blockchain.
Hyperledger هو واحد من أكبر مشاريع DLT الموجودة هناك. إنه تعاون مفتوح المصدر لتقديم أفضل الجهود لتطوير تقنية blockchain. بفضل الجهود العالمية ، تريد مؤسسة Linux إنشاء إطار عمل يمكن للشركات اتباعه في جميع أنحاء العالم. يشارك قادة من مختلف القطاعات في المشروع ، بما في ذلك البنوك وسلاسل التوريد والتصنيع والتمويل والتكنولوجيا.
يتكون Hyperledger من العديد من المشاريع بما في ذلك Hyperledger Fabric الأكثر شهرة.
تعرف على Hyperledger Besu ، وهو مشروع جديد مفتوح المصدر تمت إضافته مؤخرًا إلى قائمة مشروعات Hyperledger.
ما هو هايبرليدجر بيسو?
Hyperledger Besu هو أول مشروع blockchain عام ينضم إلى Hyperledger رسميًا. قبل الاستيلاء عليها ، تُعرف باسم ConsenSys ‘Pantheon. تم اقتراح العضو الجديد لأول مرة للإضافة إلى عضو الكونسورتيوم في 8 أغسطس.
هذه خطوة كبيرة بالنظر إلى أن لدينا مشاريع رائعة داخل الكونسورتيوم بما في ذلك Hyperledger Fabric و Hyperledger Sawtooth ، بدعم من كل من IBM و Intel على التوالي.
في 29 أغسطس 2019 ، تم الإعلان عن أن Hyperledger Besu جزء من الكونسورتيوم. لقد كانت إضافة رائعة بالنظر إلى أنها أول blockchain عام ينضم إلى صفوف Hyperledger حيث تكون البلوكشين المصرح بها فقط جزءًا من.
إذن ، ما هو Hyperledger Besu?
إنه عميل Ethereum مفتوح المصدر تم تطويره بترخيص Apache 2.0. كما أنه مكتوب بلغة Java ويستخدم شبكة Ethereum العامة. التقنيات الرئيسية الأخرى المستخدمة لجعل Besu وظيفية تشمل Gorli و Rinkeby و Ropsten.
عندما يتعلق الأمر بطريقة الإجماع ، فإنه يستخدم إثبات السلطة (Clique و IBFT 2.0) وإثبات العمل (Ethash).
الكل في الكل ، إنه حل رائع يتيح للمؤسسات إنشاء تطبيقات قابلة للتطوير وعالية الأداء على شبكة خاصة. علاوة على ذلك ، يأتي أيضًا مع دعم الإذن والخصوصية.
ما هو عميل Ethereum?
إذا كنت قد انتبهت ، فأنت تعلم بالفعل أننا ذكرنا Besu كعميل Ethereum. إذن ، ما هو عميل Ethereum؟ دعنا نستكشف.
عميل Ethereum هو برنامج يستخدم لتنفيذ بروتوكول Ethereum. بكلمات بسيطة ، يمكن استخدامه للقيام بالأشياء التالية:
- قم بإنشاء بيئة تنفيذ في Ethereum blockchain لمعالجة المعاملات
- تخزين البيانات المستمر بما في ذلك تخزين تنفيذ المعاملات
- تمكين اتصال شبكة نظير إلى نظير (P2P) بين العقد
- يقدم واجهات برمجة التطبيقات للتطوير الآمن والتفاعل مع blockchain.
ما الأشياء التي يمكنك القيام بها مع Hyperledger Besu؟ حالات استخدام Hyperledger Besu
للحصول على فكرة أفضل عن blockchain Hyperledger Besu ، دعنا نتعلم الأشياء التي يمكن القيام بها باستخدام شبكة Hyperledger Besu.
أول شيء ستلاحظه بخصوص Besu هو واجهة سطر الأوامر. كما يوفر واجهة برمجة تطبيقات JSON-RPC. يمكن استخدام كلاهما لمراقبة العقد على شبكة Ethereum وتصحيحها وصيانتها وتشغيلها.
باختصار ، يمكن استخدامه للأشياء التي تشبه إلى حد بعيد ما تستطيع شبكة Ethereum القيام به:
- تطوير التطبيق اللامركزي (dApp)
- تطوير العقود الذكية
- تعدين الأثير
عندما يتعلق الأمر بالدعم الفني ، فإنه يوفر أدوات مشتركة لتطوير dApp والعقود الذكية. وهو يدعم أدوات مثل Remix و Truffle و web3j. ومع ذلك ، قد لا تجد دعمًا للإدارة الرئيسية داخل Besu. لذلك ، تحتاج إلى استخدام EthSigner الذي يعمل معه بشكل لا تشوبه شائبة ، مما يمنحك أداة لإدارة المفاتيح المناسبة. تعد شبكة Hyperledger Besu مثالية لاحتياجات المؤسسات مما يعني أن هناك الكثير من حالات استخدام Hyperledger Besu.
الميزات الرئيسية لـ Besu: كيف يعمل Hyperledger Besu
الآن وقد نما فهمنا لشبكة Hyperledger Besu ، فقد حان الوقت الآن لمناقشة ميزاتها. من خلال استعراض الميزات ، ستتمكن أيضًا من فهم ما يجعل Besu عضوًا مهمًا في اتحاد Hyperledger.
مواصفات EEA (Enterprise Ethereum Alliance)
→ تطبق مواصفات EEA (Enterprise Ethereum Alliance). تضمن المواصفات إمكانية الاتصال بمشاريع Ethereum الأخرى التي يمكن أن تكون مغلقة ومفتوحة المصدر. تعتبر المواصفات مهمة للغاية لأنها تضمن عدم اضطرار المشروعات للقلق بشأن مشكلات تقييد البائعين. علاوة على ذلك ، يمكنك أيضًا الحصول على الواجهة القياسية لبناء تطبيق سلس. تعمل Besu بشكل رائع مع المنطقة الاقتصادية الأوروبية وتنجح في توفير ميزات المؤسسة.
EVM (جهاز إيثريوم الإفتراضي)
يعتبر EVM في صميم سلسلة Hyperledger Besu blockchain. إنها تورينج كاملة. يساعد في تنفيذ العقد الذكي عبر معاملات Ethereum blockchain.
خوارزميات التوافق
يقدم Hyperledger Besu خيارات جيدة عندما يتعلق الأمر بخوارزمية الإجماع. من خارج الصندوق ، تحصل على الدعم لكل من خوارزميات إجماع إثبات العمل وإثبات السلطة. تُستخدم الخوارزميات لإجراء المعاملات على شبكة Ethereum.
إثبات العمل → مع إثبات العمل ، يمكن لعمال المناجم القيام بنشاط التعدين على شبكة Ethereum mainnet. لهذا الغرض ، يتم استخدام Ethash.
إثبات السلطة → لإثبات السلطة ، تحصل على بروتوكولات PoA متعددة. إذا كنت لا تعرف ، فإن PoA تعمل فقط إذا كانت هناك ثقة راسخة بالفعل بين العقد المشاركة في الشبكة. هذا هو السبب في أن خوارزميات PoA مثالية للشبكات المرخصة ، خاصة تلك التي تنفذها المؤسسات.
- من خارج الصندوق ، يمكنك استخدام IBFT 2.0. الحسابات المعتمدة تهتم بالكتل والتحقق من المعاملات. تُعرف الحسابات المعتمدة بالمصدقين. ثم تعمل مجموعة المدققين ككيان سلطة ، حيث يمكنهم التصويت لإضافة / إزالة المدققين. أحد القيود هو أن IBFT 2.0 لا يسمح بالشوكات ، وستكون هناك دائمًا سلسلة رئيسية واحدة.
- Clique هي خوارزمية حماية تضمن التسامح مع الخطأ. يمكن أن يتسامح مع ما يصل إلى نصف المدققين الفاشلين. بالنسبة إلى الإصدار 2.0 من IBFT ، من الضروري تشغيل ثلثي المدققين على الأقل لمواصلة عملية إنشاء الكتلة.
تخزين
شبكة Hyperledger Besu مرنة عندما يتعلق الأمر بتوفير دعم التخزين. تمامًا مثل حلول blockchain الأخرى ، فإنه يستخدم أيضًا نهج القيمة الرئيسية. من خارج الصندوق ، يستخدم قاعدة بيانات RocksDB ذات القيمة الرئيسية. يساعد على توفير استمرارية البيانات. ومع ذلك ، يمكن تقسيم البيانات المخزنة إلى فئتين فرعيتين.
بلوكشين
→ يتم استخدام رؤوس الكتلة لتشكيل السلسلة. تُستخدم المعلومات الموجودة في رؤوس الكتل للتحقق من حالة التشفير باستخدام blockchain.
→ من ناحية أخرى ، تحتوي هيئات الحظر على قائمة معاملات الطلبات لكل كتلة
← يتم تخزين البيانات الوصفية لتنفيذ المعاملة في إيصال المعاملة.
الدولة العالمية
→ يتم استخدام تجزئة stateRoot بواسطة كل رأس كتلة للإشارة إلى الحالة العالمية.
→ هو تعيين الحسابات لمعالجتها
← يتم تخزين رصيد الأثير في حسابات مملوكة خارجيًا
→ تحتوي العقود الذكية على الرمز والتخزين
شبكات P2P
عندما يتعلق الأمر بشبكات P2P ، تطبق Besu بروتوكول شبكة devp2p Ethereum. يضمن البروتوكول الاتصال بين العملاء. كما أنه يعمل كبروتوكول فرعي إضافي لـ IBFT2. يتم الاكتشاف باستخدام بروتوكول قائم على UDP ، على غرار ما تفعله شبكة الإنترنت. للاتصال ، فإنه يستخدم RLPx – بروتوكول قائم على TCP. من ناحية أخرى ، يستخدم RLPx بروتوكولات فرعية مختلفة بما في ذلك بروتوكول ETH Wire (لمزامنة حالة المعاملة) والبروتوكول الفرعي IBF (لاتخاذ قرارات الإجماع)
واجهات برمجة التطبيقات التي تواجه المستخدم
يأتي Besu مع واجهات برمجة تطبيقات ممتازة. تتضمن واجهات برمجة التطبيقات التي يوفرها عبر بروتوكول HTTP و WebSocket واجهات برمجة تطبيقات EEA JSON-RPC وواجهات برمجة تطبيقات Ethereum الرئيسية. كما أنه يدعم واجهة برمجة تطبيقات GraphQL.
يراقب
يدعم blockchain Hyperledger Besu ميزات المراقبة – بما في ذلك مراقبة أداء الشبكة والعقد. يستخدم بروميثيوس لمراقبة أداء العقدة. أيضًا ، يمكن استخدام طريقة JSON-RPC API في debug_metrics.
عندما يتعلق الأمر بأداء الشبكة ، يتم استخدام أدوات Alethi بما في ذلك EthStats Network Monitor أو Block Explorer.
خصوصية
للخصوصية ، تقدم Besu مدير المعاملات الخاصة. إنه يضمن أن الأطراف المعنية في المعاملة لن تقلق بشأن سرقة هويتهم أو أي تسرب للمعلومات.
الإذن
أخيرًا ، يوفر إدارة الأذونات المناسبة التي تتأكد فقط من العقد المسموح لها بالمشاركة.
Hyperledger Besu العمارة
بنية Hyperledger Besu بسيطة وفعالة. لقد ناقشنا جميع المكونات الرئيسية في قسم الميزات.
تشمل المكونات الأساسية الثلاثة الرئيسية لـ Besu ما يلي.
- تخزين
- إيثريوم كور
- الشبكات
دعونا نناقش جوهر Ethereum أولاً. يتكون النواة من جهاز Ethereum Virtual Machine (EVM). وهي مسؤولة عن تنفيذ أي معاملة. على رأس EVM ، هناك معالج Tx الذي يساعد EVM على العمل بكفاءة وفعالية.
تعد طرق الإجماع أيضًا جزءًا من جوهر Ethereum. لدينا هنا طرق إجماع بما في ذلك PoW و Clique و IBFT2. يتضمن المكونان الرئيسيان الآخران لنواة إيثريوم
- تجمع المعاملات → يخزن تجمع المعاملات المعلومات المتعلقة بالمعاملات
- المزامن → يساعد على مزامنة جميع العقد والشبكة.
للغريب ، لدينا blockchain و world state. تتكون World State من حالة الحساب وتخزين الحساب وتخزين الكود.
أخيرًا ، هناك شبكات يتم تشغيلها باستخدام بروتوكول Ethereum devp2p. تشمل المكونات الأربعة الرئيسية
- اكتشاف
- RLPx
- البروتوكول الفرعي ETH
- البروتوكول الفرعي IBF
متطلبات النظام لـ Besu
Hyperledger Besu blockchain مرن للغاية عندما يتعلق الأمر بمتطلبات النظام. نظرًا لأن الشبكات يمكن أن تكون ديناميكية بطبيعتها ، بما في ذلك حجم الحالة العالمية وعدد المعاملات وحد الغاز وتعقيد الاستعلامات ، يمكن أن تختلف متطلبات النظام كثيرًا.
ولكن ، في معظم الأحيان ، تحتاج إلى ما يلي.
- 4 جيجا بايت من ذاكرة الوصول العشوائي. إذا قررت تشغيل Ethereum Mainnet ، فأنت بحاجة إلى 8 جيجابايت من ذاكرة الوصول العشوائي
- فيما يتعلق بمساحة القرص ، فأنت بحاجة إلى 3 تيرابايت على الأقل للمزامنة الكاملة أثناء العمل مع شبكة Ethereum mainnet
إذا كنت لا تزال مرتبكًا ، فأنت بحاجة إلى استخدام بروميثيوس لمراقبة العقدة لمعرفة متطلبات القرص ووحدة المعالجة المركزية بالضبط. أيضًا ، تعمل لوحة معلومات Grafana مع Besu ، والتي يمكنك استخدامها للمراقبة بسهولة.
خارطة طريق Hyperledger Besu
حقيقة أنه أصبح مفتوح المصدر منذ أكتوبر 2018 ، فهو مفتوح الآن للمساهمة من قبل أي شخص. تبدو خارطة طريق Hyperledger Besu مثيرة للاهتمام. فيما يلي المعالم الرئيسية لخارطة الطريق التي يهدفون إليها.
→ إنشاء مجموعات الخصوصية ، إذن الحساب ، إذن واجهة المستخدم ، ترقية شبكة اسطنبول
: هايبرليدجر بيسو 1.2 ، 31 يوليو 2019
→ دعم البث ، والمراقبة المخصصة لـ IBFT ، وحوكمة الأذونات: Hyperledger Besu 1.3 ، 07 أكتوبر 2019
→ عميل شبكة Multi Ethereum ، مجموعة Cross-Privacy ، ميزات الخصوصية المتقدمة ، تكامل المؤسسة ، Ethereum 2.0 ، أوائل 2020.
تثبيت التوزيع الثنائي ، والبناء من المصدر وبدء بيزو
في هذا القسم ، سنتعلم كيفية تثبيت Besu وإنشائه وبدء تشغيله على نظام MacOS وأنظمة التشغيل الأخرى.
تثبيت التوزيع الثنائي
إذا كنت تستخدم نظام التشغيل Mac OS ، فيجب أن يكون لديك البيرة و Java JDK للبدء. تحتاج أيضًا إلى Java 11+ لأن إصدارات Java السابقة غير مدعومة.
الآن ، قم بتشغيل الأمر التالي للتثبيت باستخدام Homebrew.
الشراب الحنفية hyperledger / besu
تثبيت المشروب إلى جانب ذلك
للتحقق مما إذا تم تثبيت Besu بنجاح ، تحقق من الأمر التالي.
مساعدة
إذا كنت تستخدم Unix / Linux / Windows ، فعليك تنزيل Besu ثنائيات معبأة. بمجرد التنزيل ، قم بفك ضغط الملفات وانتقل إلى دليل besu.
للتأكد من تثبيت Besu بشكل صحيح ، استخدم ملف مساعدة يأمر.
بناء من المصدر
لبناء Besu من المصدر ، تحتاج إلى استنساخ مستودع Besu.
استنساخ بوابة – متسلسل https://github.com/hyperledger/besu.git
بمجرد الانتهاء من الاستنساخ ، سنزيل الاختبارات باستخدام الأمر التالي:
./ gradlew build -x test
الآن ، انتقل إلى دليل التوزيع باستخدام الأمر:
بناء القرص المضغوط / التوزيعات /
من هناك ، تحتاج إلى توسيع أرشيف التوزيع باستخدام الأمر التالي.
tar -xzf besu-.tar.gz
مع توسيع الملفات ، انتقل الآن إلى المجلد الجديد.
cd besu- /
بن / مساعدة
إذا تم تشغيل الأمر الأخير بنجاح ، فقد نجحت في الإنشاء من المصدر.
بالنسبة لنظام التشغيل Windows ، فإن العملية هي نفسها تقريبًا. تبدأ باستنساخ المستودع ، وإزالة الاختبارات ، والانتقال إلى دليل التوزيع ، وتوسيعه ، ثم التحقق أخيرًا مما إذا كان التثبيت ناجحًا أم لا.
بدء بيزو
رائع ، الآن بعد أن تم تثبيت Besu مسبقًا ، يتعين علينا الآن تشغيله. للبدء ، عليك القيام بالخطوات التالية.
- كتلة البيانات المحلية
- تكوين جينيسيس
- تأكد من تشغيل العقدة أم لا
- تشغيل Node for Testing
الخطوة الأولى هي إعداد بيانات الكتلة المحلية. إذا كنت متصلاً بشبكة سابقة ، فأنت بحاجة إلى التخلص من بيانات الحظر المحلية. يمكنك أيضًا تكوين خيار مسار البيانات لتحديد بيانات الكتلة المحلية الجديدة.
يمكنك حذف بيانات الكتلة المحلية من دليل besu / build / Distribution / besu-. هناك ، احذف دليل قاعدة البيانات ، وأنت على ما يرام!
إذا كنت تستخدم Mainnet أو Goerli أو Rinkeby أو Ropsten ، فسيتم تحديد تكوين التكوين عند الاتصال بهم.
يمكنك أيضًا تحديد السمة –network = dev لبدء تكوين التكوين برموز تمهيد فارغة. كما أنه يحدد تكوين التكوين بمستوى صعوبة منخفض ثابت.
لتأكيد ما إذا كانت العقدة تعمل ، فأنت بحاجة إلى استخدام خيار تمكين –rpc – http. بمجرد الانتهاء من ذلك ، استخدم cURL ثم اتصل بأساليب JSON-RPC API. إذا كان هناك رد ، فهذا يعني أن العقدة تعمل.
أخيرًا ، لتشغيل العقدة للاختبار ، تحتاج إلى استخدام الأمر التالي
besu –network = dev –miner-enabled –miner-coinbase = 0xfe3b557e8fb62b89f4916b721be55ceb828dbd73 –rpc-http-cors-Origins = “all” – المضيف – القائمة البيضاء = “*” – rpc-ws-enabled –rpc-http- المسار = / tmp / tmpDatdir
الخصوصية في Hyperledger Besu
الشبكات المسموح بها معروفة بميزات الخصوصية الخاصة بها. لا يختلف Besu لأنه يوفر خيارات خصوصية ممتازة خارج الصندوق. مع Besu ، يمكنك استخدام ملفات الخصوصية المتوافقة مع المنطقة الاقتصادية الأوروبية أو بيسو-تمديد الخصوصية.
لإنشاء مجموعات الخصوصية وإدارتها ، يمكنك استخدام طرق واجهة برمجة تطبيقات JSON-RPC المتوفرة بالفعل. يمكن استخدام هذه الأساليب لإنشاء مجموعات الخصوصية وإدارتها
- priv_create مجموعة الخصوصية
- priv_findPrivacyGroup
- priv_deletePrivacyGroup
عندما يتعلق الأمر بالمعاملات ، فإن Besu تنفذ المعاملات المقيدة فقط. يتم ذلك لضمان الخصوصية وجعل المعاملات خصوصية.
يتم توقيع المعاملات بواسطة مفتاح محدد أو مفتاح عشوائي. إذا كنت ترغب في تسجيل الدخول باستخدام مفتاح معين ، فأنت بحاجة إلى استخدام ملف مفتاح توقيع المعاملة –privacy-marker-transaction-signature-file ، المتوفر مع Hyperledger Besu.
إذا كنت مهتمًا ، فيمكنك الاطلاع على برنامج تعليمي مفصل حول كيفية تكوين شبكة المعاملات الخاصة هنا. في البرنامج التعليمي ، يمكنك العثور على Orion ليكون أحد المتطلبات الأساسية للبدء.
الإذن في Hyperledger Besu
يعتبر الإذن جزءًا مهمًا من أي إطار عمل blockchain للمؤسسة. وينطبق الشيء نفسه على بيسو. تحيط أي شبكة مرخصة بفكرة السماح بعقد محددة فقط. يشاركون ويمكّنون الشبكة من خلال إجراء معاملة أو السماح بالمعاملات.
في حالة وجود شبكة نظير إلى نظير ، يلزم فرض القواعد على العقد بحيث يمكن إجراء الإذن. من الواضح أن مستوى الثقة مطلوب بالفعل حتى يكون موجودًا قبل أن تبدأ الشبكة المصرح لها بالعمل. للتأكد من أن الجهات الفاعلة السيئة لها دور ضئيل هنا ، يجب اتخاذ الاحتياطات. لا يمكن للجهات الفاعلة السيئة المنفردة ، على سبيل المثال ، التأثير على اتخاذ القرار في الشبكة. يمكن أن تساعد القواعد واللوائح المناسبة أيضًا في تحديد الجهات الفاعلة السيئة وإزالتها عندما يتم القبض عليهم وهم يقومون بأعمال ضارة.
بصرف النظر عن إذن العقدة ، هناك أيضًا خيار لأذونات الحساب التي تفرض المزيد من القواعد واللوائح. يمكن استخدام إذن الحساب لفرض متطلبات الهوية والإعداد. كما أنه يساعد على تعليق الحسابات ، وإدراج العقود المعطلة في القائمة السوداء ، وتقييد الحسابات عند تنفيذ الإجراءات.
يوفر blockchain Hyperledger Besu كلاً من المحلي و onchain.
→ إذن محلي يتم على مستوى العقدة. لتنفيذه ، يتم استخدام ملف تكوين الأذونات. نظرًا لأن الأذونات محلية ، فإنها لا تؤثر على الشبكة. هذا مفيد في كيفية عمل العقدة – وهي مستقلة عن بقية الشبكة. مطلوب أيضًا حماية العقد في حالة حدوث خطأ ما.
→ إذن Onchain, من ناحية أخرى ، يتم ترميزها في العقود الذكية. يتم الحصول على إذن Onchain على مستوى الشبكة ، ويمكن لجميع العقد قراءته وتحديثه. لا يمكن تعديل إذن Onchain أو تحديثه إلا بالتنسيق. أيضًا ، بمجرد تحديثه ، يتم تطبيقه عبر الشبكة.
التسمية التوضيحية: كيف يعمل Local و OnChain المصرح به
يمكنك أيضا متابعة هذا الدليل لمعرفة كيفية إعداد شبكة إذن في Besu.
أشياء أخرى جديرة بالذكر
هايبرليدجر بيسو جيثب: إذا كنت تعتقد أنه يمكنك المساهمة في Hyperledger Besu ، فيمكنك التحقق من مستودع Hyperledger Besu GitHub هنا.
حاليًا ، لا توجد أفضل دورات Hyperledger في Besu ، ولهذا السبب يمكنك أيضًا التحقق من وثائق المستخدم هنا. لديهم دروس كاملة حول كيفية البدء السريع للشبكات ، أو كيفية إنشاء شبكة خاصة.
استنتاج
هذا يقودنا إلى نهاية دليل البدء الخاص بـ Hyperledger Besu. هنا قمنا بتغطية الكثير من الأشياء حول بيزو.
سنقوم قريبًا بتغطية Hyperledger Fabric vs Besu قريبًا. لذلك لا تنس الاشتراك في النشرة الإخبارية لدينا.
أيضا ، ما رأيك في ذلك؟ التعليق أدناه، واسمحوا لنا أن نعرف.