ملخص
BitTorrent-Chain عبارة عن منصة تطبيق بلوكشين blockchain فإذا كنت ترغب في أن تصبح مدققًا من خلال إعداد عقدة لسلسلة BitTorrent أو أن تصبح مفوضًا لتوكيل الرموز المميزة إلى مدقق وتلقي المكافآت يمكنك استخدام هذا المستند للحصول على نظرة عامة سريعة على ما ينطوي عليه الأمر.
PoS و Staking والتصويت
إثبات الحصة (PoS)
إثبات الحصة (PoS) هو فئة من خوارزمية الإجماع لشبكات البلوكشين العامة التي تعتمد على المصلحة الاقتصادية للمدقق في الشبكة وفي سلاسل الكتل العامة القائمة على إثبات العمل (PoW) (مثل التطبيقات الحالية لـ Bitcoin و Ether) تكافئ الخوارزمية المشاركين الذين يحلون ألغاز التشفير للتحقق من صحة المعاملات وإنشاء كتل جديدة (مثل التعدين) وفي blockchain العام المستند إلى PoS يتناوب مجموعة من المندوبين المتميزين في اقتراح الكتلة التالية والتصويت عليها مع اعتماد وزن كل تصويت Validator على حجم إيداعه (أي حقوق الملكية) وتشمل المزايا المهمة لنقاط البيع الأمان وتقليل مخاطر المركزية وكفاءة الطاقة.
لمزيد من المعلومات التفصيلية راجع هذا الرابط:
github.com/ethereum/wiki/wiki/Proof-of-Stake
التعهد – Staking
التصويت
التصويت هو العملية التي يقوم من خلالها حاملو الرمز بتفويض أسهمهم إلى أداة التحقق ويسمح لأصحاب الرمز المميز الذين ليس لديهم المهارات أو الرغبة في تشغيل عقدة بالمشاركة في الشبكة والحصول على مكافأة تتناسب مع عدد الأسهم التي تم التصويت عليها.
الهيكل
BitTorrent-Chain عبارة عن نظام أساسي لتطبيق البلوكشين blockchain بهيكل عام مقسم إلى ثلاث طبقات.
◽️طبقة العقود الأساسية: عقود الجذر على TRON وشبكات blockchain الأخرى ، ودعم المستخدمين لتعيين الرموز المميزة إلى BitTorrent-Chain من خلال الوصول إلى الأموال ، ودعم ميزات مثل التعهدات.
◽️طبقة التحقق من الصحة (طبقة المدقق): التتحقق من كتل سلسلة BitTorrent وارسال بانتظام نقاط التفتيش “checkpoints” إلى شبكة TRON الداعمة وشبكات البلوكشين blockchain الأخرى.
Bridge: الاستماع إلى الأحداث الموجودة في كل سلسلة ، وإرسال رسائل الأحداث ، وما إلى ذلك.
الأساس: وحدة الإجماع ، بما في ذلك التحقق من صحة Checkpoint (لقطة من حالة BitTorrent-Chain) ، والإجماع على أحداث Statesync وأحداث Staking.
REST-Server: يوفر خدمات API ذات الصلة.
◽️طبقة BitTorrent-Chain
كود جيثب
قاعدة رمز BitTorrent-Chain لفهم كيفية عمل مكونات سلسلة BitTorrent الأساسية.
بمجرد أن تكون على دراية بالهيكل وقاعدة التعليمات البرمجية وبهذا يمكنك إعداد العقدة الخاصة بك ، ويرجى ملاحظة أن الوثائق أعلاه تهدف فقط إلى تعريفك بالأعمال الداخلية ويمكنك إعداد العقد الخاصة بك مباشرة دون التعرف على المواصفات المذكورة أعلاه.
إنشاء العقدة الخاصة بك
يرجى الرجوع إلى وثائق إعداد العقدة
doc.bt.io/v1/doc/validator/node.html
المفوض/المدقق
ما هو المدقق
لا يحتاج المفوض إلى استضافة عقدة كاملة للمشاركة في التحقق. يمكنهم مشاركة رموز BTT لمندوب متميز والحصول على جزء من المكافأة في المقابل ونظرًا لأنهم يشاركون المكافأة مع المفوض المتميز ، فإن المندوب يشارك أيضًا المخاطرة ويلعب المندوبون دورًا حاسمًا في النظام لأنه يمكنهم اختيار المدقق كما يحلو لهم.
لتصبح مفوضاً/مدققاً
المندوبون هم أصحاب الرموز الذين لا يستطيعون أو لا يريدون تشغيل المدقق بأنفسهم ويمكنهم تفويض رموز Staking المميزة إلى جهة مصادقة والحصول على جزء من إيراداتهم في المقابل ، ولا توجد شروط مسبقة لتصبح رئيسًا لسلسلة BitTorrent ، فقط حساب TRON مطلوب.
كيفية التصويت لمدقق
الطرق التعاقدية ذات الصلة: ValidatorShare:buyVoucher(uint256, uint256)
المعايير:
_ المبلغ: مبلغ التصويت
_minSharesToMint: الحد الأدنى لمبلغ الـ Staking token
المطالبة بالمكافآت
الطرق التعاقدية ذات الصلة: StakeManagerProxy: withdrawRewards(uint256)
المعايير:
validatorId: معرف المدقق الذي يطالب بالمكافأة
إلغاء التصويت
الطرق التعاقدية ذات الصلة: ValidatorShare:(uint256, uint256)
المعايير:
uint256 ClaimAmount: المطالبة بالمبلغ
uint256 maxSharesToBurn: العدد الأقصى المقبول من العملات البديلة المراد حرقها
إعادة استثمار المكافأة
الطرق التعاقدية ذات الصلة: Validator
تحويل التصويت
الطرق التعاقدية ذات الصلة: StakeManagerProxy:sellVoucher_new(uint256, uint256)
المعايير:
uint256 claimAmount: المطالبة بالمبلغ
uint256 maxSharesToBurn: العدد الأقصى المقبول من العملات البديلة المراد حرقها
المدقق
ما هو المدقق
المدقق (Validator) هو أحد المشاركين في الشبكة الذي يقفل الرموز المميزة في الشبكة ويقوم بتشغيل عقدة التفويض الفائق للمساعدة في تشغيل الشبكة والمندوب المتميز لديه المسؤوليات التالية:
◽️تعهد الرمز المميز للشبكة وتشغيل عقدة Validator للانضمام إلى الشبكة كمدقق
◽️الحصول على مكافآت التعهد عن طريق التحقق من انتقالات الحالة على البلوكشين blockchain
◽️الحصول على عقوبات لأنشطة مثل التوقف
مدقق البلوكشين هو الشخص المسؤول عن التحقق من صحة المعاملات داخل البلوكشين blockchain ، وبالنسبة لسلسلة BitTorrent يمكن لأي مشارك أن يتأهل ليكون مدققًا لسلسلة BitTorrent عن طريق تشغيل عقدة كاملة للمكافآت ورسوم المعاملات وقد تم اختيارهم وسيشارك هؤلاء الممثلين الممتازين المختارين كمنتجين للكتل ومصدقين.
الهيكل
BitTorrent-Chain عبارة عن نظام أساسي لتطبيق البلوكشين blockchain بهيكل عام مقسم إلى ثلاث طبقات.
◽️طبقة العقود الجذرية: ستدعم العقود الأساسية على شبكة TRON وشبكات البلوكشين الأخرى وظائف Staking ، ورسم خرائط بيانات إلى BitTorrent-Chain عن طريق إيداع / سحب الأموال ، وما إلى ذلك.
◽️طبقة المدقق: تتحقق من كتل سلسلة BitTorrent وترسل بشكل دوري نقاط التفتيش إلى TRON وشبكات البلوكشين الأخرى المدعومة.
Bridge: مسؤول عن الاستماع إلى الأحداث في كل سلسلة ، وإرسال رسائل الحدث ، وما إلى ذلك.
الأساس: وحدة الإجماع بما في ذلك التحقق من Checkpoint (لقطة من حالة سلسلة BitTorrent-Chain) وإجماع أحداث Statesync وأحداث Staking.
REST-Server: يوفر خدمات API ذات الصلة
◽️طبقة سلسلة BitTorrent
المهام
مدقق Blockchain هو الشخص المسؤول عن التحقق من المعاملات داخل البلوكشين وبالنسبة إلى سلسلة BitTorrent يكون أي مشارك مؤهلاً ليصبح مدققًا لسلسلة BitTorrent ويكسب المكافآت ورسوم المعاملات عن طريق تشغيل عقدة كاملة ولضمان مشاركة جيدة من قبل المدققين Validator الذين يقومون بتأمين عدد من رموز BTT الخاصة بهم كمشاركة في النظام البيئي.
يتم اختيار أدوات التحقق من BitTorrent-Chain من خلال التعهد “stake”على السلسلة ، وهي عملية تحدث بشكل دوري ويشارك هؤلاء الممثلين الممتازين المختارين كمنتجين للكتل ومصدقين/مدققين ، وبمجرد التحقق من checkpoint (مجموعة من الكتل) من قبل أحد المشاركين يتم تحديثها بعد ذلك على TRON و Ether و BSC ويتم إصدار مكافأة للممثل الأعلى بناءً على مشاركاته في الشبكة.
واجبات المدقق
◽️انضم إلى الشبكة عن طريق قفل رموز BTT في عقد حصة على TRON.
◽️يمكن للمدققين الخروج من النظام في أي وقت ، ويمكن القيام بذلك عن طريق إلغاء تنفيذ المعاملات على العقد.
◽️يمكن للمدقق زيادة عدد الرموز المميزة لـ Stake BTT في أي وقت لزيادة سعة التعهد.
◽️بعد إعداد عقدة Validator ، سيقوم Validator بتنفيذ الإجراءات التالية:
1.اختيار كتلة المنتج
2.التحقق من صحة الكتلة على سلسلة BitTorrent
3.تقديم checkpoint
4.مزامنة التغييرات على عقد BitTorrent-Chain stake على Ether
5.مزامنة الحالة من TRON و Ether و BSC إلى طبقة BitTorrent-Chain
◽️يُطلب من المدققين الاحتفاظ بالحد الأدنى من الرموز المميزة للدفع مقابل المعاملات في السلسلة ذات الصلة.
المكونات الأساسية
طبقة المدقق
تقوم طبقة Validator بتجميع الكتل التي تم إنشاؤها بواسطة BitTorrent-Chain في Merkle root ، وتنشر Merkle root بشكل دوري إلى root chain وهذا النشر الدوري يسمى “checkpoint” ولكل كتلة في BitTorrent-Chain مدقق (Validator).
1.يتحقق من صحة جميع الكتل منذ آخر نقطة تفتيش.
2.قم بإنشاء شجرة مركل من تجزئات الكتل.
3.نشر جذر ميركل في السلسلة الرئيسية.
نقاط التفتيش مهمة لسببين:
1.لتوفير نهائية على سلسلة الجذر.
2.تقديم دليل على الحرق عند سحب الأصول.
سلسلة BitTorrent
منتج الكتلة في طبقة سلسلة BitTorrent و VM في طبقة سلسلة BitTorrent متوافق مع EVM وتطبيق Geth الأساسي مع تعديلات مخصصة لخوارزمية الإجماع.
آلية نقطة تفتيش (Checkpoint)
يتم اختيار مقدم العرض في Validator بواسطة خوارزمية round robin من Tendermint وهناك عملية إرسال من مرحلتين لتقديم Checkpoint بنجاح على Tendermint واحدة حيث يرسل مقدم العرض المحدد بواسطة خوارزمية Tendermint أعلاه Checkpoint بعنوانه في حقل مقدم الطلب وسيقوم جميع مقدمي العروض الآخرين بالتحقق من صحتها قبل إضافتها – عارضين آخرين قبل إضافته إلى منطقتهم.
بعد ذلك يرسل المؤيد التالي معاملة تأكيد لإثبات نجاح معاملة Checkpoint السابقة في شبكة Ethernet الرئيسية وستتم إعادة توجيه كل تغيير يتم إجراؤه على مجموعة المدقق بواسطة عقدة Validator الموجودة في Validator والتي يتم تضمينها في عقدة المفوض الفائق ويتيح ذلك للممثل الفائق البقاء متزامنًا مع حالة عقود سلسلة BitTorrent على سلاسل مثل TRON و Ethereum في جميع الأوقات.
تعتبر عقود سلسلة BitTorrent المنتشرة على سلاسل مثل TRON و Ethereum المصدر النهائي للحقيقة لذلك تتم جميع عمليات التحقق من خلال الاستعلام عن عقود سلسلة BitTorrent على سلاسل مثل TRON و Ethereum.
Stake
بالنسبة لسلاسل BitTorrent يمكن لأي مشارك أن يتأهل كمدقق لسلسلة BitTorrent من خلال تشغيل عقدة كاملة والدافع الرئيسي ليصبح مفوضًا متميزًا هو كسب المكافآت ورسوم المعاملات.
المدقق له عنوانان
عنوان المالك: من هذا العنوان يمكن للمدقق التعامل مع الوظائف المتعلقة بالإدارة مثل إلغاء الضمانات والحصول على المكافآت وتعيين معلمات الحصة.
عنوان الموقّع: من هذا العنوان يوقّع المدقّق على Checkpoint ويدير العقد.
وصف واجهة عقود Stake ذات الصلة
Contracts | Methods | Parameters | Remarks |
---|---|---|---|
StakeManagerProxy | stakeFor | address user:Stake Account Address uint256 amount:Number of stake tokens with precision uint256 deliveryFee:fee bool acceptDelegation:Accepting agents or not bytes memory signerPubkey:signerPubkey | Stake become validator,Valid if the validator set is not full, otherwise the validator set is full error |
StakeManagerProxy | restake | uint256 validatorId:validator id uint256 amount:Number of stake bool stakeRewards:Whether the award is added to the stake | restake |
StakeManagerProxy | withdrawRewards | uint256 validatorId:validator id | Receive your award |
StakeManagerProxy | unstake | uint256 validatorId:validator id | unstake |
StakeManagerProxy | unstakeClaim | uint256 validatorId:validator id | Collect the stake and release the stake after WITHDRAWAL_DELAY an epoch |
StakeManagerProxy | updateSigner | uint256 validatorId:validator id bytes memory signerPubkey:signerPubkey | Update validator signerPubkey |
StakeManagerProxy | topUpForFee | user:Account address of the recipient of the fee deliveryFee:deliveryFee amount with precision | stakedeliveryFee |
StakeManagerProxy | claimFee | uint256 accumFeeAmount:Number of fees received uint256 index:bytes memory proof:proof data | |
claimFee | |||
StakeManagerProxy | updateCommissionRate | uint256 validatorId:validator id uint256 newCommissionRate:newCommissionRate,<=100 | updateCommissionRate |
ValidatorShare | buyVoucher | uint256 _amount:Number of votes uint256 _minSharesToMint:Minimum number of coins acceptable | Vote and add vote |
StakeManagerProxy | migrateDelegation | uint256 fromValidatorId:from validator id uint256 toValidatorId: to validator id uint256 amount:Number of delegation | migrateDelegation |
ValidatorShare | sellVoucher_new | uint256 claimAmount:claimAmount uint256 maximumSharesToBurn:Maximum number of coins burn | Cancellation of vote |
ValidatorShare | unstakeClaimTokens_new | uint256 unbondNonce:unbond Nonce | Withdraw the vote and collect it after WITHDRAWAL_DELAY epoch after unvoting |
ValidatorShare | restake | None | Reward reinvestment |
ValidatorShare | withdrawRewards | None | Receive your voting reward |
رسوم التحويل
سيحصل كل منتج كتلة “block producer” في طبقة سلسلة BitTorrent على نسبة مئوية من رسوم المعاملات المفروضة على كل كتلة.
آلية تزامن المنطقة “State”
يتلقى المدقق الموجود على طبقة Validator حدث StateSynced ويمرره إلى طبقة سلسلة BitTorrent.
يرث عقد المتلقي من IStateReceiver ، ويقع المنطق المخصص المرتبط في دالة onStateReceive.
ما يحتاجه Dapp / المستخدم هو العمل مع مزامنة الحالة.
1.يتم استدعاء وظيفة syncState () لعقد StateSender.
2.ستؤدي الوظيفة المذكورة أعلاه إلى تشغيل StateSynced (معرف uint256 المفهرس ، والعنوان المفهرس ، والعقد ، وبيانات البايت) ؛ الحدث
3.سيتلقى جميع المفوضين المتميزين في طبقة Validator هذا الحدث.
4.بمجرد تضمين معاملة مزامنة الحالة على طبقة Validator في كتلة ، تتم إضافتها إلى قائمة مزامنة الحالة المعلقة.
5.تجلب عُقد طبقة سلسلة BitTorrent حدث مزامنة الحالة المعلقة من DanValidator عبر استدعاء API.
6.يرث عقد المتلقي واجهة IStateReceiver ويقع المنطق المخصص لفك تشفير وحدات بايت البيانات وتنفيذ أي إجراءات في وظيفة onStateReceive.