UTC時間2008年10月31日18時10分0秒,北京時間11月1日凌晨2點10分0秒,密碼學郵件串列發出了一封自稱中本聰(Satoshi Nakamoto)的發件人投遞的電子郵件,郵件主題為“位元幣點到點電子現金論文”(Bitcoin P2P e-cash paper),郵件正文開門見山:
I've been working on a new electronic cash system that's fully
peer-to-peer, with no trusted third party.
The paper is available at:
http://www.bitcoin.org/bitcoin.pdf
The main properties:
Double-spending is prevented with a peer-to-peer network.
No mint or other trusted parties.
Participants can be anonymous.
New coins are made from Hashcash style proof-of-work.
The proof-of-work for new coin generation also powers the
network to prevent double-spending.
我正在設計一個新的電子現金系統,它完全是點對點的,沒有受信任的第三方,
該論文可在以下位置獲得:
http://www.bitcoin.org/bitcoin.pdf
主要特性:
通過點對點網路來防止雙重花費,
沒有鑄幣局或其他受信任方,
參與者可以是匿名的,
新硬幣是由哈希現金風格的作業量證明生成的,
用于新硬幣生成的作業量證明也為網路提供了防止雙重花費的能力,
這篇只有9頁紙的論文,又被稱為位元幣的白皮書,在去年,白皮書發表12周年之際,劉教鏈公眾號發表了《位元幣12周年和中本聰的12個預言》
第1個知識點:電子硬幣就是一串數字簽名,位置:白皮書第2頁,第2小節“交易”,
讓很多人驚訝的是,位元幣的區塊鏈上并沒有位元幣,只有一個個的電子硬幣,這些硬幣的面額是一個自然數,單位是0.00000001 BTC,后來位元幣社區為了紀念中本聰,就把這個單位命名為“聰”(sats),
所以,并沒有所謂“1個位元幣”這種東西,只有很多個面額不同的電子硬幣,比如這一個面額是100,000,000(1 BTC),另一個面額是5,000,000(0.05 BTC),諸如此類,
電子硬幣的結構是怎樣的呢?其實電子硬幣就是一連串的電子簽名,是每一次硬幣換手的記錄,是硬幣換手的全部交易歷史,
換手交易就是花費掉舊硬幣,生成新硬幣的程序,由舊硬幣的所有者對要花費的舊硬幣和接收方的地址進行數字簽名,確認所有權的轉移,生成新硬幣,
值得注意的是,位元幣的白皮書里并沒有出現UTXO(未花費的交易輸出)的字樣,這個概念通常指稱沒有被花費掉的新硬幣,
在位元幣的硬幣模型中,不同于傳統金融系統普遍采用的賬戶模型,一枚電子硬幣只有兩種狀態,被完全花掉,或者尚未被花掉,不存在花費一半或者一部分的情況,
第2個知識點:用哈希串起來的區塊鏈作為時間戳服務器,位置:白皮書第2頁,第3小節“時間戳服務器”,
區塊鏈的最大作用其實是為交易定序,也就是確定交易的先后順序,有順序,而后有歷史,有歷史,而后有時間觀念,
位元幣的區塊鏈本身就是一個滴滴答答的時鐘,它的每一個區塊的哈希,都像石英鐘每一秒秒針的跳躍,時間并不是連續的,至少在位元幣這座時鐘內部是這樣的,
位元幣的內生時間是獨立自存的,不依賴于區塊鏈外部的計算機時間,也就是所謂的墻上時間(wall time)——墻上掛著的鐘表的時間,
值得注意的是,位元幣白皮書中并沒有區塊鏈(blockchain)這個合成詞,這個詞是后人拼湊和發明的,
第3個知識點:使用作業量證明,把時間戳服務器實作在分布式的點到點網路上,位置:白皮書第3頁,第4小節“作業量證明”,
作業量證明,英文Proof-of-Work,縮寫為PoW,業內總是把PoW,以及后來的PoS,PBFT,DPoS等等,統統稱之為所謂的“共識演算法”,或者“共識機制”,其實是一種誤導,
類似PBFT等各種演算法,確實設計目標就是為了解決節點間達成一致性的問題,也就是所謂共識問題,在開放網路條件下(互聯網是封閉網路),這一問題又被稱為拜占庭將軍問題,
但是中本聰引入PoW絕不是沖著拜占庭將軍問題去的,雖然最終效果確實是解決了這個問題,而是沖著發明和制造一臺無法停止的、遍布全球的超級時鐘而去的,
所以,雖然位元幣當然克服了拜占庭將軍問題,而且PoW鏈或者說時間鏈確實是拜占庭將軍問題的解,但是中本聰無論是在白皮書正文,還是在參考文獻中,都絲毫沒有提及這個困擾分布式系統領域數十年的問題,
第4個知識點:通過調節作業量證明的計算難度,自適應網路算力的波動,確保出塊速度保持穩定,位置:白皮書第3頁,第4小節“作業量證明”,
每一個仔細了解位元幣作業原理的人,都會驚訝于位元幣網路在缺乏中心化協調的情況下,能夠自行調較自己這臺超級時鐘,讓出塊間隔在統計學意義上追蹤現實世界的10分鐘時長,
有點兒像對表,位元幣自己會對表,一塊是自己這塊超級時鐘,另一塊就是現實世界的墻上時鐘,
第5個知識點:網路節點通過最長鏈原則來實作共識,位置:白皮書第3頁,第5小節“網路”,
有了一塊全域的超級時鐘,就可以對交易進行定序,
網路無需特殊規定的拓撲結構(比如像DPoS那樣規定多少個超級節點之類的),通訊可以采用最簡單的gossip,網路傳輸也不需要特別保障,只需要采取最大努力原則就好,如此就能輕松達成全球共識,只需要大家都相信一個謝林點,也就是包含最大作業量證明總量的那條鏈(最長鏈),
注意最長鏈不是指區塊個數最多,而是指包含的每個區塊的PoW難度,過去近13年累積起來,總值最大的那條鏈,
如果我們讀一讀Leslie Lamport在上世紀80年代關于拜占庭將軍問題的最初論文,就會發現,中本聰關注的點是在常人之外的,
BFT——包括后來的非開放網路下的分布式一致性演算法比如Paxos——的研究者們通常把研究重心放在協商方法上,比如投票機制,而他們把時鐘同步性假設自動作為默認的前提條件,甚至都不會在論文里進行討論,
我猜可能是因為FLP定理的緣故,異步網路下拜占庭將軍問題不可解,
但是中本聰就是要深挖時鐘同步性假設這個很少有人注意和討論的要害,當我們不能做這個假設了,那又會怎么樣?
中本聰的答案是,我們需要首先發明一個全域的超級時鐘,
他把這個超級時鐘發明出來了,然后我們就發現,所謂的拜占庭將軍問題順道兒也就迎刃而解了,
第6個知識點:網路通過區塊獎勵和交易費來激勵出塊節點,以使之保持誠實,位置:白皮書第4頁,第6小節“激勵”,
這是一個巧妙的博弈論設計,
區塊鏈是一個公共賬本,如果維護賬本的安全、正確得不到什么好處,篡改、破壞賬本卻能欺詐獲利的話,那么人人都會破壞賬本,最終位元幣歸零,所有人都得不到任何好處,這就是典型的“公地悲劇”問題,
這種人人選擇理性自利最大化,卻最終導致全體得利最小化的情況,在博弈論中被稱為“囚徒困境”,囚徒困境下各方的理性選擇,陷入一種均衡,誰也擺脫不了,被稱為“納什均衡”,
在人類過去的歷史上,要克服這個問題,采取的方法是中心化的方法,通過引入中心化的權威機構,對做壞事的人進行懲罰,就像我們現實社會中的各種法律法規,多數是懲罰性的機制,以外力推動納什均衡點的移動,以扭轉公地悲劇問題,讓人們得以逃脫出囚徒困境的互相傷害,
是中本聰創造性地發明了由一個去中心化的系統,通過自動地施以獎勵性的機制,輔以密碼學對作惡能力的約束,同樣神奇的推動了納什均衡點的移動,扭轉了公地悲劇,擺脫了囚徒困境的內卷博弈,
至于獎勵的標的,正是對PoW的計算,公平、公正、公開,因為PoW的計算,無法作弊,
區塊鏈行業創新層出不窮,模仿位元幣設計各種挖礦激勵機制的專案也不少,可是,很少能找到像PoW一樣好的不能作弊、沒有后門、公平公正的獎勵標的,
第7個知識點:區塊獎勵同時也是實作位元幣去中心化發行的方法,位置:白皮書第4頁,第6小節“激勵”,
更妙的是,用于改變博弈結構的區塊獎勵,同時順道兒完成了位元幣從無到有的發行和分發,
因為獎勵是去中心化的,獎勵的行為是去中心化的,所以位元幣的發行也就自動是去中心化的了,
第8個知識點:用默克爾樹把交易資料從區塊中分離出去,剩下的資料稱為區塊頭,具有很小的資料量,位置:白皮書第4頁,第7小節“回收磁盤空間”,
這是一個優化,資料拆分后,區塊頭的剩余資料量非常小,可以輕松裝進記憶體里,快速計算,
同時,默克爾樹還支持剪枝,可以剪掉已花費掉的硬幣資料,從而節省磁盤空間,這里就看出硬幣模型比賬戶模型的一個好處了,硬幣只有兩種狀態,沒花費,花費了,花費了就可以剪掉,
后來到了2017年,為了對位元幣進行擴容而不損害其安全性,核心開發組最終決定采取保留區塊物理尺寸限制,而把交易資料中的簽名部分,也稱為見證資料,從區塊中拆分出來,這樣就達到了邏輯擴容的目的,這個技術,被稱為“隔離見證”(segwit),
隔離見證技術擴大了位元幣區塊的邏輯容量,緩解了交易量增長帶來的應對壓力,
第9個知識點:可以允許用戶只保留最長鏈的區塊頭資料,這種技術被稱為簡化支付驗證(SPV),位置:白皮書第5頁,第8小節“簡化支付驗證”,
當我們剝離了交易資料之后,剩下的區塊頭資料是很小的,甚至可以裝進移動設備里,這就可以用來實作輕量級錢包,或者叫輕量級節點,
不過對于很多幣民來說,可能炒幣多年,只會用中心化交易所托管自己的位元幣,這種就建議還是盡早學習掌握《如何用私鑰保管位元幣》
第10個知識點:一筆轉賬交易可以允許有多個輸入和多個輸出,位置:白皮書第5頁,第9小節“合并和拆分價值”,
類似金幣的熔融和重鑄,位元幣的交易允許有多個UTXO作為輸入,然后拆分成多個輸出,分別分發給不同的地址,諸如此類,
這給予了位元幣轉賬交易很大的靈活性,也給予了我們使用只有兩種狀態的硬幣來應對任意數額支付需求的能力,
我們可以選擇一個足以滿足需求的大額硬幣,或者多個小額硬幣組合起來,完成支付需求,并把剩余的金額,轉移到我們自己的一個新地址中去,這個新地址,常被稱為“找零地址”(change address),
輸入的金額加起來,和輸出的金額加起來,往往是不相等的,它們之間有一個差額,輸出小于輸入,差額就是暗示了該筆交易愿意支付給出塊礦工的交易費,也叫做“礦工費”,
千萬不要忘記設定找零地址,否則你有可能把全部剩下的金額全部給了礦工!比如你輸入了1 BTC,給了張三0.1 BTC,沒有設定找零,那么該筆交易暗含的礦工費就是0.9 BTC,
有的人為了懶省事兒,就重復利用輸入地址作為找零地址,位元幣網路并不會組織你這么做,但是,這里有一個安全性問題,以及一個隱私性問題,隱私性問題在下面兩個知識點會提到,安全性問題則和量子計算機有關,
量子計算,如果能夠實用化(雖然還差十萬八千里),從理論上能夠破解ECDSA簽名演算法,但是很難破解SHA-256哈希演算法,一個沒有做過交易的干干凈凈的地址,簽名公鑰是不上鏈的,鏈上只有公鑰的哈希,也就是,從未動過幣的位元幣地址具有量子計算抗性,足以在量子計算機面前保護其中的資產,
第11個知識點:位元幣網路不收集任何用戶隱私資料,位置:白皮書第6頁,第10小節“隱私”,
在今天的大資料時代,隱私問題已經成為一個嚴重的社會問題,而這一切早在1993年埃里克·休斯寫出《密碼朋克宣言》的時候就已經預見到了,
位元幣的思想淵源,正是來自于密碼朋克,密碼朋克宣言中講到的隱私貨幣,正是對位元幣的前瞻,
導致隱私問題的是全面收集、隨意使用的互聯網商業模式,傳統的解決方案就是引入中心化的強有力的監管,
監管的方法存在幾個可能的缺點:1,立法的滯后性;2,執法的高成本;3,中心化腐敗和被收買的可能性,
中本聰給出的解決方案則更為徹底:從一開始就拒絕觸碰任何個人隱私,觸碰都不觸碰,更別說收集了,
第12個知識點:中本聰建議每次交易都換一個地址,以更好地保護隱私,位置:白皮書第6頁,第10小節“隱私”,
雖然位元幣系統不收集任何隱私,但是互聯網系統可是千瘡百孔的篩子,你的個人隱私資訊在網上無處不在,如果你恰好公開過自己的地址,那么通過大資料分析,很容易把你的身份和地址給關聯起來,
所以中本聰建議,“打一槍換一個地方”,
如果是應用在商業場景里,比如做一個支持位元幣支付的電商網站,那么最好為每一個訂單單獨生成一個地址,
但是管理這些地址,是一個繁重的活兒,為了簡化這項作業,后來的社區提出了所謂的HD錢包技術,又稱分層確定性錢包技術,
第13個知識點:隨著全網算力增強,到賬不必等待6個區塊確認,位置:白皮書第8頁,第11小節“計算”,
很多人都聽說過位元幣到賬需要所謂6個區塊確認的說法,6個區塊,平均每個10分鐘,6個區塊確認就是要等1小時,于是有人就據此詬病位元幣交易速度慢之類的,
但是翻開位元幣白皮書,并沒有所謂等待6個區塊確認的說法,
其實所謂的6個區塊確認,實在是后人對位元幣白皮書的一種刻板學習的結果,
中本聰在白皮書第8頁進行了大量計算后得出了一系列資料,其中結論性的資料是:要讓確認后被推翻的概率下降到千分之一以下,那么當惡意算力相當于全網算力的10%時,需要等待延伸5個區塊(算上打包該筆交易的第一個區塊總共就是6個區塊),
這只是中本聰計算的第一個結果,后面他又連續給出了更多結果,比如緊接著就是,若惡意算力相當于15%,那么要等待8個區塊,……
在位元幣全網算力已經高達150E的今天,惡意算力很難掌握10%這么高的算力,或者反過來說,掌握高達10%算力的人,也不會對欺詐你的三毛兩毛感興趣,他完全可以拿這些算力去正兒八經地開采位元幣,這樣收益會更穩定、更高,這就是位元幣導惡向善,
某些幣把人變成鬼,位元幣把鬼變成人,
而中本聰推演的,是最壞的情況,(即便如此,對欺詐最敏感的交易所如coinbase也早已將位元幣充值到賬的確認數減少到了3個區塊)
很多時候,我們可以做更加樂觀的假設,
比如星巴克可以假設付款買咖啡的顧客幾乎不會為了幾十塊錢的咖啡去攻擊位元幣系統,比如你可以假設你的好友、熟人幾乎不會欺詐你,那么在這些存在外部信任的情況下,可以大幅縮短確認數,甚至實施零區塊確認,
中心化系統,確認到賬與否由平臺說了算,去中心化系統,確認到賬與否由你自己判斷,
去中心化的位元幣,賦能個體,還權于民,是全面的、徹底的,
謝謝你,中本聰,
(公眾號:劉教鏈,知識星球:公眾號回復“星球”)
(免責宣告:本文內容均不構成任何投資建議,加密貨幣為極高風險品種,有隨時歸零的風險,請謹慎參與,自我負責,)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/348465.html
標籤:區塊鏈
