دا پاڼه وګورئ چې پوه شئ کله چې یو لېږد له Rand څخه تېرېږي، څوک کوم کار کوي. ثبوت جوړول ګران دي او تایید یې ارزان دی، نو کار د همدې کرښې پر بنسټ وېشل شوی دی. د لېږونکي اړخ ثبوتونه جوړوي. تصدیقوونکي یوازې دا ثبوتونه کتل کوي، ترتیبوي یې او رایه ورکوي. یو راټولوونکی، کله چې فعال شي، ډېر ثبوتونه به په یوه ثبوت کې سره یو ځای کړي. لاندې انځور یو لېږد له والټ څخه تر وروستي بلاک پورې تعقیبوي؛ له هغه وروسته برخې هر رول یو په یو بیانوي.
د یوه لېږد لاره
- والټ لېږد جوړوي. والټ خپل ننوتونکي نوټونه ټاکي، د هغوی Merkle شاهدان راوړي، څلور وتونکي جوړوي او هر یو په یوه ML-KEM-768 پاکټ کې مهر کوي. بیا د معاملې تړون محاسبه کوي، چې له ثبوتونو پرته د هر څه هش دی (معاملې).
- والټ د اجازې ثبوت پخپله جوړوي. دا د 10 پوړ ثبوت دی چې د لګښت پر کیلي او یوې نوې مالګې جوړېږي، او څو ثانیې وخت نیسي. یوازې همدا ثبوت دی چې د لګښت له کیلي سره سروکار لري، او تل د والټ پر خپل ماشین جوړېږي.
- د بنډل ثبوت هلته جوړېږي چېرې چې ورته حافظه شته. دا د 14 پوړ ثبوت مالکیت، غړیتوب، باطلوونکي او بیلانس ثابتوي، او د حافظې لوړه اندازه یې شاوخوا 6 GB ته رسېږي. د ډیسکټاپ اپلیکېشن او هغه تلیفون چې شاوخوا 8 GB حافظه لري دا ثبوت پخپله جوړوي. له دې کوچنی هر وسیله دا کار هغه ثبوت جوړوونکي ته سپاري چې ورسره جوړه شوې ده: هغه چې تاسو یې چلوئ، یا د تصدیقوونکو حوض په
prover.randprotocol.orgکې. دواړو ته د لیدلو کیلي او مالګه لېږل کېږي، هېڅکله د لګښت کیلي نه (ثبوتونه). - یو RPC نوډ یې کتل کوي. والټ چې هر نوډ ته معامله سپاري، هغه نوډ د بنډل ډایجسټ بیا محاسبه کوي، دواړه ثبوتونه د تړون پر وړاندې تاییدوي، فیس کتل کوي، او یوازې له دې وروسته معامله خپلو ملګرو نوډونو ته خپروي (ثبوتونه، میمپول).
- تصدیقوونکي یې ترتیبوي او وروستۍ کوي یې. د لید مشر هغه معاملې اخلي چې لا هم د تطبیق وړ دي، په هر KiB کې تر ټولو ښه فیس لومړی، او یو بلاک وړاندې کوي. هر تصدیقوونکی په کې هر ثبوت بیا تاییدوي او رایه ورکوي. بلاک هغه وخت ثبتېږي کله چې په پرلپسې لیدونو کې درې د کورم سندونه پرې وتړل شي، چې دې کار ته د chain 20 له 26 تصدیقوونکو څخه 18 آنلاین ته اړتیا ده (اجماع).
- بلاک وروستی دی، او هر څوک یې کتلی شي. یوه معامله هغه وخت وروستۍ ده کله چې
rand_getTransactionیو بلاک راوګرځوي. هغه نوډ چې وروسته همغږی کېږي، پر لاسلیکونو د باور پر ځای هر سند او هر ثبوت بیا تاییدوي.
رولونه
| رول | څه کوي | ثبوت جوړوي؟ | څه ویني | چلېږي |
|---|---|---|---|---|
| والټ | لېږدونه او غوښتنې جوړوي، اجازه ورکوي او سپاري یې؛ ځنځیر په خپلو کیليګانو سکن کوي | د اجازې ثبوت تل؛ د بنډل ثبوت هغه وخت چې وسیله یې حافظه ولري | د خپلو نوټونو په اړه هر څه | د کلاینټونو په پاڼه کې اپلیکېشنونه، یا rand؛ په chain 20 کې، Rand Wallet یا د rand v0.6.8 یا وروسته نسخه |
| سپارل شوی ثبوت جوړوونکی | د هغه والټ لپاره د بنډل ثبوت جوړوي چې ورسره جوړه شوی وي؛ والټ هر ځواب له سپارلو مخکې کتل کوي | یوازې د بنډل ثبوتونه | د جوړه شوي والټ د لیدلو کیلي: د هغه ټول تاریخ، تېر او راتلونکی؛ لګښت نه شي کولی | rand-prover run، یا rand-node run --prover |
| د تصدیقوونکو د ثبوت جوړوونکو حوض | یو سپارل شوی ثبوت جوړوونکی چې څلور کوربه یې چلوي، دوه تصدیقوونکي او دوه ماشینونه چې یوازې ثبوت جوړوي، د یوه نوم او یوې کیلي تر شا، د هغو والټونو لپاره چې خپل ثبوت جوړوونکی نه لري؛ فیس نه لري | یوازې د بنډل ثبوتونه | هماغه څه چې هر سپارل شوی ثبوت جوړوونکی یې ویني، د هر هغه والټ لپاره چې ورسره جوړه شي | prover.randprotocol.org، ګوتنښه RGTF-7HKJ-XZFV-GQ1J |
| RPC نوډ (څارونکی) | همغږی کېږي، هر ثبوت بیا تاییدوي، JSON-RPC وړاندې کوي، تایید شوې معاملې خپروي؛ رایه نه لري | نه | یوازې عامې ساحې: ژمنې، باطلوونکي، مهر شوي پاکټونه، ثبوتونه | rand-node run |
| تصدیقوونکی | هر هغه څه چې څارونکی یې کوي، سربېره پر دې په خپلو لیدونو کې وړاندیز کول او په HotStuff کې رایه ورکول | نه | یوازې عامې ساحې | rand-node run --validator |
| راټولوونکی | د وروستیو شویو بنډل ثبوتونو د یوې کړکۍ پر سر یو تکراري ثبوت جوړوي او د مهرونکي بلاک لپاره یې سپاري | هو، په شبکه کې تر ټولو لوی ثبوتونه | یوازې عامې ساحې او ثبوتونه | rand-node aggregate --watch، پر هغه ځنځیر چې aggregation برخه ولري |
ثبوت جوړول او تصدیقول جلا کارونه دي، او تصدیقوونکي ته د ثبوت جوړولو هارډویر اړتیا نشته. د حوض له څلورو غړو څخه دوه تصدیقوونکي دي چې د یوه خدمت په توګه ثبوت جوړوونکی هم چلوي؛ نور دوه یې ځانګړي ثبوت جوړوونکي ماشینونه دي چې د تصدیقوونکي کیلي نه لري. د حوض چلول د تصدیق برخه نه ده. د هر رول اندازې، او په هر پوړ کې د ثبوت جوړولو اندازه شوې حافظه، د تصدیقوونکي او راټولوونکي هارډویر په پاڼه کې دي.
هر رول څه زده کولی شي
د یوه لېږد محرمیت پر دې پورې اړه لري چې کومه کیلي د چا سره ده، نه پر شبکې د باور پورې:
- تصدیقوونکي، RPC نوډونه او اکسپلورر هغه څه ویني چې هر نوډ یې ویني: ژمنې، باطلوونکي، مهر شوي پاکټونه، فیس او ثبوتونه. اندازه، شتمني، لېږونکی یا ترلاسه کوونکی نه ویني.
- سپارل شوي ثبوت جوړوونکي ته، د حوض په ګډون، د لیدلو کیلي لېږل کېږي. له دې کیلي سره، هغه د جوړه شوي والټ ټول تاریخ لوستلی شي. هېڅکله لګښت نه شي کولی، ځکه د لګښت پر کیلي د اجازې ثبوت د والټ پر ماشین جوړېږي. له حوض سره جوړېدل د دې مانا لري چې تاسو غوره کوئ چې دا تاریخ د هغه چلوونکو ته وښیئ. که غواړئ دا محرم پاتې شي، پر خپله وسیله ثبوت جوړ کړئ یا خپل ثبوت جوړوونکی وچلوئ.
- سپارل شوی ثبوت جوړوونکی والټ نه شي غولولی. والټ له هر ورکړل شوي ثبوت څخه ډایجسټ لولي، اندازه یې کتل کوي او په محلي توګه یې تاییدوي، نو ناسم ثبوت هېڅکله نوډ ته نه رسېږي.
راټولول: جوړ شوی، خو فعال نه دی
نن هر بلاک هر خام ثبوت له ځانه سره لري، د یوه لېږد لپاره شاوخوا 2.85 MB، نو یو 20 MiB بلاک شاوخوا اووه لېږدونه ځایوي. د بلاکونو راټولول د fullnode ځواب دی. یو راټولوونکی د وروستیو شویو بلاکونو د یوې کړکۍ بنډل ثبوتونه اخلي (rand_getUnsealed)، یو تکراري ثبوت جوړوي چې ټول تاییدوي، او سپاري یې. هغه بلاک چې دا ثبوت پکې شامل وي، کړکۍ مهروي. بیا تصدیقوونکي د N ثبوتونو پر ځای یو راټول شوی ثبوت تاییدوي، او نوډونه کولی شي پوښل شوي خام ثبوتونه لرې کړي. راټولوونکي تضمین ورکوي او د اجازې اړتیا نه لري، د GPU کچې پر ماشینونو چلېږي، او د پوښل شویو بنډلونو د ثبوت جوړولو ونډه او په نوي RAND کې د بلاک سبسایډي ورکول کېږي.
دا جوړ او مدغم شوی، خو فعال نه دی. په جینېسس کې یوې aggregation برخې ته اړتیا لري، او chain 20 دا برخه نه لري، نو rand_status د راټولولو هر شمېرونکی صفر ښيي. مخکې له دې چې فعال شي، د هغه د بنډل بڼه باید د اوسنیو محدودیتونو د ټولګې لاندې بیا اندازه شي، او د جعلي راټول شوي ثبوت یوه ازموینه باید د تکراري تاییدوونکي پر وړاندې ترسره شي. پر هغه ځنځیر چې اجازه پکې جلا ثابتېږي، دا به یوازې بنډل ثبوتونه مهر کړي، نه د اجازې ثبوتونه (ثبوتونه).