دليل المفوض والمدقق على BitTorrent-Chain

ملخص

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

image

المهام

مدقق 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 ذات الصلة

ContractsMethodsParametersRemarks
StakeManagerProxystakeForaddress 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
StakeManagerProxyrestakeuint256 validatorId:validator id
uint256 amount:Number of stake
bool stakeRewards:Whether the award is added to the stake
restake
StakeManagerProxywithdrawRewardsuint256 validatorId:validator idReceive your award
StakeManagerProxyunstakeuint256 validatorId:validator idunstake
StakeManagerProxyunstakeClaimuint256 validatorId:validator idCollect the stake and release the stake after WITHDRAWAL_DELAY an epoch
StakeManagerProxyupdateSigneruint256 validatorId:validator id
bytes memory signerPubkey:signerPubkey
Update validator signerPubkey
StakeManagerProxytopUpForFeeuser:Account address of the recipient of the fee
deliveryFee:deliveryFee amount with precision
stakedeliveryFee
StakeManagerProxyclaimFeeuint256 accumFeeAmount:Number of fees received
uint256 index:bytes memory proof:proof data
claimFee
StakeManagerProxyupdateCommissionRateuint256 validatorId:validator id
uint256 newCommissionRate:newCommissionRate,<=100
updateCommissionRate
ValidatorSharebuyVoucheruint256 _amount:Number of votes
uint256 _minSharesToMint:Minimum number of coins acceptable
Vote and add vote
StakeManagerProxymigrateDelegationuint256 fromValidatorId:from validator id
uint256 toValidatorId: to validator id
uint256 amount:Number of delegation
migrateDelegation
ValidatorSharesellVoucher_newuint256 claimAmount:claimAmount
uint256 maximumSharesToBurn:Maximum number of coins burn
Cancellation of vote
ValidatorShareunstakeClaimTokens_newuint256 unbondNonce:unbond NonceWithdraw the vote and collect it after WITHDRAWAL_DELAY epoch after unvoting
ValidatorSharerestakeNoneReward reinvestment
ValidatorSharewithdrawRewardsNoneReceive 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.

المصدر