#
- 1. 人才儲備和激勵機制
數字貨幣和數字資產爆發式的發展必然造成了專業人才的巨大缺口。因為數字貨幣本身就是跨領域的事物,至少橫跨了 IT 業、金融業和資管業這幾個領域,而且即使對這些行業有著比較深厚的背景,還需要對於數字貨幣行業發展有足夠的理解,才能確保數字資產管理能夠有序安全地進行操作。
而隨著整個資產管理行業都會加強在數字資產管理方面的投入,也必然會造成業內人員流動頻率過高,專業人才流失會成為企業發展的一大瓶頸。能否找到真正符合需求的人力資源,建立完善的人力資源體系與合理的激勵機制,注重吸引、留用有經驗的人才,積極培養新生代儲備,形成有競爭力的人力資源優勢,是未來數字資產管理機構能否成功的關鍵因素。
- 1. 品牌創建
獨特的品牌優勢和客戶黏性肯定是數字資產管理行業在競爭中獲勝的關鍵。由於數字資產管理是一個新鮮事物,因此在沒有任何一個得到市場高度認可的品牌出現的情況下,必然是陷入一個混亂的戰國時代。我們已經可以想象,在開始階段每個公司或者機構都會提出一些全新的戰略來打造自己的品牌。而能否迅速建立起自己的品牌優勢,是獲得數字資產管理行業先發優勢的重中之重。因為在資產管理業務 “籌、投、管、控” 的業務過程中,籌資能力尤為重要。對於如此全新的產品推出,用戶在不能充分理解該行業的情況下,資管機構的品牌價值將會成為吸引資金的重要因素,因此數字資產管理公司或者機構需要建立很強的品牌體系,並且能夠與競爭對手形成差異化。具體而言,資產管理機構可以從品牌清晰定位、建立品牌管理系統,以及創造和增加品牌價值等三個方面進行加強。
- 1. 營銷能力
營銷能力也將成為數字資管行業中的一個重點難點。因為不像傳統的資產管理,無論是哪種形式對於大多數客戶而言都是非常熟悉和了解的,更多的可能是對於具體的產品進行營銷。而對於數字資產,不僅客戶的培育要從頭開始,對於營銷人員本身的教育也是從零開始。能否首先培養出合格的營銷人才將成為最初拉開差距的主要因素。由於數字資產牽涉的領域非常廣泛,如何能在這個全新的領域,通過哪一種方式幫助用戶更好地認識數字資產而不是被簡單被動地灌輸知識,獲得良好的營銷體驗和客戶體驗,將會是每個公司或者機構需要研究的課題。
- 1. 風控能力
數字貨幣體系的高速發展伴隨著量化工具的開發與運用,同時可能還伴隨著複雜的金融衍生產品陸續出現來滿足不同投資者的需求。雖然數字資產往往有著不可想象的高收益,同時也必然伴隨著種種風險,但是由於行業發展時間太短,對於風險的分析和風險的程度,往往可能沒有足夠的數據進行分析和支撐。在這種情況下,風險識別顯得更為複雜,往往需要通過管理人員個人對於數字貨幣以及數字資產的理解,包括自身的資產管理素養來進行判斷。在金融產品的開發中,較好地識別風險是合理定價的首要條件,而在數字資產管理業務的開展過程中,對風險進行系統性控制也是投資者看重的重要能力。因此,無論是資管公司或者機構自身還是投資者,風險控制能力都必然是業務推進過程中必須時刻關注的要素之一。
- 1. 整合能力
對於本身有著一定規模的資產管理機構,可以通過整合傳統資管產品和數字資管產品,對產業鏈進行全新劃分來創建全新的資管產品。傳統資管產品和數字資管產品在收益、風險以及監管方式上都有著巨大的不同和互補性,是否能夠結合各方優勢,根據客戶的實際需求創造出全新的資管產品,是考驗產品製造人員能力的巨大挑戰。通過強大的資源和產品整合能力,在實現客戶需求的同時讓公司和機構獲得豐厚的業務收益,是成為一個優秀數字資管公司或機構的必經之路。
數字資產發展方向
數字資產是一個全新的領域,而且仍舊在高速發展中,新概念和新模式層出不窮。對於數字資產的發展,我們預計在其發展過程中有四個比較顯著的方向值得關注:智能化、高端化、機構化和全球化。
脈絡自 2008 年比特幣的誕生開始,區塊鏈就逐漸被人們發掘。2009 年之前區塊鏈還只是以比特幣為代表的加密數字貨幣圈中關注的主要技術,該階段為區塊鏈 1.0 階段。
金融領域開始意識到區塊鏈技術的顛覆性變革潛力,區塊鏈技術的應用場景也逐漸由加密貨幣向可編程金融擴展,該階段為區塊鏈 2.0 階段。
2013 年到 2016 年
隨著區塊鏈技術特有的價值開始逐漸顯現,世界各國政府、部分資本密集、技術密集型產業開始進軍區塊鏈技術研究,該階段為區塊鏈 3.0 階段。
2016 年以來各國商業、科技、IT 互聯網巨頭紛紛佈局區塊鏈,區塊鏈規模和應用場景迅速發展。
W.Scott Stornetta 被公認為 “區塊鏈之父”。他也是密碼學和分布計算領域的知名人物。他在與 Haber 共同撰寫的論文中首次提到區塊鏈架構技術,該論文描述了一種稱為 “區塊鏈” 的數字體系結構系統,該系統利用 “數字時間戳” 進行商業交易。區塊鏈系統的概念後來被 Satoshi Nakamoto(中本聰)用於開發出今天大行其道的比特幣 - 區塊鏈。
與長期同事和合作者 Stuart Haber 一起,W.Scott Stornetta 為今天的區塊鏈技術革命的出現奠定了基礎。Stornetta 與 Stuart Haber 一起被尊重為區塊鏈的共同發明者。Stornetta 花了數十年的時間為密碼學和分布式計算領域提供有價值的研究和出版材料,並為幾所大學就建立創業公司提供諮詢。他與 Haber 一起共同撰寫了密碼學領域的一些重要文獻。比特幣區塊鏈架構的幾個基礎就是基於 Stornetta 的工作。中本聰在比特幣白皮書目錄中的第三、第四和第五條就是對他在加密時間戳協議中的工作的參考。
Scott 在斯坦福大學獲得物理學博士學位,現在擔任澳洲投資公司 First Digital Capital 的首席科學家,負責區塊鏈技術公司和 ICO 項目評估工作。
W.Scott Stornetta 被公認為 “區塊鏈之父”。他也是密碼學和分布計算領域的知名人物。他在與 Haber 共同撰寫的論文中首次提到區塊鏈架構技術,該論文描述了一種稱為 “區塊鏈” 的數字體系結構系統,該系統利用 “數字時間戳” 進行商業交易。區塊鏈系統的概念後來被 Satoshi Nakamoto(中本聰)用於開發出今天大行其道的比特幣 - 區塊鏈。與長期同事和合作者 Stuart Haber 一起,W.Scott Stornetta 為今天的區塊鏈技術革命的出現奠定了基礎。Stornetta 與 Stuart Haber 一起被尊重為區塊鏈的共同發明者。Stornetta 花了數十年的時間為密碼學和分布式計算領域提供有價值的研究和出版材料,並為幾所大學就建立創業公司提供諮詢。他與 Haber 一起共同撰寫了密碼學領域的一些重要文獻。比特幣區塊鏈架構的幾個基礎就是基於 Stornetta 的工作。中本聰在比特幣白皮書目錄中的第三、第四和第五條就是對他在加密時間戳協議中的工作的參考。Scott 在斯坦福大學獲得物理學博士學位,現在擔任澳洲投資公司 First Digital Capital 的首席科學家,負責區塊鏈技術公司和 ICO 項目評估工作。
價值中國:你能否簡要介紹一下 1990 年到 1991 年期間 Stuart Haber 和您是如何提出了區塊鏈的想法?當你第一次想出這個概念時,您的主要目的是什么?
斯科特:事實上,很多人在得知區塊鏈技術這個概念遠遠先於比特幣的時候是非常驚訝的,因為在他們所開始接觸區塊鏈這個概念的時候,就是比特幣的出現將區塊鏈概念帶入人們視野當中。所以我會先簡單說說區塊鏈技術的歷史,之後再談它與比特幣之間的關係。
當我最開始思考區塊鏈技術的時候,當然那時還沒有這個詞,這是後來我們創造的一個詞語。在 1989 年的時候,我從斯坦福大學以物理博士的學位畢業,當時的我對於電腦技術和互聯網技術一直非常感興趣。當時的電腦技術正在迅速地發展,所有的文件都在慢慢革新成電子版本。那時我就在想,我們怎麼確定手中的電子版本的文件就是原版呢?如何得知是否有人曾改動過電子版本的文件呢?由於當時只有一部分文件是電子版本的,大部分的文件,包括轉帳記錄,交易記錄仍然是以文字形式記錄的,即使這些都是書面形式的文件,它們也有自己的備份,能夠確保書面記錄的準確性。
眾所周知的是,如果可以改變這些文件,就可以改變記錄。當時大家都把精力放在如何確保書面文檔的準確性上,沒有人在意電子文檔記錄的準確性。但當時我就想,我們將會生活在一個所有文檔都是電子文檔的世界,書面形式的文檔終將會被科技淘汰,如果我們不去解決電子文檔準確性的问题,我們就沒有辦法區別真實的記錄和被篡改的記錄。
我當時是在 Bellcore 做分析師,這是一家非常開放自由的實驗室,它不會給員工安排特定的工作,告訴員工去按部就班地做什麼,相反,它鼓勵員工選擇自己感興趣的並想要解決的問題,然後它提供資源,放手讓員工去做。我非常幸運在這家實驗室工作,因為當時的我並不是很了解密碼學和最新的互聯網技術,但是我的同事們是非常厲害的密碼學專家。
Stuart Haber 便是其中一個,我找到他並對他說,也許我並不是很了解密碼學,但是我知道,數字文檔準確性的问题一定是個至關重要的问题,我們可以一起解決它,我們可以真正地做些什麼去改變這個世界。然後我們就決定一起研究並解決這個問題。Stuart 作為密碼學專家,他教會我很多密碼學的相關知識,我們一起研究了這個問題好幾個月,最終我們找到了一个解決辦法,但並不是一個令人滿意的完美的解決方案。
他解決了這個問題,但是他要求一個第三方信任機構的存在,要求信任一個外部渠道。但這樣的第三方信任機構仍然可以篡改記錄,所以我們就決定我們應該繼續探索其他方法,去創造一個不需要信任任何人或者外部渠道就能確保數字文檔不被篡改的方法。然後我們就繼續研究下去,最後 Stuart 找到了問題的關鍵所在,他認為我們根本就無法解決這個問題,所以他決定去證明我們無法解決這個問題。
非常有趣的是,最終在證明我們無法解決這個問題的過程中,我們找到了如何去解決問題的方法。(笑聲...)最根本的解決辦法是 —— 既然我們始終要去信任某個人或者機構來確保數字文檔的準確性,那就去信任每一個人,也就是說,讓世界上的每一個人都是數字文檔記錄的見證者。
我們顛覆了這個問題,找到了解決辦法,我們設想去構建一個網絡,能夠讓所有的數字記錄在被創造的時候就傳輸到每一個用戶那裡,這樣就沒有任何人可以篡改這個記錄。這就是最早區塊鏈概念的誕生。
比特幣,是很奇妙的緣分。有一天我收到了一封郵件,裡面寫了比特幣相關的事情,寫信人表示他對這項新興的科技非常感興趣,他注意到了我和 Stuart Haber 的研究在其中有所涉及,然後,有一個叫中本聰的人在我和 Stuart Haber 的研究之上做了更進一步的發展。人們發現了我的研究成果在比特幣中被多次引用,並且我還會說日語,所以他們在懷疑我是否是那篇作品的原創作者中本聰。事實上我不是,但是我去了解了中本聰的論文,以及他的研究,是非常厲害非常了不起的研究。
我和他取得了聯繫,他告訴我,有人寫郵件問他,他所提出的比特幣和我所提出的數字時間戳之間的聯繫是怎樣的,中本聰回答,比特幣是數字時間戳的更為分布式的應用,並且專門應用於金錢交易上。所以早期區塊鏈和比特幣的關係正如他所說的這樣,比特幣是區塊鏈的一個應用。比特幣創造了一個新的貨幣體系,這是一個了不起的成就。但區塊鏈還有很多其他的應用,除了獲得最多關注的比特幣,區塊鏈仍需要進一步發展。我堅信數字貨幣在未來也會有更大的發展空間,但它必然是在區塊鏈技術基礎之上的,而非脫離區塊鏈,但它不一定要沿用今天被稱為比特幣的技術。
區塊鏈的特徵
價值中國:眾所周知,“數字時間戳” 的發明對區塊鏈來說極為重要,核心在於,它解決了安全問題。您能解釋一下加密數字時間戳和區塊鏈之間的關係嗎?斯科特:這個問題我之前已經回答了一部分,所以我再簡單地再闡述一下。加密數字時間戳技術就是早期的區塊鏈技術,他們就是同一件事情。不像比特幣和區塊鏈,它們有很大的差別。許多人對區塊鏈和比特幣的關係有所爭議,但我認為更重要的事情是要推動未來區塊鏈技術的發展。
第一,記錄是否需要被分布呢?答案是肯定的,只有確保分布式記錄,才能保證記錄不可篡改,這是區塊鏈的核心技術。第二,算法是否需要是分布式的呢?我認為在一些情況下需要,而另一些情況下不需要,這主要取決於應用的主要目的。第三,整個社會的掌控者和領導者是否需要被分布呢?我認為這取決於具體情況,大部分人可能會不同意我的看法,但是我始終堅持我的看法,並且我認為我的看法最終會被證明是正確的。
如何分布統治者就像如何運行算法,我們個人、個體在市場上是處於弱勢地位,而統治階層是處於強勢地位,這樣的力量對比在一些情況下是有益的,而一些情況下並非如此。所以我覺得這些問題不能只用一個簡單的 “是或者不是” 的答案來回答,這取決於具體的情況和具體的立場。我自己的公司名字是日文 “幽玄”,意思是沉思,我的立意也就是希望自己在發展的大潮中保持清醒,從不同的角度思考問題,而並非 “隨波逐流” 地賺取利益。
1976 年,著名經濟學家哈耶克出版了《貨幣的非國家化》,提出了非主權貨幣和競爭發行貨幣的理念,為比特幣(最早的區塊鏈技術)的誕生提供了理論基礎。
也是在 1976 年,Bailey W. Diffie、Martin E. Hellman 兩位密碼學的大師發表了論文《密碼學的新方向》,論文覆蓋了未來幾十年密碼學所有的新的進展領域,包括非對稱加密、橢圓曲線算法、哈希等一些手段,奠定了迄今為止整個密碼學的發展方向,也對區塊鏈的技術和比特幣的誕生起到決定性作用。
除了理論依據,還有很多前人的實踐給中本聰提供了很多參考:
1990 年,密碼朋克的 “主教級” 人物大衛・乔姆發明了密碼學匿名現金系統 Ecash。1997 年,亞當・貝可發明了哈希現金(Hashcash),其中用到了工作量證明系統(POW)。1997 年,哈伯和斯托尼塔提出了一個用時間戳的方法保證數學文件安全的協議。這個協議也成為比特幣區塊鏈協議的原型之一。1998 年,戴偉發明了 B-money,強調點對點交易和交易記錄不可更改,可追蹤交易。2004 年,芬尼發明了 “加密現金”,採用了可重複使用的工作量證明機制(RPOW)。
失敗是成功之母,中本聰總結了這些失敗案例的原因,並且將這些技術融合在一起,發明了最早的區塊鏈技術 —— 比特幣。
2008 年 11 月,中本聰發表了《比特幣:一種點對點的電子現金系統》(比特幣白皮書)
2009 年 1 月,比特幣網絡正式上線。
2011 年,美籍華人李啟威發明了萊特幣。萊特幣的出塊速度更快(2.5 分鐘,快比特幣 4 倍),總量更大(8400 萬個,是比特幣的 4 倍),同時在工作量證明中做了一些調整。
萊特幣之後,出現了大量類似的幣種,他們都在比特幣的基礎上做了一些調整,但是這些新的幣種跟比特幣沒有本質區別,定位都是貨幣。
幣姐小百科
“區塊鏈” 並不是中本聰提出來的。
最早大家把比特幣的貨幣用小寫的 “bitcoin” 來表示,而把比特幣的底層技術用大寫的 “Bitcoin” 來表示。
但是由於很多人對比特幣有偏見,於是大家把比特幣的底層技術提煉出一個新名詞 —— 區塊鏈(blockchain)。
這個階段,區塊鏈的應用只有貨幣,功能單一,這個階段,區塊鏈技術存在 3 個問題:
腳本語言太複雜,不易開發生態系統不好,參與者並不多腳本語言不符合 “圖靈完備”,限制了進一步用途
區塊鏈技術只應用於數字貨幣的階段,被大家稱為區塊鏈 1.0 的時代。代表作就是比特幣。
2013 年,Vitalik Buterin(人稱 “V 神”),發布了以太坊白皮書的首個版本。
2015 年,以太坊發布第一個正式版本:前沿。這個版本只有命令行界面,主要使用者是開發者。
2016 年,以太坊發布新版本:家園。增加了類似 Windows 系統的圖形界面,普通用戶也可以體驗以太坊的功能。
2016 年,以太坊硬分叉,出現 ETH 和 ETC.
以太坊簡單理解的話就是一個 “操作系統”,好比 Windows
可能很多人聽過 “區塊鏈 3.0” 的說法,但是對於 3.0 目前還沒有達成共識,3.0 到底意味著什麼?代表作又是什麼?
有人說以 IOTA 為代表的,採用了 DAG 技術的項目就是 3.0(什麼是 DAG?)
有人說 3.0 就是擴展到金融領域之外,將其技術應用到生活中的方方面面。
3.0 是什麼並不重要
重要的是區塊鏈技術變得越來越強大。相信區塊鏈技術在未來會給我們的工作和生活帶來實實在在的好處。
前比特幣時代
加密貨幣可能已經成為千禧一代最喜歡的投資資產之一。但卻很少有人知道,早在 1982 年就出現了第一個數字現金的提案。在論文 “Blind signatures for untraceable payments" 中,加州大學的研究員 David Chaum 第一次提出了數字現金的概念。
他在 1990 年創立了名為 Digicash 的公司,但這家公司在向南發展最終宣告破產。這是第一次將數字現金帶到現實世界的嚴肅嘗試,雖然在當時互聯網的滲透還處於起步階段。
1991 年,Stuart Haber 和 W. Scott Stornetta 第一次開始研究由區塊組成的加密安全鏈。在這條鏈上,沒有人可以篡改文件的時間戳。在一年之後的 1992 年,他們升級了系統,採用了 Merkle 樹來提升效率,一個區塊可以容納更多的文件。
數字黃金(E-Gold)
1996 年,Gold & Silver Reserve(G&SR)發布了數字黃金,它是一種由實物黃金支持的數字貨幣。這家公司在 PayPal 成立的兩年前發布數字黃金,它讓用戶能看到自己持有的黃金餘額並允許用戶交易數字黃金。
它引入了實時結算的概念,這是現在的智能合約得以出現的重要理論積澱。它讓第三方的交易服務激增。與此同時,它引入了通過 SS 里加密連接和為第三方提供的 API 來達成交易。
除此之外,儘管它是一家中心化的公司,但它開啊了一種名為 “e-gold Special Purpose Trust” 的治理機制,這是如今治理委員會的核心。
E-Gold 也第一次使得國際龐氏騙局和全球化欺詐成為可能。
在高峰時期,電子黃金每年的交易額達到 20 億美元,有五百萬個賬戶,並儲存了超過 3.5 噸黃金。
讓電子黃金走向消亡的是越來越多的安全問題,包括龐氏騙局和網絡釣魚攻擊。該公司一直是全球黑客的目標,一些常見的黑客技術(公司模仿,郵件列表攻擊……)為攻擊電子黃金進行了改進。E-Gold 最終被美國司法部門以非法匯款人的身份關閉。在訴訟的過程中,電子黃金失去了巨大的用戶群體,這些用戶害怕被當局看到他們的持倉。到 2008 年,這一系統迅速沒落。
密碼學家時代
數字黃金的同一時期還有其他的創新。在 1997 年,密碼學家 Nick Szabo 發布了一篇名為 “Formalizing and Securing Relationships on Public Networks" 的論文。他在其中提出了智能合約的概念,它是一種在無信任的陌生人網絡之間執行協議的方法。
1998 年,Szabo 設計了一種名叫 Bit Gold 的去中心化數字貨幣。Szabo 建議用戶使用計算能力來解決加密謎題。雖然 Bit Gold 從未被大規模使用,但它的理論框架影響了第一個加密貨幣的創造。
同樣在 1998 年,計算機工程師 Wei Dai 發布了 “B-money, an anonymous, distributed electronic cash system." 這篇論文描述了很多現代加密貨幣的特徵,如分類賬本的集體更新,工作進程激勵,加密身份認證以及公鑰加密學。
另一位重要的貢獻者是 Hal Finny,他是一位開發者也是密碼學活躍分子,在 2004 年開發了第一個可重複使用的工作量證明(RPOW)。
進入比特幣時代
有一些線索可以表明一些新的東西來到了這個世界,一些前所未有的會產生天翻地覆的影響的東西。
在 2008 年的 8 月,域名 “Open source P2P money" 被註冊了。
在 2008 年 10 月 31 日,論文 “Bitcoin: A Peer-to-Peer Electronic Cash System" 在一個加密學的郵件組中被發布。發布者名為中本聰(Satoshi Nakamoto),這是一個或者多個人的假名,至今仍不能確定中本聰的真實身份。
這裡是郵件原文:
我已經研究出了一个新的點對點電子現金系統,不需要被信任的第三方。
論文可以在這裡查看:http://www.bitcoin.org/bitcoin.pdf
主要特性:
以點對點的網絡防止雙花攻擊;
沒有鑄幣廠或其他被信任的第三方;
新幣由哈希算法工作量證明產生;
新幣產生的工作量證明機制也為防止雙花攻擊的網絡提供動力。
—— 中本聰
在 2009 年 1 月,中本聰發布了比特幣的開源軟件。在 2009 年 1 月 3 日,當中本聰挖出鏈上的第一個區塊時,比特幣網絡誕生了。後來那個區塊被稱為 “創世區塊”。
嵌入在這個區塊中的以下的文字:“The Times 03/Jan/2009 Chancellor on brink of second bailout for banks." 在這個時代,財政大臣在銀行第二輪救助的邊緣。比特幣社區和密碼學家將這句話解釋為時間戳和分布式儲存將對銀行業產生極大衝擊。
6 天之後,Bitcoin 1.0 版本被發布。任何人都可以參與進來。它是作為 Windows 程序發布的,使用 Visual Studio 編譯。
第一筆比特幣交易於 2009 年 1 月 12 日發送給 Hal Finny,當時中本聰在 170 區塊向他發送了 10 個比特幣。8 年後,這 10 個免費的比特幣在價值最高的時候達到了二十萬美元。 疑似中本聰的密碼學家
2009 年,小型加密社區進行了挖礦和辯論。
6 月的時候,中國政法發布了第一部關於 “虛擬貨幣” 的立法,禁止公民用任何種類的數字貨幣購買商品和服務。這條規則在當時針對的是視頻遊戲中的錢和電子積分,比如騰訊發布的 Q 幣。但它也涵蓋了比特幣。
2009 年 10 月 5 日,比特幣的兌換率第一次被確定。提案的匯率是 1309.03 BTC = 1 美元。它是通過計算一台計算機生成比特幣的電力成本得來的。這個匯率在近 8 年的時間裡被倒轉了過來:到 2017 年 4 月,1 BTC = 1309 美元。
2009 年 10 月 12 日,一個比特幣開發者的專屬 IRC 頻道誕生了:#bitcoin-dev。兩個月後的 12 月 16 日,作為這個頻道建立的結果,比特幣 2.0 版本誕生了。
2009 年 11 月 22 日,中本聰創建了 Bitcointalk,並使用 “Satoshi” 作為他的用戶名。他的主線從之前的 Sourceforge 論壇移了過來。 BitcoinTalk.org 上的第一條消息
2019 年以比特幣挖礦難度增加而告終:12 月 30 日,就在新年開始之前,挖礦難度有史以來第一次增加。
2009 年,小型加密社區進行了挖礦和辯論。
6 月的時候,中國政法發布了第一部關於 “虛擬貨幣” 的立法,禁止公民用任何種類的數字貨幣購買商品和服務。這條規則在當時針對的是視頻遊戲中的錢和電子積分,比如騰訊發布的 Q 幣。但它也涵蓋了比特幣。
2009 年 10 月 5 日,比特幣的兌換率第一次被確定。提案的匯率是 1309.03 BTC = 1 美元。它是通過計算一台計算機生成比特幣的電力成本得來的。這個匯率在近 8 年的時間裡被倒轉了過來:到 2017 年 4 月,1 BTC = 1309 美元。
2009 年 10 月 12 日,一個比特幣開發者的專屬 IRC 頻道誕生了:#bitcoin-dev。兩個月後的 12 月 16 日,作為這個頻道建立的結果,比特幣 2.0 版本誕生了。
2009 年 11 月 22 日,中本聰創建了 Bitcointalk,並使用 “Satoshi” 作為他的用戶名。他的主線從之前的 Sourceforge 論壇移了過來。
02 # 區塊鏈的核心技術
區塊鏈作為一種分佈式系統,包括 P2P 網絡技術、共識機制技術、密碼學技術。
一是 P2P 網絡(Peer-to-peer Network),即點對點網絡,P2P 網絡作為分佈式網絡,網絡上的各個節點可以直接相互訪問而無需經過中間實體,同時共享自身擁有的資源,包括存儲能力、網絡連接能力、處理能力等。
二是共識機制,即區塊鏈作為分佈式系統需保證系統滿足不同程度的數據一致性,為了實現數據的一致性,需要用到共識算法。
三是密碼學,即為保障區塊鏈數據構造、傳輸、存儲的完整和安全,區塊鏈技術使用了大量的密碼學技術和最新研究成果,諸如密碼哈希函數、橢圓曲線公鑰算法。
幾乎所有比特幣的技術組件都起源於 20 世紀 80 年代和 90 年代的學術文獻(見圖 1)。這並不是為了削弱中本聰的成就,而是指出他站在巨人的肩膀上。事實上,通過追溯比特幣思想的起源,我們可以將中本聰洞察力的真正飛躍歸結為一個特定的,複雜的方式 —— 一種組合創新(把底層組件整合在一起)的方式。這有助於解釋為什麼比特幣花了這麼長時間才被發明。已經熟悉比特幣工作原理的讀者可以從這個歷史回溯中獲得更深入的了解(更多介紹,參見 Arvind Narayanan 等人的 Bitcoin and Cryptocurrency Technologies (文獻 36)。比特幣的思想文化史也可以作為一個展示學術界、外部研究者和從業者之間合作關係的研究案例,並且為這些不同群體之間如何彼此合作獲益提供經驗教訓。
1 總賬本 (The Ledger)
如果你擁有安全的總賬本,那麼將其用於數字支付系統的過程將會非常簡單。例如,如果 Alice 通過 PayPal 給 Bob 100 美元,則 PayPal 從 Alice 的賬戶中扣除 100 美元,並將 100 美元存入 Bob 的賬戶。這大體上和傳統銀行的業務差不多,雖然傳統銀行的業務之間並沒有一個共享的總賬本。
總賬本的概念是理解比特幣的起點。它記錄了系統內發生的所有交易,並且對系統的所有參與者開放,並被他們信賴。比特幣將系統的支付記錄轉換為貨幣。在銀行業務中,賬戶餘額代表了可以從銀行取出來的現金,但一個比特幣代表什麼?就目前而言,我們只能說比特幣代表包含固定價值的交易。
在互聯網這種參與者之間可能互不信任的環境中,怎樣才能如何建立一個總賬本?讓我們從簡單的部分開始:數據結構的選擇。這個數據結構必須滿足一定的屬性要求 —— 總賬本應該是不可變的。更準確地說,只能添加新的交易,不能修改刪除,也不能對已有交易重新排序。除此之外,還需要獲得總賬本狀態的密碼摘要。摘要是一個簡短的字符串,可以避免存儲整個總賬本。如果總賬本被篡改,所產生的摘要必然會發生變化,從而可以檢測到篡改。需要這些屬性的原因是:與存儲在單個機器上的常規數據結構不同,總賬本是由互不信任的一組參與者共同維護的全局數據結構。這與去中心化數字總賬本 (decentralizing digital ledgers, 文獻 7,13,21) 的方法是不同的,在去中心化數字總賬本中,參與者維護本地總賬本,並且由用戶查詢這些總賬本來解決衝突。
1.1 鏈式時間戳 (Linked timestamping)
比特幣的總賬本數據結構有修改的借用了從 1990 年到 1997 年間由 Stuart Haber 和 Scott Stornetta 撰寫的一系列論文(他們 1991 年的論文還有另一個合著作者 Dave Bayer, 文獻 5,22,23)。我們能夠知道這些歷史淵源是因為中本聰在他的比特幣白皮書 (文獻 34) 中如此提及的。Stuart Haber 和 Scott Stornetta 的主要工作是處理時間戳的文檔化 —— 他們的目的是建立一個 “數字公證” 的服務。對於專利,商業合同和其他文件,人們希望確定該文件是在某個時間點或者不遲於某個時間點創建的。Stuart Haber 和 Scott Stornetta 的文檔概念非常泛化,可以是任何類型的數據。他們確實提到金融交易是潛在的應用,但金融交易不是他們關注的焦點。
在 Stuart Haber 和 ScottStornetta 方案的簡化版本中,文檔被不斷創建和廣播。每個文檔的創建者聲明一個創建時間(並簽名文檔)、文檔的時間戳和前一個廣播文檔。前一個廣播文檔友簽署了自己的前一個,所以文檔形成了一個很長的倒退鏈。外部用戶不能改變時間戳的信息,因為它是由創建者簽名的;創建者也不能在不改變整個信息鏈的情況下改變時間戳的信息。因此,如果通過可信源(例如,另一個用戶或專門的時間戳服務)獲得鏈中的某個項目,那麼該時刻之前的整個鏈是鎖定的,不可變,並且在時間上有序。進一步,如果你認為系統因為創建時間錯誤拒絕你的文檔,那麼你必須地保證文檔至少與其聲稱的一樣久遠。總之,比特幣只是借用 Stuart Haber 和 Scott Stornetta 設計的數據結構,然後重新設計了其安全屬性(通過增加工作量證明,本文稍後介紹)。
* 譯注:進一步,如果你認為系統因為創建時間錯誤拒絕你的文檔,那麼你必須地保證文檔至少與其聲稱的一樣久遠。無原文:Further, if you assume that the system rejects documents with incorrect creation times, you can be reasonably assured that documents are at least as old as they claim to be.
在 Stuart Haber 和 Scott Stornetta 的後續文獻中,他們介紹了使這個數據結構更加高效的其他方案(其中一些在第一篇論文中有暗示)。首先,可以使用哈希而不是簽名來創建文檔之間的鏈接;因為哈希更簡單,計算速度更快。這樣的鏈接被稱為哈希指針。其次,不是單獨對文檔進行線性處理(如果幾乎同時創建多個文檔,效率可能會很低),它們可以分為批處理組或區塊,每個區塊中的文檔具有基本相同的時間戳。第三,在每個區塊內,文檔可以用一個哈希指針的二叉樹連接在一起,稱為 Merkle 樹,而不是一個線性鏈。順便提一下,在 Stuart Haber 和 Scott Stornetta 的第一篇論文發表的 6 年之後,即 1991 年,Josh Benaloh 和 Michael de Mare 獨立地提出了上述三個方案。
1.2 梅克爾樹 (Merkle trees)
比特幣本質上使用 Josh Benaloh 和 Michael de Mare 在 1991 年和 1997 年提出的數據結構(中本聰大概不了解 Josh Benaloh 和 Michael de Mare 的工作),圖 2 以簡化的形式表示。當然,在比特幣中,交易取代了文檔。在 Merkle 樹的每一個區塊中,葉節點代表交易,每個內部節點由兩個指針組成。這個數據結構有兩個重要的屬性。首先,最新區塊的哈希作為摘要。對任何交易(葉節點)的更改都需要將更改一直傳播到區塊根,以及所有後續區塊的根。因此,如果你知道最新的哈希值,你可以從不可信源下載餘下的總賬本,並驗證是否改變。類似的觀點建立了數據結構的第二個重要屬性 —— 也就是說,某人可以簡單有效地向你證明某個特定的交易是否包含在總賬本中。這個用戶只須向你發送該交易區塊中的少量節點(這是 Merkle 樹的特點),以及每個後續塊的少量信息。高效地證明交易的包含能力對於性能和可伸縮性是非常需要的。
* 譯注:Ralph Merkle,生於美國,計算機科學家,對於公鑰加密技術有重大貢獻。後來研究方向轉至於納米科技以及人體冷凍技術。
便說一下,Merkle 樹是由對稱密碼學的先驅 Ralph Merkle 命名。Ralph Merkle 在 1980 年的論文 (文獻 33) 中提出了這個想法。他的目標應用是生產數字簽名證書的公共目錄摘要。例如,當一個網站向你提供一個證書時,它也可以提供證書顯示在全球目錄中的簡短證明。只要你知道證書目錄中 Merkle 樹的根哈希,就可以高效地驗證證明。這個想法在密碼標準中是古老的,但它的力量只有在最近才被認可。它是最近實施的證書透明系統 (文獻 30) 的核心。2015 年的一篇論文提出了 CONIKS,將 Merkle 樹應用於端到端加密電子郵件的公鑰目錄 (文獻 32)。對全局狀態的部分進行高效的驗證是總賬本在新的加密貨幣 (cryptocurrency) “以太坊 (Ethereum)” 中提供的關鍵功能之一。
比特幣可能是 Josh Benaloh 和 Michael de Mare 數據結構在真實世界中最著名的應用實例,但它並不是第一個。至少有兩家公司 —— 從 90 年代中期開始的 Surety,從 2007 年開始的 Guardtime —— 都用到了文檔時間戳服務。這些服務都有一個有趣的交集 (An interesting twist) 是 Bayer, Haber 和 Stornetta (文獻 5) 提到的一個想法,這個想法是在報紙上以廣告的形式定期刊登 Merkle 根。圖 3 顯示了由 Guardtime 發布的 Merkle 根。
1.3 拜占庭容錯 (Byzantine fault tolerance)
當然,沒有中心權威的互聯網貨幣要求更為嚴格。分佈式賬本將不可避免地存在分叉,這意味著一些節點會認為 A 區塊是最新的塊,而其他節點會認為 B 區塊是最新的塊。這可能是因為攻擊者試圖破壞總賬本的操作;也可能僅僅是因為網絡延遲,不同的節點不知道對方的區塊,偶爾會幾乎同時產生區塊。僅僅依靠鏈式時間戳解決分叉是不夠的,這由 Mike 在 1998 年的文章中證明 (文獻 26)。
一個不同的研究領域 —— 容錯分佈式計算 —— 已經研究了這個問題,其中包括狀態複製(state replication)在內的不同名稱。解決這個問題的方法是使一組節點以相同的順序應用狀態轉換 —— 通常,精確的順序無關緊要,只要所有的節點都是一致的。對於數字貨幣 (digital currency),要複製的狀態是一組餘額,交易即是狀態轉換。早期的解決方案,包括由圖靈獎得主 Leslie Lamport 於 1989 年 (文獻 28,29) 提出的 Paxos—— 當通信信道不可靠時,少數節點可能會出現某些 “realistic” 的故障,例如永遠離線或重新啟動,收到最初離線時發送的過時消息等 —— 會考慮狀態複製。隨後發表的大量文獻,主要是應對更為複雜(敵對 / 不利)的環境,以及針對效率的權衡(tradeoff)。
一系列相關工作研究了網絡大多可靠的情況(消息以有限延遲傳遞),但是 “故障” 的定義被擴展為處理與協議的任何偏離(any deviation)。這種拜占庭式故障包括自然發生的故障以及惡意製造的行為。早在 1982 年 (文獻 27),Lamport,Robert Shostak 和 Marshall Pease 發表了一篇論文:《拜占庭將軍問題》。之後的 1999 年,Miguel Castro 和 Barbara Liskov 發表了一篇里程碑式的論文引入 PBFT(practical Byzantine fault tolerance)同時容納了拜占庭故障和不可靠的網絡 (文獻 8)。與鏈式時間戳相比,容錯相關的文獻數量是很多的,包括 Paxos,PBFT 和其他重要協議的數百種變體和優化。
中本聰在最初的白皮書中沒有引用 BFT 的文獻或者使用其語言。他使用了一些概念,將協議作為一種共識機制,並以攻擊者的形式,以及節點加入和離開網絡的方式來考慮故障問題。這與他明確聲明參考了鏈式時間戳的文獻(包括工作量證明,下文討論)形成鮮明對比。當被問及關於比特幣與拜占庭將軍問題(一個需要 BFT 解決的思想實驗)的郵件列表討論時,中本聰聲稱工作量證明鏈解決了這個問題 (文獻 35)。
在接下來的幾年中,其他學者從分佈式系統的角度研究了中本聰的共識機制 —— 這仍然是一個正在進行的工作。有人表示,比特幣的屬性是相當弱的 (文獻 43);而另外一些人則認為,對於比特幣的一致性屬性來說 (文獻 40),BFT 的觀點並不公平。另一種方法是定義已經充分研究的性質變體,並證明比特幣滿足它們 (文獻 19)。最近,這些定義大大加強了,以提供一個更為標準的一致性定義,且該定義為消息傳遞保留更多現實性假設 (文獻 37)。然而,所有這些工作都假設部分參與節點的行為是 “誠實” 的(例如,協議兼容),而中本聰則認為,沒有必要盲目地假設節點行為是誠實的,因為行為是被激勵的。對中本聰的激勵共識機制的全面分析並不適合過去的容錯系統模型。
2 工作量證明 (Proof of Work)
幾乎所有容錯系統都假定系統中的大多數或絕大多數(如超過一半或三分之二)節點都是誠實和可靠的。在一個開放的對等網絡中,沒有節點的註冊,節點可以自由地加入和離開。因此,攻擊者可以創建足夠多的 Sybils 或 sockpuppet 節點來打破系統的一致性保證。Sybil 攻擊是由 John Douceur 在 2002 年正式形式化,並提出借助於密碼學基礎設施 —— 工作量證明 —— 來化解它。
2.1 起源 (The origins)
為了理解工作量證明,我們來看看這個概念的起源。工作量證明是由 Cynthia Dwork 和 Moni Naor 於 1992 年首次提出和創建的。他們的目標是阻止垃圾郵件。請注意,垃圾郵件,Sybil 攻擊和拒絕服務都是大致類似的問題:與常規用戶相比,攻擊者通過網絡增大其破壞力。工作量證明適用於三方防禦。在 Cynthia Dwork 和 Moni Naor 的設計中,電子郵件收件人只會處理那些附帶證明 —— 發件人執行了適量計算工作 —— 的電子郵件,即 “工作量證明”。計算工作量證明在普通計算機上可能需要幾秒鐘的時間。因此,對普通用戶來說不會造成任何困難,但是對於垃圾郵件發送者,在使用等效硬件的條件下,發送一百萬封電子郵件則需要幾周的時間。
請注意,工作量證明(也稱為 “難題求解”)必須特定於電子郵件以及收件人。否則,垃圾郵件發送者將能夠向同一個收件人發送多個郵件(或者向多個收件人發送相同的郵件),而成本和一對一發送一樣。第二個重要的特點是它應該給收件人僅造成最小的計算負擔;“難題求解” 應該是易於驗證的,無論他們計算多麼困難。此外,Cynthia Dwork 和 Moni Naor 認為帶有後門的功能 —— 這是中心權威機構所知道的一個秘密 —— 可以讓權威機構在不做工作量證明的情況下解決問題。一个可能的应用程序后门是为权威机构开放一个不产生成本发送邮件的邮件列表。Cynthia Dwork 和 Moni Naor 的提案包含三個滿足其性質的候選難題,並啟動了整個研究領域,我們將再次回到這個主題。
2.2 哈希現金 (Hashcash)
一個非常類似的名為 hashcash 的想法是在 1997 年由當時是 cypherpunk 社區的博士後研究員 Adam Back 獨立發明的。Cypherpunk 社員是反政府和反中心機構力量的活動家,並致力於通過密碼學推動社會和政治變革。Adam Back 是注重實踐的人:他首先發布的是 hashcash 軟件,五年後的 2002 年才發布 Internet 草案(標準化文件)和論文 (文獻 4)。
Hashcash 比 Cynthia Dwork 和 Moni Naor 的想法簡單得多:它沒有後門,也不需要中心權威,它只使用哈希函數而不是數字簽名。Hashcash 基於一個簡單的原理:哈希函數在某些實際用途中表現為隨機函數,這意味著找到哈希到特定輸出的輸入的唯一方法是嘗試各種輸入,直到產生期望的輸出為止。而且,找到哈希到任意一組輸出的輸入的唯一方法是再次逐個嘗試對不同的輸入進行哈希。所以,如果讓你嘗試找到一個輸出哈希值以 10 個零開始的輸入(二進制),你將不得不嘗試大量的輸入,你會發現每個輸出從 10 個零開始的機會都是(1/2)^10,這意味著你將不得不嘗試(2)^10 個輸入的順序,或大約 1000 個哈希計算。
顧名思義,在 hashcash 中,Adam Back 把工作量證明看作一種貨幣形式。在他的網站上,他把這種貨幣定位為 David Chaum 的 DigiCash 實現選擇之一 —— 一個由銀行向用戶發放無法追蹤的數字現金 (digital cash) 的系統。他甚至在技術設計上做了一些權衡設計,使其顯得更像一種貨幣。後來,Adam Back 評論認為比特幣就是 hashcash 的直接擴展。但是,hashcash 並不是現金,因為它沒有防止雙重支出(雙花)的保護。Hashcash 的令牌不能在對等同伴之間交換。
同時,在學術領域中,研究人員發現,除了垃圾郵件之外,工作量證明還有很多應用場景,例如防止拒絕服務攻擊 (文獻 25),確保網絡分析的真實性 (文獻 17),密碼在線猜測的速率限制 (文獻 38) 等。順便說一句,工作量證明這個詞是由 Markus Jakobsson 和 Ari Juels 在 1999 年撰寫的一篇論文中首次提出來的,這篇論文也是到那時為止對這一研究的很好綜述 (文獻 24)。值得注意的是,這些研究人員似乎並不知道到 hashcash,各自獨立地朝著基於哈希的工作量證明的方向匯集,這在 Eran Gabber 等人的論文以及 Juels (文獻 18) 和 Brainard (文獻 25) 的論文中都有提及(本文中使用的許多術語是在有關論文發表後很長時間才成為標準術語的)。
側邊欄:Sybil - 對抗網絡 (Sybil-resistant networks)
John Douceur 在他關於 Sybil 攻擊的論文中提出,所有參與 BFT 協議的節點都需要解決 hashcash 難題。如果一個節點偽裝成 N 個身份,將無法及時解決 N 個難題,其偽造的身份將被清除。然而,惡意節點仍然可以獲得比只聲稱單一身份的誠實節點有更多的優勢。2005 年發布的後續文章 (文獻 1) 中提出,誠實的節點應該反過來模仿惡意節點的行為,並聲稱其計算能力能夠承擔的盡可能多的虛擬身份。利用這些虛擬身份執行 BFT 協議,原來的假設 “最多只有部分 f 節點故障” 可以用 “由故障節點控制的總計算能力的份額至多為 f ” 來代替。因此,不再需要驗證身份,並且開放的對等網絡可以運行 BFT 協議,比特幣恰好使用了這個想法,但中本聰提出了進一步的問題:用什麼來激勵節點執行昂貴的工作量證明計算呢?答案需要進一步的飛躍:數字貨幣 (digital currency)。
2.3 工作量證明和數字現金:雙環困境 (Proof of work and digital cash: A catch-22)
你可能知道,作為反垃圾郵件措施,工作量證明沒有成功應用於其發源的應用。一個可能的原因是不同設備求解難題的速度有巨大差異。這意味著垃圾郵件發送者可以用小額的投資來定制硬件,就可以將滥发垃圾郵件的速率提高幾個數量級。在經濟學中,對生產成本不對稱的自然反應是進行貿易 —— 即,工作量證明的交易市場。但是,這裡就是一個雙環困境(catch-22),因為這將需要一個可以工作的數字貨幣 (digital currency)。事實上,正是因為缺乏這樣的貨幣,導致了工作量證明使用的最大動機不足。這個問題的一個粗暴的解決辦法是宣布 “難題求解” 是現金,正如 hashcash 試圖做的那樣。
圖片
* 譯注:雙環困境,一般指互相抵觸之規律或條件所造成的無法脫身的困窘;或者是不合邏輯的或矛盾的問題。例如這就是一個相互矛盾的困窘:沒有任何人想要支持你除非你已經成功了,但是如果沒有任何人支持,你怎麼可能成功呢?
工作量就是貨幣,而工作量又需要貨幣激勵,這就是雙環困境。
如果強制規定工作量證明就是貨幣,中本聰的共識和激勵邏輯應該是這樣的:工作量證明就是貨幣,這激勵礦工努力挖礦提供工作量證明,然後獲得貨幣;同時利用經濟學原理設定規則,讓惡意節點的投入大於受益,惡意節點沒有動力破壞共識,就可以解決 BFT 中因為將軍叛變而不能達成共識的難題。
在比特幣之前的兩篇文章中發現了更為清晰的方案來將 “難題求解” 作為現金來處理,文章分別描述了 b-money (文獻 13) 和 bit gold (文獻 42)。這些方案提供時間戳服務,用來簽署錢的創建(通過工作量證明),並且一旦創建了錢,就可以簽署轉帳。但是,如果伺服器或節點之間出現總賬本不一致的情況,文章則沒有給出明確的解決辦法。依靠多數原則來決定似乎是兩位作者的文章的隱含之意,但是由於 Sybil 問題,這些機制並不是很安全,除非有一個 gatekeeper 控制網絡的引入,或者 Sybil 對抗本身是通過工作量證明來實現的。
3 組合創新 (Putting it all together)
通過了解所有這些貢獻了比特幣設計細節的前輩,你會體會到中本聰真正天才般的創新。在比特幣中,“難題求解” 不能自我構建成為現金,相反,他們只是用來保護總賬本。而工量作證明的解決是由專門的實體稱為礦工來完成的(雖然中本聰沒有估計到專業挖礦將會成為什麼樣子)。
礦工們需要不斷地相互競爭,尋找下個 “難題求解”。每個礦工都要求解這個難題的一個稍微不同的變體,因此成功的機會與礦工控制的全球採礦能力的一部分成正比。求解難題的礦工貢獻了基於鏈式時間戳的總賬本的下一個批次,或者區塊(即下一個交易)。通過維護和交換總賬本,貢獻一個區塊的礦工將會獲得一個新挖到貨幣的一份獎勵。很有可能的是,如果一名礦工貢獻了一個無效的區塊或交易,將會被大多數其他貢獻下一区塊的礦工拒絕,從而使無效區塊的獎勵失效。這樣,由於金錢上的激勵,確保礦工們彼此都遵循同樣的協議。
比特幣巧妙地避免了困擾 “工作量即現金 (proof-of-work-as-cash)” 機制的雙重支出(double-spending, 雙花)問題,因為它避開了 “難題求解” 本身的價值。事實上,比特幣實現了 “難題求解” 與經濟價值的兩次解耦:生產一個區塊所需的工作量是一個浮動參數(與全球採礦能力成正比),而且更進一步每個區塊發放的比特幣數也不是固定的。區塊獎勵(也就是新比特幣如何挖出)每四年設置一半(在 2017 年,獎勵是 12.5 比特幣 / 塊,從最初 50 比特幣 / 塊減半而來)。比特幣包含了一個額外獎勵計劃 —— 即交易發起者
向具有包含該交易的區塊的礦工支付交易費用,並且期望由市場決定交易費用和礦工的報酬。
那麼,中本聰的天才並不是比特幣的任何單個組成部分,而是創造了一種複雜方式 —— 把各種技術融合在一起為整個系統注入生命活力。客觀的說,時間戳和拜占庭協議的研究人員沒有觸及節點激勵問題,直到 2005 年,也沒有使用工作量證明來消除節點身份問題。反過來說,hashcash,b-money 和 bit gold 的作者並沒有吸收共識 / 一致性算法的思想來解決雙重支出(雙花)問題。在比特幣中,一個安全的總賬本才能防止雙重支出(雙花)問題,從而確保貨幣有價值。有價值的貨幣才能獎勵礦工,然後保證採礦力量的強度才能保證總賬本的安全。如果沒有足夠採礦力量,一個對手可能會佔據全球 50%以上的採礦能力,從而能夠比網絡的其他部分更快地生成數據塊,然後雙重支付交易,並有效地重寫歷史記錄,使得整個系統赤字。因此,比特幣是自舉的,在總賬本,貨幣,礦工這三個組件之間有一個閉環的依賴關係。中本聰面臨的挑戰不僅僅在於設計,而是能夠說服最初的用戶和礦工社區一起,面向未知的時代,縱身一躍:那個時候比薩的價格超過了 10000 比特幣,網絡的採礦能力還不到今天的萬億分之一。
側邊欄:智能合約 (Smart contracts)
一個智能合約就是把數據放在一個安全的總賬本中,並將智能合約擴展到計算。換句話說,它是一個公開指定程序正確執行的共識協議。用戶可以調用智能合約程序中的功能,並服從程序指定的任何限制,並且功能代碼由礦工串聯執行。用戶可以信任輸出而不必重做計算,並可以編寫自己的程序來處理其他程序的輸出。通過與加密貨幣 (cryptocurrency) 平台相結合,智能合約尤其強大,因為上述程序可以處理資金 —— 擁有,轉讓,銷毀,在某些情況下甚至可以打印。
比特幣實現一種限制性編程語言作為智能合約。一個 “標準” 交易(即將貨幣從一個地址轉帳另一個地址的交易)就是用這種語言實現的簡短腳本。以太坊 (Ethereum) 提供更寬容和強大的語言。
智能合約的想法是由 Nick Szabo 在 1994 年提出的 (文獻 41),因為可以類比於法律合同(智能合約比法律合同多了自動執行的功能),所以命名為智能合約。Nick Szabo 早就預見性(這個觀點已經被 Karen Levy (文獻 31) 和 Ed Felten 所批評 (文獻 16))的提出了智能合約作為數字現金協議的擴展,並且認識到拜占庭協議和數字簽名(等等)可以作為構建模塊。加密貨幣的成功使智能合約成為現實,對這個話題的研究也開始興起。例如,編程語言研究人員已經調整了他們的方法和工具,以自動發現智能合同中的錯誤並寫出可校驗正確的智能合約。
3.1 公鑰即身份 (Public keys as identities)
本文基於這樣一個理解:一個安全的總賬本使創建數字貨幣 (digital currency) 更加容易。讓我們再回顧這個斷言。當 Alice 希望支付 Bob 時,她將交易廣播給所有的比特幣節點。一個交易只不過是一個字符串:一個聲明 “Alice 希望支付給 Bob 一些錢” 並由 Alice 簽名。最終,這個聲明被礦工記入總賬本,交易即成為現實。請注意,這個過程中並不要求 Bob 以任何方式參與。但是讓我們把注意力放在這次交易的缺席者:顯然缺席的是 Alice 和 Bob 的身份;相反,交易只包含他們各自的公鑰。這就是比特幣的一個重要的概念:公鑰是系統中唯一的身份。交易向公鑰傳入或者傳出價值,這個公約就稱為地址。
* 譯者注:從這個地址概念的引入,對比傳統的分佈式系統,中本聰的創新很巧妙。
為了能夠 “說出” 一個身份,你必須知道相應的密鑰。你可以隨時創建一個新的身份 —— 方法是生成一個新的密鑰對 —— 而不需要中心機構或註冊機構。你不需要申請用戶名或通知其他人你已選擇了特定的名稱 —— 這是去中心化身份管理的概念 —— 比特幣沒有指定 Alice 如何告訴 Bob 她的化名(Pseudonyms)是什麼,這是系統外部的。
與當今大多數其他支付系統截然不同,這些想法相當 “古老”,可以追溯到