bitcoin的2020年減半馬上要到了,有人就問andreas antonopoulos,一天到晚聽你們說減半減半、暴漲暴跌,那麼減半的原始碼在bitcoin是什麼樣的呢?
andreas antonopoulos截了一個圖,一共6行程式碼的函式getblocksubsidy,決定了每隔4年bitcoin區塊獎勵減少一半。
這六行程式碼還有一個故事,就是前三行程式碼不是中本聰寫的,是pieter wuille增加的。為什麼要增加這三行程式碼呢?因為決定區塊獎勵的nsubsidy是個64位的有符號整數,如果binary shift超過64,那麼這個行為在c++中屬於未定義行為,在有些平臺上可能導致數值的環回,最終導致bitcoin的數量超過2100萬個。對這個bug的修正和討論形成了一個專門的規範,儲存在bip042中。
透過這個簡單例子,可以得到的結論是什麼呢?
1. 中本聰不是神,也會出現很多錯誤(無損他的偉大)。如果有人拿著被註釋掉的程式碼說祖師爺欽定32m區塊,或者搞出個高高在上的satoshi vision,幾乎可以肯定是別有用心。
2. 這個世界是基於規則執行的,好的規則是簡單、參與遊戲的人都遵守。規則程式碼化的好處之一是執行軟體的所有人都要遵守,不會出現規則是為了別人而指定的情況。
轉自@委拉斯凱茲