因為區塊之間以「Hash Value
」建立起鏈結的關係,因此合稱為blockchain。
總區塊的大小為80 Bytes:
class Block { 區塊結構
constructor (index, previousHash, timestamp, data, hash, nonce) {
this.index = index; 區塊的號碼
this.previousHash = previousHash.toString(); 前一個區塊的Hash Value
this.timestamp = timestamp; 時間戳
this.data = data; 輸入的內容
this.hash = hash.toString(); 這區塊鏈的Hash Value
this.nonce = nonce; 隨機值
}
}
We define an electronic coin as a chain of digital signatures. Each owner transfers the coin to the next by digitally signing a hash of the previous transaction and the public key of the next owner and adding these to the end of the coin. A payee can verify the signatures to verify the chain of ownership
當每次發生交易時,都要等待新交易記錄寫到區塊鏈網路中,網路確認後即可認為交易完成。未經使用的交易的輸出Unspent Transaction Outputs, UTXO
可以被作為合法的交易使用,被使用過的交易的輸出Spent Transaction Outputs, STO
則無法作為合法使用,不能有Double-Spending的出現,而用戶可以從blockchain.info 網站上查詢交易的相關資訊。
交易就跟簽收單一樣,上面會有付款人的地址(公金會經過SHA256和RIPEMD160兩次Hash Function)、金額、收款人的地址、簽字確認、交易的時間戳、交易是否合法、交易是否已經支付過了、交易的金額確認是否相等,比特幣的交易也還有一些其他項目。
文章另會分享在stars blog中,歡迎一起交流。