1.5. Blok zanjiridagi blok tuzilishi
Har bir blokda indeks, vaqt tamg'asi (unix vaqti), tranzaktsiyalar ro'yxati, isbot va
oldingi blokning xeshlari mavjud.
Mana bitta blok qanday ko'rinishiga misol:
1 block = {
2 'index': 1,
3 'timestamp': 1506057125.900785,
4 'transactions': [
5 {
6 'sender': "8527147fe1f5426f9dd545de4b27ee00",
7 'recipient': "a77f5cdfa2934df3954a5c7c7da5df1f",
8 'amount': 5,
9 }],
10 'proof': 324984774000,
11 'previous_hash':
"2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824"
12 }
Shu nuqtada, zanjirning g'oyasi aniq bo'lishi kerak -
har bir yangi blok oldingi
blokning xeshini o'z ichiga oladi. Bu juda muhim, chunki bu blokcheynga o'zgarmasligini
beradi: agar tajovuzkor zanjirdagi oldingi blokni buzsa, keyingi barcha bloklarda noto'g'ri
xeshlar mavjud.
1.6. Blokka tranzaktsiyalar qo'shish
Usul blokga tranzaktsiyalarni qo'shish uchun javobgar bo'ladi
new_transaction():
2-rasm. new_transaction() usuli
new_transaction() tranzaktsiyani ro'yxatga qo'shgandan so'ng,
u tranzaktsiya
qo'shiladigan blok indeksini qaytaradi, ya'ni keyingi almashtiriladigan (yaratilgan) blok.
Kelajakda bu tranzaktsiyani yuborayotgan foydalanuvchi uchun foydali bo'ladi.
Do'stlaringiz bilan baham: