4. Ish isboti
5. Tarmoq
Tarmoqni ishga tushirish bosqichlari quyidagicha:
Ish isboti qiymatni skanerlashni o'z ichiga oladi, masalan, SHA-256 bilan xeshlanganda,
xesh bir qator nol bitlar
bilan boshlanadi. Kerakli o'rtacha ish talab qilinadigan nol bitlar sonida eksponent hisoblanadi va bitta xeshni
bajarish orqali tekshirilishi mumkin.
3
1) Yangi tranzaktsiyalar barcha tugunlarga uzatiladi.
2) Har bir tugun yangi tranzaktsiyalarni blokga to'playdi.
Vaqt tamg'asi tarmog'imiz uchun biz blok xeshiga kerakli nol bitlarni beradigan qiymat topilmaguncha blokdagi
nonceni oshirish orqali ish isbotini amalga oshiramiz. Ish isbotini qondirish uchun CPU kuch sarflanganidan keyin
blokni ishni qayta bajarmasdan o'zgartirib bo'lmaydi. Keyinchalik bloklar undan keyin zanjirlanganligi sababli, blokni
o'zgartirish bo'yicha ish undan keyingi barcha bloklarni qayta ishlashni o'z ichiga oladi.
3) Har bir tugun o'z bloki uchun qiyin ish isbotini topish ustida ishlaydi.
4)
Agar tugun ish isbotini topsa, u blokni barcha tugunlarga uzatadi.
5) Tugunlar blokni faqat undagi barcha tranzaksiyalar haqiqiy bo'lsa va allaqachon sarflanmagan bo'lsa qabul qiladi.
Ishni isbotlash ko'pchilik qarorlarni qabul qilishda vakillikni aniqlash muammosini ham hal qiladi. Agar ko'pchilik
bitta IP-manzil-bir ovozga asoslangan bo'lsa, uni ko'plab IP-larni ajratishga qodir bo'lgan har bir kishi buzishi mumkin
edi. Ishni isbotlash asosan bitta CPU-bir ovozdir. Ko'pchilik qarori eng uzun zanjir bilan ifodalanadi, unga ishning
isboti uchun eng katta kuch sarflanadi. Agar protsessor quvvatining katta qismi halol tugunlar tomonidan boshqarilsa,
halol zanjir eng tez o'sadi va har qanday raqobatdosh zanjirlarni ortda qoldiradi. O'tgan blokni o'zgartirish uchun
tajovuzkor blokning va undan keyingi barcha bloklarning ish isbotini qayta bajarishi
va keyin halol tugunlarning
ishini ushlashi va ulardan oshib ketishi kerak edi. Keyinchalik ko'rsatamizki, sekinroq tajovuzkorning yetib olish
ehtimoli keyingi bloklar qo'shilganda eksponent ravishda kamayadi.
6) Tugunlar keyingi blokni yaratish ustida ishlash orqali blokni qabul qilishlarini bildiradilar
zanjir, oldingi xesh sifatida qabul qilingan blokning xeshini ishlatib.
Vaqt o'tishi bilan apparat tezligini oshirish va tugunlarni ishga tushirishga qiziqishning o'zgarishini qoplash
uchun ishni isbotlash qiyinligi soatiga o'rtacha bloklar sonini yo'naltiruvchi harakatlanuvchi o'rtacha ko'rsatkich bilan
aniqlanadi. Agar ular juda tez yaratilsa, qiyinchilik ortadi.
Tugunlar har doim eng uzun zanjirni to'g'ri deb hisoblaydi va uni kengaytirish ustida ishlashda davom etadi.
Agar ikkita tugun bir vaqtning o'zida keyingi blokning
turli versiyalarini uzatsa, ba'zi tugunlar birinchi bo'lib birini yoki
boshqasini qabul qilishi mumkin. Bunday holda, ular birinchi olganlarida ishlaydilar, lekin agar u uzoqroq bo'lsa,
boshqa filialni saqlang. Ishning keyingi isboti topilsa va bitta shox uzunroq bo'lganda galstuk uziladi; keyin boshqa
filialda ishlayotgan tugunlar uzunroqqa o'tadi.
Tarqalgan vaqt tamg'asi serverini tengdoshga asosda amalga oshirish uchun gazeta yoki Usenet xabarlari o'rniga
Adam Back's Hashcash [6] ga o'xshash ish isboti tizimidan foydalanishimiz kerak bo'ladi.
Oldingi xesh
Oldingi xesh
Tx
Bloklash
Bloklash
Tx
Hech
qachon
...
Tx
Hech qachon
...
Tx
Machine Translated by Google
Tangadagi soÿnggi tranzaksiya yetarlicha bloklar ostida koÿmilgandan soÿng, undan oldin oÿtkazilgan
tranzaksiyalar diskdagi joyni tejash uchun bekor qilinishi mumkin. Blok xeshini buzmasdan buni
osonlashtirish uchun tranzaktsiyalar Merkle Tree [7][2][5] da xeshlanadi, faqat ildiz blok xeshiga kiritiladi.
Rag'batlantirish tugunlarni halol bo'lishga undashi mumkin. Agar ochko'z tajovuzkor barcha halol
tugunlardan ko'ra ko'proq CPU quvvatini yig'ishga qodir bo'lsa, u to'lovlarini o'g'irlash
orqali odamlarni
aldash yoki yangi tangalar ishlab chiqarish uchun foydalanishni tanlashi kerak. U o'z boyligining tizimi va
haqiqiyligiga putur etkazgandan ko'ra, hamma birlashganidan ko'ra ko'proq yangi tangalar bilan unga
foyda keltiradigan qoidalar bo'yicha o'ynashni foydaliroq deb bilishi kerak.
An'anaga ko'ra, blokdagi birinchi tranzaksiya blok yaratuvchisiga tegishli bo'lgan yangi tangani boshlaydigan
maxsus tranzaktsiyadir. Bu tarmoqni qo'llab-quvvatlash tugunlari uchun rag'bat qo'shadi va dastlab
muomalaga tangalarni tarqatish yo'lini beradi, chunki ularni chiqarish uchun markaziy hokimiyat mavjud emas.
Hech qanday tranzaksiyasiz blok sarlavhasi taxminan 80 baytni tashkil qiladi. Agar bloklar har 10
daqiqada yaratiladi deb hisoblasak, yiliga 80 bayt * 6 * 24 * 365 = 4,2 MB. 2008 yildan boshlab odatda 2
Gb operativ xotira bilan sotiladigan kompyuter tizimlari va Mur qonuni joriy yilda yiliga 1,2 Gb o'sishini
bashorat
qilgan holda, blok sarlavhalari xotirada saqlanishi kerak bo'lsa ham, saqlash muammo bo'lmasligi
kerak.
Keyin eski bloklarni daraxt shoxlarini kesish orqali siqish mumkin. Ichki xeshlarni saqlash kerak emas.
Yangi tangalar miqdorining doimiy qo'shilishi oltin konchilarning muomalaga oltin qo'shish uchun resurslarni
sarflashiga o'xshaydi. Bizning holatlarimizda protsessor vaqti va elektr energiyasi sarflanadi.
4
Yangi tranzaksiya translyatsiyalari barcha tugunlarga etib borishi shart emas. Ular ko'p tugunlarga etib
borar ekan, ular ko'p o'tmay blokga kiradilar. Bloklangan eshittirishlar ham tushib qolgan xabarlarga toqat
qiladilar. Agar tugun blokni olmagan bo'lsa, u keyingi blokni olganida uni so'raydi va uni o'tkazib yuborganini
tushunadi.
Rag'batlantirish tranzaksiya to'lovlari bilan ham moliyalashtirilishi mumkin. Agar tranzaktsiyaning
chiqish qiymati uning kirish qiymatidan kam bo'lsa, farq tranzaktsiyani o'z
ichiga olgan blokning
rag'batlantiruvchi qiymatiga qo'shiladigan tranzaksiya to'lovidir. Oldindan belgilangan miqdordagi tangalar
muomalaga kirgandan so'ng, rag'bat butunlay tranzaksiya to'lovlariga o'tishi va butunlay inflyatsiyadan holi
bo'lishi mumkin.
Do'stlaringiz bilan baham: