Post
Topic
Board Bahasa Indonesia (Indonesian)
Merits 11 from 5 users
Re: [INFO] Algoritma Konsensus pada Teknologi Blockchain
by
mu_enrico
on 06/10/2018, 05:40:28 UTC
⭐ Merited by dbshck (6) ,joniboini (2) ,abhiseshakana (1) ,Husna QA (1) ,Dermelon (1)
... bagaimana perumusan dari hash merkle root ini ? ...
Seperti yang sudah agan @abhiseshakana jelaskan, merkle root merupakan ringkasan dari semua transaksi dalam satu block. Misalnya pada block ke-1000 dan ke-100000:

Block 1000
Code:
"result": {
"hash": "00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09",
"height": 1000,
"merkleroot": "fe28050b93faea61fa88c4c630f0e1f0a1c24d0082dd0e10d369e13212128f33",
"tx": [
"fe28050b93faea61fa88c4c630f0e1f0a1c24d0082dd0e10d369e13212128f33"
],
"time": 1232346882,
"nonce": 2595206198,
"bits": "1d00ffff",
"difficulty": 1,
"previousblockhash": "0000000008e647742775a230787d66fdf92c46a48c896bfbc85cdc8acc67e87d",
},
Merkleroot dan tx sama karena pada block ke-1000 ini cuma ada satu transaksi.

Block 100000
Code:
"result": {
"hash": "000000000003ba27aa200b1cecaad478d2b00432346c3f1f3986da1afd33e506",
"height": 100000,
"merkleroot": "f3e94742aca4b5ef85488dc37c06c3282295ffec960994b2c0d5ac2a25a95766",
"tx": [
"8c14f0db3df150123e6f3dbbf30f8b955a8249b62ac1d1ff16284aefa3d06d87",
"fff2525b8931402dd09222c50775608f75787bd2b87e56995a7bdd30f79702c4",
"6359f0868171b1d194cbee1af2f16ea598ae8fad666d9b012c8ed2b79a236ec4",
"e9a66845e05d5abc0ad04ec80f774a7e585c6e8db975962d069a522137b80c1d"
],
"time": 1293623863,
"nonce": 274148111,
"bits": "1b04864c"
"difficulty": 14484.1623612254,
"previousblockhash": "000000000002d01c1fccc21636b607dfd930d31d01c3a62104612a1719011250",
},
Merkleroot merupakan ringkasan dari keempat tx di atas. Bagaimana mekanisme kok bisa menghasilkan ["merkleroot": "f3e94742aca4b5ef85488dc37c06c3282295ffec960994b2c0d5ac2a25a95766"] dari keempat transaksi tersebut bisa digoogling sendiri Grin

...Sama sekalian dijelasin acuan saat nonce menghasilkan hash yang sesuai dengan target ...
Nonce digunakan untuk mendapatkan hash yang lebih kecil atau sama dengan bits (seringkali disebut nbits) dengan menahan tetap variabel lain (merkle, tx, time, previousblockhash). Misalnya pada block ke-1000 butuh hash yang lebih kecil dari ["bits": "1d00ffff"]. Dengan menaikkan nilai ["nonce": 2595206198] didapat ["hash": "00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09"] yang tentu saja lebih kecil dari bits-nya. Nah bagaimana kok bisa 00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09 lebih kecil dari 1d00ffff bisa digoogling sendiri Grin

Lalu bagaimana jika sampai habis nonce 232 tidak juga didapat hash yang lebih kecil dari nbits? Bisa dengan mengubah timestamp, atau mengganti tx.
https://bitcoin.stackexchange.com/questions/1781/nonce-size-will-it-always-be-big-enough

Oiya ada simulasi menarik di http://www.yogh.io/#mine:last