iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 10
2
Blockchain

區塊鏈淺談:從創世到末日,上月球到落地系列 第 10

區塊鏈 2.0 來了!?

人間一日,幣圈十年

發明哈希幣的哈希村長,穿越時空到了現代 2014年!當年發明哈希幣的村長,現在有自己的FB粉專了!哈希先生 Mr.Hash

不過為什麼穿越到了2014年呢?

前面介紹了比特幣區塊鏈,因為這種分散式結構加上人性貪婪的經濟模式,造就了這個比特幣區塊鏈的另一個特性,『可信的資訊網路』。有些人更將整個區塊鏈網路視為一體,稱之為『信任機器』。

不可串改、上鏈資料永久性的存在(只要有一個人持續挖礦),加上只要有網路就能存取的特性,有一些天才們就想『這個信任網路除了貨幣交易以外,能不能有更多應用』?

還記得前一篇提到的 OP_RETURN [註1] 指令嗎?

OP_RETURN is a script opcode used to mark a transaction output as invalid.

Script 的驗證只要回傳 false,代表交易失敗。OP_RETURN 永遠會回傳 false,不過這個失敗的交易,礦工還是能將交易放進區塊中。它可以用來將比特幣燒掉(如果這個Script的比特幣金額大於0),讓這筆交易的比特幣永遠無法再使用。可以譬喻成有人在帳本裡寫:J將一顆哈希幣燒掉了!

不過

A standard way of attaching extra data to transactions is to add a zero-value output with a scriptPubKey consisting of OP_RETURN followed by exactly one pushdata op.

簡單來說,OP_RETURN 除了回傳 false ,還可以帶任意 40bytes [註2]的資訊在後面!這下不得了,試想:只要花費一點礦工費,就能將一個40bytes的資訊放進區塊鏈中,而且是個永久性的地方。

除了放字串以外,是不是也能放程式碼啊?區塊鏈不再是只有貨幣交易的功能了!

區塊鏈 2.0 來了!?

[註1]: OP_RETURN 原始的設計用意,是能讓使用者在交易紀錄上,加入類似備忘錄的字串。

[註2]: 這個頗受爭議的指令從原本40bytes改成80bytes又被改回40bytes. 參考:bitcoin.stackexchange.com。為何要限制呢?因為比特幣區塊鏈是一本容量只會增不會減的帳本(檔案)。中本聰在設計時,使用莫爾定律的公式,預期區塊鏈的容量成長速率,不會大於硬碟容量增加速度。也因為這個理由,限制每個區塊上限為 1MB,現在是2MBBIP102


上一篇
會計記帳的精髓,UTXO
下一篇
以太坊 Ethereum Blockchain
系列文
區塊鏈淺談:從創世到末日,上月球到落地30

尚未有邦友留言

立即登入留言