區塊鏈:定義未來金融與經濟新格局
張健 著
本書由“行行”整理,如果你不知道讀什麼書或者想獲得更多免費電子書請加小編微信或QQ:2338856113 小編也和結交一些喜歡讀書的朋友 或者關注小編個人微信公眾號名稱:幸福的味道 id:d716-716 為了方便書友朋友找書和看書,小編自己做了一個電子書下載網站,網站的名稱為:周讀 網址:http://www.ireadweek.com
目錄
推薦序一
推薦序二
序言
致謝
第0章 必然的出現
文字與貨幣
資訊的演化
嘗試定義信用
從互聯網到區塊鏈
區塊鏈的誕生
第1章 區塊鏈是什麼
記帳貨幣
天才的發明
共識機制與價值載體
當交易變得智慧
將區塊鏈連接起來
區塊鏈的未來
本章結語
第2章 區塊鏈帶來的新機遇
數字貨幣產業鏈
互聯網金融
物聯網與共用經濟
新一代基礎設施
本章結語
第3章 區塊鏈的應用場景
數位貨幣
眾籌
清算、結算與審計
智能合約
版權與許可
公證與記錄
更多
第4章 區塊鏈技術原理
密碼學基礎
區塊鏈組成
共識演算法
側鏈技術
附錄1 比特幣:一種點對點的電子現金系統
附錄2 乙太坊:下一代智慧合約和去中心化應用平臺(選譯)
後記
對話作者:區塊鏈離我們還有多遠
大家談之《區塊鏈大革命》
未來已經來臨,只是尚未流行。
——威廉·吉布森(William Gibson)
推薦序一
隨著互聯網金融向縱深發展,區塊鏈技術及其應用成為人們日益關注的熱點。區塊鏈技術開始從概念走向實際應用,越來越多的資金流向區塊鏈的創業企業以及相關領域的創新,隨著各國的金融機構甚至一些大型傳統企業加入區塊鏈技術的探索行列,一場真正的革命正悄然到來。
2015年10月,《經濟學人》發佈封面文章:製造信任的機器——比特幣背後的技術將如何改變世界。理解這句話的意思並不難,然而理解其背後的機理卻相當不易。這不僅需要對於區塊鏈本質有認識,更需要諸多跨學科的背景知識,遠不是一兩句話就能夠解釋明白的。這也是我們推薦這本書的原因所在。通讀本書,最大的感受是,作為區塊鏈行業的從業者,作者的視野和知識結構都沒有局限於自身的職業。本書開篇通過簡述人類社會資訊轉播方式和價值傳遞方式的演化路徑,勾勒出一個從資訊到信用、從互聯網到區塊鏈的發展軌跡,引出了區塊鏈這種高效的價值傳遞方式出現的必然性。談到區塊鏈的本質,作者又從貨幣開始講起,同時引入大量背景知識,讓讀者對區塊鏈的內涵有更為深刻的理解。這種系統化的論述,對一項新興技術甚至思想的推廣普及,無疑有著非常重要的意義。
區塊鏈的優勢在於能夠用非常低的成本解決網路交易的身份識別和個人征信,以及使用點對點的交易避免了傳統集中式的清算結構,從而能夠大大提高金融系統甚至整個經濟體系的運行效率。除了區塊鏈的誕生背景及本質,本書還圍繞區塊鏈的各個方面分別談了區塊鏈帶來的新機遇、各種應用場景以及具體的技術原理等內容。比如談到互聯網金融,作者提出了“區塊鏈將成為互聯網金融夢想照進現實的關鍵技術”這樣讓人印象深刻的觀點;提及物聯網與共用經濟,作者從理論的角度分析它們目前面臨的問題,並引出區塊鏈對解決這些問題的價值與意義。雖然本書涉及的領域非常寬泛,很難做到面面俱到,但書中所講的各種觀點以及獨立思考的精神,是難能可貴的。
與常見的新技術佈道者不同,本書體現了少見的冷靜。作者坦承,現在的區塊鏈處在它的嬰兒時期,各方面的基礎設施還很不完善,而這種不完善限制了區塊鏈的大規模應用。在我看來,中國需要更多的這種不虛美、不隱惡、冷靜務實的金融科技從業者,而這也是整個國家的金融體系穩步改革和發展的基本保證。
廖理
清華大學五道口金融學院教授、博士生導師
互聯網金融實驗室主任
推薦序二
2011年,已經連續創業多年的我無意中聽到朋友介紹比特幣;2013年下半年,火幣網成為當時我們只有20多人的創業公司裡並行的第四個項目。2013年9月,在火幣網上線後不到3個月的時間,比特幣漲到8000元一枚,火幣網一躍成為行業的領軍交易平臺。截至今日,我們已經為超過30個國家和地區的150萬使用者提供交易服務,累計交易額突破1萬億元。
在火幣網做出一些成績後,經常有人來問我成功的秘訣。雞湯也不是沒有灌過,但回首往事,我清楚地知道火幣網能有今天,除了全員上下的不懈努力,運氣的成分必不可少。創業維艱,九死一生,不是所有的努力都能有結果,我們只是在對的時間做了一件對的事情。這件事總的來說,便是認識到了比特幣乃至其背後的支撐技術——區塊鏈的價值。
區塊鏈可能是21世紀最讓人興奮和值得期待的技術創新之一,它創造性地使用技術的方式為交易雙方建立信用,而無需協力廠商機構參與,從而極大地降低了交易成本。如同互聯網技術革命性地降低了人類資訊交互的通信成本,區塊鏈技術的廣泛應用,在未來將極大地降低價值交換的信用成本。
火幣網作為行業的領軍企業,因此有責任和義務向公眾客觀全面且深入地介紹比特幣的底層技術,這也體現了我們要長期紮根數位貨幣產業的誠意和決心。2015年以來,隨著區塊鏈技術的蔚然成風,市場上陸續出現了一些相關書籍,但品質良莠不齊。本書作者張健力圖以高屋建瓴的視角、深入淺出的文字,讓普通讀者也能領悟這一創新技術的價值和奧秘。本書從整個人類文明的發展講起,從資訊交換和價值傳遞的路徑提出區塊鏈出現的必然性,在全面地介紹這一技術突破的同時,保持研究者的冷靜和客觀。我作為比特幣這個新興行業的資深從業者,推薦讀者閱讀此書,本書可作為瞭解區塊鏈技術的入門書籍,相信你在本書中可以體會到一個研究者應有的專注和專業。
2014年6月,我第一次見到本書作者張健,當時他在做國內最大的區塊鏈查詢網站(qukuai.com)。同為連續創業者的我們志同道合,相談甚歡,很快確立了合作意向,張健也以此為契機加入了火幣網團隊。經過兩年的共同創業,張健最為打動我的是他對區塊鏈事業的熱愛,以及對於創業的專注、堅韌和執著。2016年年初,為了更好地推進區塊鏈業務的研發和開拓,火幣網成立了區塊鏈研究與應用中心,張健以火幣網技術副總裁的身份任中心負責人。本書是該中心成立後第一項向公眾展示的成果,之後我們還會有一系列的研發、教育、公眾科普與商務合作項目,致力於全面推動比特幣乃至區塊鏈產業的發展。
人生的大方向很多時候是由一些微不足道的瞬間決定的。如果不是在幾年前的飯桌上聽到比特幣的理念,我可能不會做火幣網;如果不是因為火幣網,我便沒有機會結識張健和其他在火幣網工作的同仁,也不會為了我們共同的理想而奮鬥。希望對於各位讀者來說,在翻開這本書的這個瞬間,也能讓你們開始對區塊鏈這個令人激動的創新技術產生興趣,希望有越來越多的人才進入這個方興未艾的行業,與我們共同創造一個科技引領改變的未來。
李林
火幣網創始人兼董事長
序言
有幸成為新時代的親歷者
價值互聯網時代
我有幸親歷的這個新時代,是價值互聯網時代。而正在拉開這個時代大幕的,卻是在誕生初期並不起眼,但目前越來越受到關注的區塊鏈技術。
區塊鏈雖然以技術的面目誕生,但是其所帶來的,已經遠遠超越技術範疇本身,正如互聯網所給我們帶來的一樣。在我看來,區塊鏈不僅僅是一項技術、一個工具,更是一種思想。開放、共用、去中心化,區塊鏈的這些核心精神與互聯網不謀而合。而與互聯網不同的是,區塊鏈把這樣的思想從資訊的傳遞進一步拓展到價值的傳輸。
互聯網時代的來臨,使得資訊傳輸的成本趨於零,這已經深刻地改變了社會的經濟格局及每個人的生活。這促使我思考,當未來市場交易成本趨於零的時代到來時,整個世界經濟格局及社會結構將發生怎樣的變化?
我們必須為這樣的變化做好準備,因為這個時代正在朝我們走來。
我與區塊鏈的緣分
區塊鏈作為比特幣背後的技術,於2009年年初正式誕生。而我真正關注到這項技術是在2013年。當時,隨著價格的暴漲以及媒體的報導,比特幣第一次走進了大眾的視野。與大多數人關注點不同的是,我對比特幣背後的技術產生了非常大的興趣,於是開始一探究竟。而當我真正懂得了比特幣背後的邏輯,即區塊鏈的原理時,我被這樣優雅的設計深深震撼了。這開啟了我與區塊鏈的緣分——由興趣到事業的過程。
2014年年初,我開始著手創建一個區塊查詢網站。創建這個網站的初衷是,當時國內並沒有這樣的平臺,而國外的平臺對於國內使用者來說,無論是速度還是體驗都不盡如人意。經過一段時間的努力,2014年3月,國內首家比特幣區塊流覽器“區塊”(Qukuai.com)正式上線。通過這個網站,任何人都可以非常方便地查詢區塊鏈的資料。網站上線以後,逐漸獲得國內比特幣用戶的支持與青睞,這讓我萌發了把這個興趣當作事業的想法。
於是,基於區塊網站,我做了一系列的功能升級,並推出了一個比特幣錢包——“快錢包”。在這個過程中,我有幸結識了火幣的創始人李林。懷著對這個新興行業共同的理解與對前景的認同,我選擇加入火幣。作為一個年輕的品牌,火幣於2013年下半年誕生並迅速成長為國內最大的比特幣交易平臺。通過一系列的產業鏈擴張,火幣立志成為數位貨幣領域的基礎服務商。如今,火幣已經頗具規模,成為行業內名副其實的領軍企業。這使得我們有能力也有責任來做一些基礎工作,為推動整個行業的發展貢獻力量。於是2016年年初,我牽頭成立了火幣數位貨幣與區塊鏈研究中心,專注於數位貨幣與區塊鏈技術的研究及行業基礎設施的建設。
創作此書的初衷
最近兩年,區塊鏈從不為人知到獲得越來越多人的關注,甚至正在成為一個熱門的新興領域,其實有著深刻的內在邏輯。然而,除了少數已經投入其中的公司或研究機構,大多數人對於區塊鏈的瞭解還處在概念階段,可能知道一些特徵或技術術語,但並不真正知道它究竟是什麼。
2016年以來,我多次參加區塊鏈相關論壇活動,也接受了很多採訪。然而沒想到的是,講得越多,似乎越覺得難講。首先,你想把這個概念講清楚,並不是一兩句話就可以做到,因為它涉及各種各樣不同領域的知識與背景。更大的挑戰在於,由於聽眾的背景與知識結構各不相同,在短時間內通過口述讓所有人理解區塊鏈是什麼以及它能幹什麼,簡直是一件不可能完成的任務。
於是,我萌發了創作一本區塊鏈書籍的想法。利用這本書,我可以把我對於區塊鏈的所有理解系統且完整地呈現出來,讓所有對於區塊鏈或者對於新事物、新機會感興趣的人,都能夠在不需要太多背景知識的情況下理解區塊鏈是什麼、當前的發展如何以及可能擁有怎樣的未來。最後,在火幣聯合創始人兼CMO杜均的提議和鼓勵下,寫作此書的任務正式排上日程。
時間意味著什麼
不過想法雖好,要真正做到並不容易。最大的敵人是時間。由於日常工作的繁忙,想抽出大塊的時間完成書稿本已非常難,加之我對於本書的內容又有著較高的要求,這對矛盾就變得愈加尖銳,在寫作的過程中始終困擾著我。幸運的是,我不是一個人在戰鬥。若是沒有團隊的協助與鼓勵,以及公司的大力支持,本書的完成不知道還要等上多久。
即便如此,成書的過程依然倉促,再加上我知識結構的局限,錯誤之處在所難免。不過我依然堅定地認為,讓此書儘快面世遠比把內容修訂得“完美”更有意義。在一個各方面邊際成本正逐步趨於零的社會,“時間”越來越成為我們最大的成本。知識可以長久存在,但機會往往轉瞬即逝。我們可以學習過去的知識,卻無法抓住過去的機會。我們越早一點瞭解到新事物,就越有可能抓住時代前行帶給我們的機遇。
對於區塊鏈這樣一種協定式的、需要大規模社會協作與參與的顛覆性技術,越快讓更多人瞭解到它的意義,就會使其越快體現出自身的價值。
讓我們一起期待並擁抱價值互聯網時代的到來吧!
張健
2016年5月18日於火幣
致謝
本書得以面世,離不開很多人的幫助。
感謝中本聰(Satoshi Nakamoto),他開創性的工作拉開了數字貨幣與價值互聯網的大幕。
感謝我的同事李志闊、趙海濤、張智茹、焦鋒,在寫作過程中我們常常進行熱烈而卓有成效的討論。李志闊協助修訂了大部分章節,趙海濤參與了第4章區塊鏈技術原理的寫作,張智茹協助修訂了部分章節,焦鋒繪製了書中的部分插圖,沒有他們,本書的精彩程度將大打折扣。
感謝火幣市場部的同事吳興、安鑫鑫、張曉萌,沒有他們的耐心督促,這本書的面世還要推遲很久。
感謝機械工業出版社的編輯老師李華君、張夢玲,感謝他們容忍我對書稿的反復修改,感謝他們專業細緻認真的編校工作。
感謝火幣創始人李林、聯合創始人杜均,沒有火幣這個積極向上、充滿活力的團隊,這本書的完成是不可想像的;感謝火幣總裁辦劉月雯,她為這本書做了大量的協調工作。
感謝區塊鏈愛好者魏然對書稿的寶貴建議及其提供的精彩文章。
要感謝的人還有很多,難以一一列舉。惟願這本書能夠為區塊鏈技術在中國的推廣和發展做出儘量多的貢獻。
第0章 必然的出現
這些力量並非命運,而是軌跡。它們提供的並不是我們將去往何方的預測,而是告訴我們,在不遠的將來,我們會向哪些方向前行,必然而然。
——凱文·凱利(Kevin Kelly)
文字與貨幣
人類在演化過程中,憑藉智慧創造了無數事物,這些創造推動了人類文明的加速發展。特別是在進入資訊時代以後,每天甚至每時每刻,創造都在不同領域發生著。
然而在人類文明的歷史長河中,有兩樣東西的誕生具有極為特殊的地位,甚至其他任何創造都無法與之相提並論,它們就是文字與貨幣。文字的發明,使得人類能夠在精神層面做到可靠的交流與傳承;而貨幣的發明,則讓人類在物質層面能夠做到這一點。如果沒有這兩者,人類作為一個群體將無法獲得知識與財富的反覆運算與累積,也就不會有人類輝煌的文明成果。
現今發現最早的使用文字的記錄來自於西元前3000年左右,美索不達米亞平原[1]南部的蘇美爾人用削成三角尖頭的蘆葦杆將文字刻寫在泥板上,然後將泥板烘乾以便於保存。這就是最早的文字形式——楔形文字。巧合的是,貨幣制度也同時在這一地區誕生,蘇美爾人發明了已知最早的貨幣——大麥貨幣。他們將定量的大麥作為通用單位,用來衡量和交換其他各種貨物和服務。更有意思的是,當年的泥板上記載的內容不是詩歌也不是哲學,而是生意。美索不達米亞文明屬於城邦文明,發展出了豐富的商業行為。他們記錄在泥板上的,就是經營相關的事項和帳本。正如一位學者[2]所說:文字不是一種深思熟慮後的發明物,而是伴隨對私有財產的強烈意識而產生的一種副產品。
圖片來源:可汗學院,https://www.khanacademy.org/humanities/ancient-art-civilizations/ancient-near-east1/sumerian/a/cuneiform
而在中國,西元前210年,秦始皇統一六國之後,在全國範圍內統一文字,把小篆作為全國通用的書寫規範;廢除各國原來的貨幣,統一使用圓形方孔的秦半兩。統一的文字對推行法令、傳播文化起了重要的作用,而統一的貨幣改變了過去貨幣的混亂狀態,促進了全國各地的商品交換和經濟交流。這兩個舉措都被作為秦始皇最重要的功績載入史冊。
《聖經·創世紀》裡有一則著名的故事:起初人類有共同的語言,並且一起居住在與幼發拉底河相距不遠的地方。人們利用河谷的資源在那裡建築城和塔,以聚集全體人類。上帝降臨視察,認為人類過於自信和團結,一旦完成計畫,人類將無所不能。上帝決定打亂人們的口音和語言,並使他們分散各地。於是高塔停工了,人們操持不同的語言,互相之間難以交流。這個塔就是巴別塔。
圖片來源:維琪百科,Pieter Bruegel the Elder
拋開宗教方面的意義,故事本身已經很值得玩味了。它告訴我們,如果全人類能順暢地交流,那麼所能產生的能量和帶來的改變是不可估量的。而人類進行交流的載體不僅僅是語言。我們審視一下當今的世界,在全球經濟一體化的背景下,人類還是被不同的貨幣所分割。我們不由得遐想,如果有一天建成貨幣的巴別塔,人類的經濟生活將會面臨怎樣的飛躍。
如果我們進一步追本溯源,文字與貨幣都是人類進行更高效交流的手段。本質上,文字作為一種人際交流的手段,承載的是資訊;而貨幣作為一種價值傳輸的載體,承載的是信用。自這兩者誕生以來,人類資訊傳播和價值交換的手段也一直沒有停止反覆運算和進化。下面將簡要回顧它們發展和演變的歷史。
[1] 位於今天的伊拉克境內。
[2] Cf. E. A. Speiser,“ The Beginnings of Civilization in Mesopotamia,” J. Amer.Oriental Soc., Supp. 4, 59, 17 ff., esp. 25–28(1939).
資訊的演化
在文字出現以前,人類的資訊主要通過語言來傳遞。個人的知識來自族人的口授,集體的記憶來自祖輩的傳說。文字的出現使資訊不再稍縱即逝,可以更好地跨越時空。甚至有些人認為,書面文字(持久存在的文字)是我們所理解的有意識思考的前提條件。它觸發了人類靈魂不可逆轉的大規模變化。邏輯是書面文字的產物,是文字造就了人類的思維和歷史[1]。
印刷術的發明是資訊傳播方式里程碑式的進步之一。印刷術使知識傳播的範圍和有效性得到了極大的提高。在人類走出中世紀,迎來文藝復興、啟蒙運動和科學革命的進程中,印刷術扮演了重要角色。
圖片來源:http://www.gutenbergsapprentice.com Copyright ©2016 Alix Christie|Main images courtesy of the Mainz Stadtarchiv,Gutenberg Museum Mainz and University of Gottingen
時間推進到19世紀後期,隨著第二次工業革命的到來,電力得到廣泛使用,資訊傳輸技術也得到了又一次跨越式的發展。人們發明了電報,文字被轉換為莫爾斯碼;人們發明了電話,電流承載著資訊。從此以後,一個以“資訊”為關鍵字的時代慢慢拉開了它的大幕。20世紀40年代,資訊時代迎來了它最偉大的推手:香農。
香農曾向麻省理工學院的萬內瓦爾·布希透露,研究傳遞資訊的一般系統的某些基本屬性是他一直的興趣所在[2]。
圖片來源:維琪百科
1948年,香農發表了《通信的數學原理》,這篇具有劃時代意義的論文奠定了現代資訊理論的基礎。在文章中,香農為人類引入了一個新的單詞——比特(bit)。牛頓量化了力,建立起經典物理學的大廈;香農量化了資訊,打下了人類進入資訊時代的基礎。如今比特作為衡量資訊多少的單位,已經與米、千克、分鐘一樣,成為人類生活中最基本的量綱之一。1949年,香農又有了重量級的發現,他公開發表的《保密系統的通信理論》一文,開闢了用資訊理論來研究密碼學的新思路。這一發現將密碼從藝術變成科學。
通信的基本問題是,在一點精確地或近似地複現從另一點所選取的資訊[3]。從密碼分析者的角度來看,一個保密系統幾乎就是一個通信系統。待傳的消息是統計事件,加密所用的金鑰按概率選出,加密結果為密報,這是分析者可以利用的,類似於受擾信號[4]。在香農的理論裡,資訊傳輸、處理、檢測和接收過程,與密碼系統中的加密、解密、分析和破譯過程都可以用資訊理論的觀點進行分析和研究。密碼系統本質上也是一種傳遞資訊的系統。
在香農對資訊的概念加以簡化,並用比特(bit)作為量綱衡量後,人們發現資訊幾乎無處不在。比特(bit)的出現在後來引領了電腦、網路、摩爾定律以及如今發達的資訊和互聯網產業。
互聯網的誕生標誌著資訊時代的真正到來。從此資訊的產生與傳輸開始以前所未有的速度進一步突破時空限制,我們甚至正在迎來一個資訊爆炸的時代。而互聯網帶來的資訊革命,已經深刻地改變了全球的商業格局及我們每個人的生活方式。
[1] 詹姆斯·格雷克,《資訊簡史》,人民郵電出版社。
[2] 引用自http://ethw.org/Oral-History:Claude_E._Shannon。
[3] Claude E. Shannon, Warren Weaver. The Mathematical Theory of Communication. Univ of Illinois Press, 1949. ISBN 0-252-72548-4.
[4] 引用自http://netlab.cs.ucla.edu/wiki/files/shannon1949.pdf。
嘗試定義信用
自古以來,人們就認識到了信用的重要性。司馬遷在《史記·季布欒布列傳》中記載:得黃金百,不如得季布一諾。英國哲學家約翰·穆勒認為:互相信任可以彌合人類生活中的每一個裂隙[1]。然而,或許正是因為信用的無所不在,就像對空氣一樣,人類在絕大部分歷史時間內都忽略了對信用的定義和分析。
在剛剛過去的幾十年中,隨著科學和經濟的進步,信用成為交易成本理論、博弈論、社會經濟學等不同學科和理論中的重要話題。然而,由於不同的研究主體和研究層面並存,信用的概念依然是一個混亂的大雜燴。
在經濟學意義上,一般來說,信用意味著一些群體將自身置於因其他群體的不確定行為所造成的風險之下[2]。
信用與貨幣
現代經濟學認為,現代市場經濟從根本上是一種信用經濟,因為隨著分工的深化和市場的擴大,信用出現在借貸活動和其他一切市場經濟活動中。信用是維繫商品交換的基本前提,是市場經濟良好並高效運行的基礎。
貨幣在市場經濟中扮演著核心的角色,而信用與貨幣之間的關係則更為密切。尤瓦爾·赫拉利(Yuval Harari)在《人類簡史》中說:“金錢就是一種互相信任的系統,而且還不是隨隨便便的某種系統——金錢正是有史以來最普遍也最有效的互信系統。”
最早發明錢的時候,人們還沒有這種信任,所以要當作貨幣的事物本身就得有實際的價值,比如蘇美爾人的“大麥貨幣”制度。而隨著信任的建立,貨幣就開始向基於純粹的信用而不需要有內在價值的方向演化。
傳統的貨幣理論認為貨幣的本質是商品或一般等價物,隨著金本位制的瓦解,以20世紀70年代佈雷頓森林體系的崩潰為標誌,金屬本位徹底退出了歷史舞臺。事實上,目前世界上幾乎所有國家的貨幣都已是信用貨幣。信用貨幣是貨幣發展中的現代形態,不再代表任何貴金屬,並且其本身價值遠遠低於其貨幣價值,已經和商品屬性徹底脫鉤。
在實物貨幣階段,貨幣以實物商品的形式表現出來。從表面上看貨幣是有價值的商品,但是,人們出賣商品換取實物貨幣時需要的不是實物貨幣本身,而是實物貨幣交換其他商品的能力,即購買力。換句話說,人們之所以能接受實物貨幣,本質上並不是因為實物貨幣是有價值的商品,而是因為其相信實物貨幣是信用的象徵,它可以提供一般購買力。所以無論是實物貨幣還是信用貨幣,信用都是貨幣更為本質的屬性。也可以說,信用是貨幣的創造者[3]。
信用的可計算性
區塊鏈是作為比特幣底層技術與基礎架構而誕生的。比特幣是一個可以點對點進行支付、不依賴任何協力廠商的電子現金系統。借助密碼學技術,比特幣的發明者中本聰構造了一個極為巧妙的經濟系統,解決了在去中心化的結構下,如何創造一個可信的價值傳輸系統這個難題。
香農作為資訊理論的開創者,解決了“如何用數學方法定義資訊”這個關鍵的問題,讓資訊有了量化的單位“比特”並可以被精確計算,從而奠定了數位通信的理論基礎。類似地,在我看來,區塊鏈的誕生給了我們解決另一個宏大問題的機會——如何用數學方法定義信用。
在經濟學的語境內,作為一個風險要素,信用被定義為一個主體評估另一個主體將採取某種特殊行為的主觀概率水準[4]。信用關係的建立前提在不同的學者看來是不同的,這種分歧主要體現在信用是否具有可計算性(Calculativeness)上。
只有存在不同選擇的時候,才可能出現信用的問題。當一個主體將自身暴露在對方會投機取巧的風險之下時,就可以認為是信用的展現[5]。從這個意義上講,信用是一種行為策略,而行為策略的選擇,從數學和博弈的角度看,似乎是可以計算的。最容易想到的是,只要潛在收益與信用行為的概率之乘積大於潛在損失與不守信行為的概率之乘積(潛在收益×信用行為的概率>潛在損失×不守信行為的概率),信用就是佔優勢的行為策略。1990年科爾曼就以代數的方式提出了這種計算方法[6]。
儘管持信用可計算觀點的學者很多,而且他們也給出了不同的可計算概念和方法,但是都無法回避一個問題,就是可操作性不強。另一個持信用可計算觀點的學者就在他的文章中承認[7]:歸根結底,人是有限理性的社會動物,不同的社會環境會改變經濟主體在面對交易時所做的行為選擇。如果將社會環境的多樣性以及個體並沒有絕對理性這些事實考慮在內,那麼我們就會發現,所謂信用並不是一個單純的計算概念,因此社會層面的信用行為也不能總是被單純地簡化為基於計算的主體間的相互影響[8]。
或者可以說,不是信用不可計算,而是我們還未構造出可以精確計算它的環境或系統。
區塊鏈的信用運算式
這裡所謂的定義信用,不是計算人或參與主體的信用,而是計算信用行為(比如交易)的可信程度,或者說計算一個信用行為在未來發生違約(欺詐)的可能性。違約的可能性越低,該行為的可信程度就越高;反之,違約的可能性越高,該行為的可信程度就越低。
從經濟學的角度看,解決這個問題的阻礙其實源于違約的成本與收益很難在違約行為發生之前被精確地計算出來。區塊鏈這種通過數學演算法構造的經濟系統,本身是一個對所有人都公開透明的系統,更為重要的一點是,在區塊鏈這樣的系統中,可以精確計算發生違約(欺詐)行為[9]所需要付出的成本以及可以預期的收益。
比如,我們這裡可以將信用行為的可信度簡單定義為違約成本與違約收益的比值(信用行為可信度=違約成本/違約收益)。對於在區塊鏈上發生的任何交易,我們都可以用此公式得出一個精確的結果[10]。
比特幣從誕生到現在已經在爭議中走過了7年,在這樣一個去中心化的經濟系統內部,在沒有任何可信的協力廠商擔保的情況下,卻沒有發生過嚴重的欺詐行為,其主要原因在於,欺詐行為的成本往往遠大於預期的收益。這也符合中本聰在創造區塊鏈時的計算及預測[11]。顯然,當欺詐行為所要付出的成本遠大於其所能帶來的收益,並且成本和收益都可以事先被精確計算時,任何一個理性的參與者都不會有欺詐的動力。
[1] Principles of Political Economy with some of their Applications to Social PhilosophyMill, John Stuart.
[2] L. Hosmer,“ Trust: the connecting link between organizational, behavior and philosophical ethics ”, Academy management Review, 20(2), 1995,pp. 370–403.
[3] 熊彼特,《經濟分析史》,第一卷第480 頁。
[4] Cyer t R.M., and DeGroot, M.H., 1987, Bayes ian Analysis and Uncertainty in Economic Theory,London: Chapman and Hall.
[5] Sugden, R., 1994, ‘ How people choose ’, in S. Hargreaves-Heap, M.Hollis, B. Lyons, R. Sugden, and A.Weale, The Theory of Choice: A Critical Guide, Oxford: Basil Blackwell: 36-50.
[6] Coleman, J.S., 1990, Foundations of Social Theory, Harvard University Press.
[7] Williamson, illiamson, O., 1993‘, Calculativeness, trust, and economic organization’ , Journal of Law and Economics, Vol 36 No 2: 453-486.
[8] Humphrey, J. and H. Schmitz, 1996, ‘ Trust and economic development ’ ,mimeo, Institute of Development.
[9] 區塊鏈的違約或欺詐行為就是雙花問題,即同一筆錢重複消費的問題。
[10] 引用自http://qukuai.com/calculations。
[11] 引用自https://bitcoin.org/bitcoin.pdf。
從互聯網到區塊鏈
更高效的資訊傳遞和價值傳輸是指引人類文明前進的兩座燈塔。實際上,資訊與價值密不可分。從廣義上理解,任何形式的資訊都是有價值的,尤其是人們有意識發出的資訊。縱觀人類社會的發展進程,資訊傳遞和價值傳輸的技術發展存在著深刻的聯繫,你無法想像在原始部落使用移動支付,也同樣無法想像在現代社會使用貝殼消費。
互聯網的出現
1946年2月,世界上第一台電子電腦在美國賓夕法尼亞大學誕生,這是一個重30噸的龐然大物。1969年,美國國防部主導建立阿帕網(Appanet),斯坦福大學和加州大學洛杉磯分校的電腦首次連接了起來,這標誌著電腦網路的誕生。1982年,TCP/IP協定的最終規範被確定下來,1986年,美國國家科學基金會(NSF)資助建立了基於TCP/IP的骨幹,這是第一個真正意義上的互聯網,並迅速連接到世界各地。1987年9月14日,中國的第一封電子郵件從中國發往德國,內容為“跨越長城,走向世界”。1990年,萬維網(World Wide Web)協議完成,互聯網開始向社會大眾普及。
在人類文明的發展過程中,資訊的傳遞方式經歷了語言、文字、印刷術、電等一系列飛躍。香農以比特(bit)為單位將信息量化,奠定了現代資訊傳輸的理論基礎,並最終將我們帶進以互聯網的廣泛應用為特徵的資訊時代的大門。互聯網的出現第一次使資訊可以在全球範圍內做到暫態傳遞。互聯網帶來了資訊的自由傳輸,極大地拉近了人與人之間的距離,使全人類得以更好地交流協作。
資訊傳遞方式的跨越式發展給人們帶來的不僅是某個行業和領域的改變,更是全人類社會組織形式和行為方式的深刻變革。一種司空見慣的說法是,互聯網的核心精神是開放、共用、去中心化、自下而上、多元價值等,這些說法沒錯,但絕不是由於互聯網的出現才產生的,而是因為市場這只看不見的手導致人類社會本身就有這種天然傾向。技術的進步導致交流更為高效,這樣的傾向也就被進一步放大。所謂互聯網精神,只是由於擁有了新的資訊傳遞工具,是人類行為的自然投射。
從互聯網到區塊鏈
自第二次工業革命以來,從電報、電話到互聯網,資訊的傳遞方式不斷升級,價值的傳遞方式也因此得到了同步發展。以信用卡、網銀、移動支付為代表的電子錢就是在這樣的背景下產生的。
互聯網是為了解決資訊的高效傳輸而被發明的,在這個網路中,資訊在全球範圍內的點對點傳輸變得異常高效與廉價。然而,這種資訊傳輸網路並沒有對有價值的資訊進行保護的內在機制,在網上複製、傳播乃至篡改一條資訊的成本幾乎為零,我們無法點對點地傳遞帶有所有權的資訊。一些傳統行業(比如唱片業、出版業)在互聯網誕生後受到了很大衝擊,就是這個特徵帶來的必然結果。雖然目前各國政府對網上內容的版權保護力度越來越大,但仍然很難從技術層面上杜絕侵權問題。
從電子錢的誕生與發展來看,雖然我們已經做到了讓貨幣以數位化的形式高效流通,但這種數位化還相當初級。我們不得不依賴大量的協力廠商仲介機構才能保障電子錢的流通,而這種形式不僅引入了中心化的風險,也提升了傳輸的成本。
區塊鏈就是在這樣的背景下誕生的。由於資訊與價值的密不可分,我們有了互聯網這個全球範圍的高效可靠的資訊傳輸系統後,必然會要求一個與之匹配的高效可靠的價值傳輸系統。也就是說,區塊鏈的誕生不是偶然的,其背後有著深刻的必然邏輯。“區塊鏈”這個名字或許是偶然,但行區塊鏈之實的系統的誕生則是必然。
信用是製造貨幣的真正原材料。而區塊鏈通過構造一個可以量化信用的經濟系統,使得一個點對點的電子現金系統——比特幣[1]的出現成為可能。或者說,區塊鏈創造了一個數位化的、可以點對點傳輸價值的信用系統。
綜上所述,我們可以看到,在傳遞資訊的路徑上,人類從文字開始,最終創造出了互聯網這樣高效的資訊傳遞網路;為了傳輸價值,人類從貨幣開始,也必將創造出與互聯網相匹配的價值傳輸網路。區塊鏈的誕生,正是人類構建價值傳輸網路的開始。其實,跳出我們生存的時代,從更大的人類歷史發展的尺度看,互聯網與區塊鏈的誕生也只有短短幾十年的時間差而已,未來的考古工作者何嘗不能說,人類同時發明了高效的資訊傳遞網路和價值傳輸網路。
[1] Bitcoin: A Peer-to-Peer Electronic Cash System,https://bitcoin.org/bitcoin.pdf.
區塊鏈的誕生
萬物源自比特。
——約翰·惠勒
區塊鏈作為比特幣背後的技術架構,是隨著比特幣的出現而誕生的。因此,要講區塊鏈的誕生,我們就不得不從比特幣的歷史說起。
密碼朋克
說到比特幣的緣起,就不得不談到一個略顯神秘的團體:密碼朋克(Cypherpunk)。這個團體是密碼天才們的鬆散聯盟,比特幣的創新中大量借鑒了密碼朋克成員的貢獻。密碼朋克這個詞一部分來源於密碼(Cipher),這在密碼學中意為用於加密解密的演算法;一部分來源於賽博朋克(Cyberpunk),這是指那個時代流行的一個科幻流派。這樣的組合有很微妙的意味,散發著改變社會的激進理想。凱文·凱利曾在《失控》裡寫道:
所以在1992年夏天,一個由富有創意的數學駭客、公民自由主義者、自由市場的鼓吹者、天才程式師、改旗易幟的密碼學家以及其他各種前衛人士組成的鬆散聯盟開始創造、拼湊甚至是盜用加密技術,並將其植入網路之中。他們管自己叫“密碼朋克”。
1992年秋天的幾個週六,我參加了蒂姆·梅還有其他大概是15個“密碼反叛者”在加州帕洛阿托舉行的“密碼朋克”月度會議……小組是通過密碼朋克郵寄清單這個虛擬網路空間來推廣他們的努力的。來自世界各地、越來越多的熱衷於加密技術的人每天通過互聯網上的“郵寄清單”互動,為了以低成本來實現他們的想法(比如數位簽章)。
密碼朋克們的觀點是:現代社會不斷蔓延著對個人隱私和權利的侵蝕。他們互相交流著對這一問題的關注,並認為在數字時代保護隱私對於維持一個開放社會是至關重要的。這一理念在比特幣中得到體現:去中心化的追求,對匿名的擁抱,自由主義的原則。
密碼朋克本身就是數位貨幣最早的傳播者,在其電子郵件組中,常見關於數字貨幣的討論,並有一些想法付諸實踐。比如大衛·喬姆、亞當·貝克、戴偉、哈爾·芬尼等人在早期數位貨幣領域做了大量的探索。
早期數位貨幣的探索
比特幣並不是數位貨幣的首次嘗試。據統計,比特幣誕生之前,失敗的數位貨幣或支付系統多達數十個。正是這些探索為比特幣的誕生提供了大量可借鑒的經驗。在這裡我們簡要介紹幾位之前的探路者。
大衛·喬姆(David Chaum)是一位元密碼破譯專家,也是20世紀八九十年代密碼朋克的“主教”級人物。他是很多密碼學協定的發明者,他在1981年的研究奠定了匿名通信的基礎[1]。1990年,大衛·喬姆創建了數字現金公司(DigiCash),並試驗了一個數位化的貨幣系統,稱為Ecash。數位現金公司來自他的一些突破性想法,包括如何分享和傳輸金融資訊,以及管理不同身份資訊的保密程度。在他的系統中,付款方式是匿名的,而收款方並不是匿名的。更精確的說法是,Ecash是個人對商家的系統。他發明的這個貨幣系統還有部分繞過中間商的特質,數位現金公司作為可信的協力廠商來確認交易,避免重複消費,保證系統誠實。
大衛·喬姆迅速與荷蘭政府簽訂了合同,並從德意志銀行、澳大利亞高級銀行、瑞士信貸和日本住友銀行獲得了執照,喬姆曾與微軟和VISA及其他大公司討論如何使用新的支付系統。然而在1998年,數字現金公司宣佈破產。失敗的主要原因在於,將技術理念轉化為實用系統的過程中缺失了很多東西。首先,數位現金公司很難說服銀行和商家大規模採用他的系統,另外由於Ecash對個人之間的交易沒有很好的支援,因此當銀行和商家沒有動力接受它的時候,個人用戶也就無從使用它。
亞當·貝克(Adam Back)是一位元英國的密碼學家,1997年,他發明了雜湊現金(Hashcash)[2],其中用到了工作量證明系統(Proof Of Work)。這個機制的原型可用於解決互聯網垃圾資訊,比如作為垃圾郵件問題的一個解決方案[3]。它要求電腦在獲得發送資訊許可權之前做一定的計算工作,這對正常的資訊傳播幾乎不會造成可以察覺的影響,但是對向全網大量散佈垃圾資訊的電腦來說,這些計算會變得不可承受。這種工作量證明機制後來成為比特幣的核心要素之一。
哈伯和斯托尼塔(Haber and Stornetta)在1997年提出了一個用時間戳記的方法保證數位檔安全的協定[4]。對它的簡單解釋是,用時間戳記的方式表達檔創建的先後順序,協定要求在檔創建後其時間戳記不能改動,這就使檔被篡改的可能性為零。這個協定成為比特幣區塊鏈協議的原型。
戴偉(W Dai)是一位元興趣廣泛的密碼學專家,他在1998年發明了B-money[5]。B-money強調點對點的交易和不可更改的交易記錄,網路中的每一個交易者都保持對交易的追蹤。不過在B-money中,每個節點分別記錄自己的帳本,這不可避免地會產生節點間的不一致。戴偉為此設計了複雜的獎懲機制以防止節點作弊,但是並沒有從根本上解決問題。中本聰發明比特幣的時候借鑒了很多戴偉的設計,並和戴偉有很多郵件交流。
哈爾·芬尼(Hal Finney)是PGP公司的一位頂級開發人員,也是密碼朋克運動早期和重要的成員。2004年,芬尼推出了自己的電子錢,在其中採用了可重複使用的工作量證明機制(RPOW)。哈爾·芬尼是第一筆比特幣轉帳的接受者,在比特幣發展的早期與中本聰有大量互動與交流。由於身患絕症,哈爾·芬尼已於2014年去世。
比特幣的誕生
2008年9月,以雷曼兄弟的倒閉為開端,金融危機在美國爆發並向全世界蔓延。為應對危機,世界各國政府和中央銀行採取了史無前例的財政刺激方案和擴張的貨幣政策並對金融機構提供緊急援助。這些措施同時也引起了廣泛的質疑。
2008年10月31日下午2點10分,在一個普通的密碼學郵寄清單中,幾百個成員均收到了自稱是中本聰的人的電子郵件[6],“我一直在研究一個新的電子現金系統,這完全是點對點的,無需任何可信的協力廠商”,然後他將收件人引向一個九頁的白皮書,其中描述了一個新的貨幣體系。同年11月16日,中本聰發佈了比特幣代碼的先行版本[7]。
圖片來源:http://www.mail-archive.com/cryptography@metzdowd.com/msg09959.html
2009年1月3日,中本聰在位於芬蘭赫爾辛基的一個小型伺服器上挖出了比特幣的第一個區塊——創世區塊(Genesis Block),並獲得了首批“挖礦”獎勵——50個比特幣。在創世區塊中,中本聰寫下這樣一句話:
The Times 03/Jan/2009 Chancellor on brink of second bailout for banks
財政大臣站在第二次救助銀行的邊緣
這句話是當天《泰晤士報》頭版的標題。中本聰將它寫進創世區塊,不但清晰地展示著比特幣的誕生時間,還暗含了對於舊體系的嘲諷。
不過正如上文所述,加密數字貨幣並不是什麼新概念,曾有很多人試圖打造這樣的系統,但最終都失敗了,有什麼理由認為比特幣會比之前的嘗試更好呢?當時,即使在密碼朋克內部,多數人對中本聰的系統也沒抱多大的期望。
然而事實是,中本聰通過一個天才的發明——區塊鏈,掃清了創造加密貨幣的最後障礙。於是,出乎大多數人的意料,比特幣開始走上了一條不斷成長與快速發展的道路。
小結
如今,比特幣已經成為數字貨幣領域的翹楚,擁有數十億美元的市值,但中本聰早已於2010年選擇隱退。中本聰到底是誰是每一個關心比特幣的人都感興趣的話題,從《紐約客》到《新聞週刊》,媒體找到了數個自稱是中本聰或者被認為是中本聰的人。但無一例外,這些發現都因為可信度不足遭到了讀者甚至是中本聰本人的否定。中本聰是誰?也許我們永遠不得而知。
[1] Danezis, George ; Diaz,Claudia(January 2008) “ Survey of Anonymous Communication Channels ”. Technical Report MSRTR-2008-35. Microsoft Research; For the paper, see Chaum, David(1981). “ Untraceable Electronic Mail, Return Addresses, and Digital Pseudonyms ”. Communications of the ACM 24(2): 84–90.doi:10.1145/358549.358563.
[2] 引用自http://www.hashcash.org/papers/announce.txt。
[3] Dwork, Cynthia; Naor, Moni (1993). “ Pricing via Processing, Or,Combatting Junk Mail, Advances in Cryptology ”. CRYPTO ’92: Lecture Notes in Computer Science No. 740( Springer): 139–147.
[4] S. Haber, W.S. Stornetta, “ Secure names for bit-strings, ” In Proceedings of the 4th ACM Conference on Computer and Communications Security,pages 28-35, April 1997. on Computer and Communications Security,pages 28-35, April 1997.
[5] W Dai,a scheme for a group of untraceable digital pseudonyms to pay each other with money and to enforce contracts amongst themselves without outside help “ B-money ”, http://www.weidai.com/bmoney.txt,1998.
[6] 引用自http://www.mail-archive.com/cryptography@metzdowd.com/msg09959.html。
[7] 引用自http://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html。
第1章 區塊鏈是什麼
記帳貨幣
記帳貨幣可以記載債務、價格以及一般購買力,是貨幣理論最基本的概念。……從嚴格意義上說,貨幣只有在與記帳貨幣的關係中才能存在。
——凱恩斯
區塊鏈的本質是什麼?區塊鏈與比特幣有什麼關係?回答這兩個問題前,讓我們先從一個拿石頭當錢的小島說起。
石幣之島
雅浦島(Yap)是位於太平洋西部的加羅林群島中的一個小島,居住人口僅有數千人,島上風景如畫,人們過著田園牧歌式的生活。然而,這個島最出名的原因卻是島上奇特的貨幣。
圖片來源:http://www.reefseekers.com/PIXPAGES/Yap%202013/Yap%202013%20pix.htm
一種又大又厚的石輪——“費(Fei)幣”構建了當地的貨幣體系,這些石輪的直徑從1到12英寸(1英寸=0.0254米)不等,中有孔洞。雅浦島上的居民進行的交易很多,但交易過程一般只是債務互相抵消的過程,賬款通常留待以後的交易中進行轉結。即便到了最後的清算時刻,費幣也很少被搬動,當地人只是在上面做標記,以顯示所有權的易手,其所有者無須持有它。當地人並不在意自己對這塊石頭的所有權有沒有實物保證,甚至不需要為交易做什麼記號,石幣還是原封不動地留在原來的主人那裡。
威廉·亨利·福內斯[1]對雅浦島的貨幣體系進行描述時,講述了這麼一個故事:
附近村子裡有一家人,他們的富裕程度毋庸置疑、人所周知,然而沒有一個人見過或接觸過這筆財富,這家人自己也不例外。他們家的財富就是一塊巨大的費幣,其尺寸只是在祖輩的口中提到過,歷經兩三代人,這塊費幣一直躺在海底,直到現在!人們都承認,這塊費幣在運輸過程中掉下海的事故本身無須多議,而且人們也承認,即便沉在數百英里(1英里=1609.344米)之外的海裡,這塊石幣的交易價值也不應受到影響……這塊石頭的購買力就如同把它明顯地擺在主人房外一樣,仍然有效。
這種奇特的貨幣制度其實並不難理解,雅浦島的貨幣不是費幣,而是其背後的一套由信用記錄以及信用記錄的清算構成的體系。費幣只是用來記帳的表徵[2]。凱恩斯在他的《貨幣論》裡表示:“福內斯的書讓我們瞭解到,有一個民族對貨幣的觀念可能比其他國家的人聰明得多。”[3]
約翰·梅納德·凱恩斯(John Maynard Keynes,1883—1946),現代經濟學領域最有影響的經濟學家之一,被稱為“資本主義的‘救星’”“戰後繁榮之父”等。在經濟學界,“凱恩斯學派”衍生了數個支系,其影響力持續至今。
圖片來源:可汗學院,https://www.khanacademy.org/partner-content/big-history-project/acceleration/changing-economies/a/smith-marx-and-keynes
1991年,79歲的密爾頓·弗裡德曼同樣對雅浦島有很高的評價,認為雅浦島擺脫了商品硬幣這套傳統但不健康的制度[4]。該島對公認的實體通貨明顯漠不關心,這說明了貨幣不是一種商品,而是信用與清算構成的一套體系[5]。
密爾頓·弗裡德曼(Milton Friedman),美國當代經濟學家、芝加哥大學教授、芝加哥經濟學派代表人物之一,1976年獲諾貝爾經濟學獎。
圖片來源:http://twitchy.com/sd-3133/2013/07/31/happy-birthday-milton-friedman-free-market-warriors-remember-their-hero/
記帳貨幣
關於貨幣是什麼的問題,在歷史上有兩種針鋒相對的學說。貨幣金屬論者認為貨幣與貴金屬等同,貨幣必須具有金屬內容和實質價值,貨幣的價值取決於貴金屬的價值。貨幣名目論者則否定貨幣的實質價值,認為貨幣只是一種符號,一種名目上的存在。隨著金本位制度的崩潰,目前世界上幾乎所有國家的貨幣都已是信用貨幣,這場爭論的結果也越來越清晰,貨幣名目論逐漸佔據了統治地位。美國著名經濟學家米什金在《貨幣金融學》中對貨幣的定義為:“貨幣或貨幣供給是任何在支付商品、勞務或償還債務時被普遍接受的東西。”[6]
凱恩斯是貨幣名目論的典型代表,他在《貨幣論》中說:記帳貨幣可以承載債務、價格以及一般等價物,是貨幣理論中最為基本的概念。那些在交易現場作為便利的交易媒介而存在的物體會逐漸演變成貨幣,這是因為它們代表了一種持有一般購買力的方式。記帳貨幣是一種描述,而貨幣則是這種描述對應的事物[7]。
從紙質的信用貨幣發展到目前廣泛使用的電子錢,如信用卡、網上銀行、手機銀行等,進一步體現了記帳貨幣的特點——當你通過網銀給其他人轉帳的時候,沒有發生任何物理貨幣的轉移,只是銀行裡記帳系統的賬務發生了變化而已。
區塊鏈的本質
區塊鏈[8]的本質是一種去中心化的記帳系統,而比特幣正是這個系統上承載的“以數位形式存在”的貨幣。我們可以認為區塊鏈與比特幣之間的關係就是凱恩斯所說的記帳貨幣與貨幣之間的關係,也可以用菲利克斯·馬丁對貨幣的理解[9]來說明兩者的關係——比特幣只是記帳的表徵,而區塊鏈就是其背後的一套由信用記錄以及信用記錄的清算構成的體系。
[1] 威廉·亨利·福內斯三世(William Henry Furness Ⅲ),1910 年。
[2] Felix MartinMoney: The Unauthorised Biography,P23.
[3] 凱恩斯,貨幣論(A Treatise on Money ,first published 1930),第二卷,P292。
[4] 密爾頓·弗裡德曼,貨幣的禍害。
[5] Felix Martin,Money: The Unauthorised Biography,P25.
[6] Frederic Mishkin,The Economics of Money, Banking, and Financial Markets, seventh edition,P44.
[7] 凱恩斯《貨幣論》,P1。
[8] 這裡的區塊鏈特指比特幣區塊鏈。
[9] Felix Martin,Money: The Unauthorised Biography.
天才的發明
要瞭解比特幣的內在優雅。不是軟體使得比特幣如此有效,而是經濟學。[1]
——羅伯特·沃倫斯基
從技術的角度看,區塊鏈就是比特幣的基礎架構及實現方式。沒有區塊鏈,就不會有比特幣。也就是說,我們談論比特幣的發明,與談論區塊鏈的發明是一回事。
中心化的記帳方式
因為帳本上的內容必須是唯一的,所以就導致記帳是一種天然的中心化的行為。在通信手段不發達的時代,這是必然的選擇;在如今的資訊時代,中心化的記帳方式依然覆蓋了社會生活的方方面面。然而,中心化的記帳卻有一些顯而易見的弱點:一旦這個中心出現問題,如被篡改、被損壞,整個系統就會面臨危機乃至崩潰。
一個典型的例子是21世紀初的安然事件:這家2000年披露的營業額高達1010億美元美國能源巨頭,由於深陷會計假賬醜聞,於2001年轟然倒下。如果帳本系統承載的是整個貨幣體系,那麼就會面臨中心管理者濫發的風險。歷史上,由於貨幣濫發造成惡性通貨膨脹的例子並不鮮見,甚至在當今世界仍然屢屢發生,比如辛巴威。從1980年到2009年,辛巴威共發行了4代辛巴威元,無一不陷入惡性貶值。2008年11月,辛巴威每天的通脹率高達98%。2015年,辛巴威元失去了流通資格,當地只能以南非米特、印度盧比、歐元、日元、澳元、美元、人民幣等他國貨幣作為流通工具。
圖片來源:維琪百科
所以,這種中心化的記帳方式對中心本身的能力、相應的監管法律和手段以及參與者對其的信任都有極高的要求。
去中心化記帳的難題
那麼,我們能不能構建一個不依賴任何中心或是協力廠商但卻可靠的記帳系統呢?如果可能,我們就可以克服中心化記帳的弱點。然而事實上,構建這樣的系統遠比想像中複雜。
從設計記帳系統的角度,要達成去中心化的目標,顯然需要具備以下兩個條件:
1)帳本資料的存儲必須是去中心化的,不能指定任何參與方擁有特殊的保存帳本的權力,或者說,我們需要讓所有參與方都平等地擁有保存帳本的權力。
2)記帳行為本身必須是去中心化的,不能指定任何參與方擁有特殊的記帳權力,或者說,我們需要讓所有參與方都平等地擁有記錄賬務資料的權力。
下面我們就來分析一下想同時達成以上兩個條件有多麼困難。
我們先看第一個條件,這個並不複雜,我們只需要讓系統的每個參與方都能保存完整帳本即可。接下來,我們把第二個條件加入進來,這時候發現麻煩來了:在所有參與方都可以保存帳本的前提下,又讓所有參與方都擁有記帳的權力,必然會導致帳本資料的不一致。這個道理很淺顯:即使不考慮惡意的參與方,由於每個參與方所處的物理環境不同,因此接收到的賬務資訊不可能是完全一致的。而作為一個記帳系統,資料的一致性是最基本要求,如果我們不能擁有一致的帳本資料,大家記的賬各不相同,那麼整個記帳系統無疑會亂作一團,也就沒有任何價值了。
依據之前的分析,既然所有參與方同時記帳會導致混亂,那麼為了保證資料的一致性,我們就不得不選擇讓某個特定參與方擁有存儲帳本的權力或是記帳的權力,然而這樣,就會至少與上面的兩個條件之一相違背……這似乎成了不可能解決的問題。
拜占庭將軍問題
在揭開謎底之前,我們先回顧一個歷史上的經典問題:拜占庭的將軍們圍攻一座城堡,軍隊被分散成很多分支,每一支軍隊由一名將軍獨立指揮。將軍們之間通過傳令兵來保持交流,以期達成一致的行動(進攻或撤退)。但是有些將軍是隱藏的叛徒,他們會用虛假的資訊來擾亂忠誠將軍們的計畫。大家並不知道叛徒是誰,那麼,忠實將軍們有辦法達成一致的行動而不被虛假資訊干擾嗎?
歷史上並沒有拜占庭軍隊圍攻城堡的事件,這個例子其實是研究分散式一致性(Distributed Consensus)問題的祖師級人物萊斯利·蘭波特(Leslie Lamport)創造的。但這個例子完美表達了分散式一致性的核心問題,因此常常被人們引用。
其實,一致性問題尤其是分散式系統的一致性問題是個很大的概念,也是電腦科學領域很早就在研究的內容。傳統上對這個問題的研究是為了增加分散式系統的可靠性。比如Twitter、Facebook這樣的系統,它們有很多伺服器,同時記錄著系統上發生的所有行為。每一條資訊分別記錄在不同的後臺節點上,系統具有分散式的特徵。如果記錄出現不一致,就有可能發生使用者資訊丟失的情況。時至今日,這樣的系統也沒有達成完美的一致性。分散式系統和去中心化系統並不是等同的概念,但是都要面對在缺乏信任的前提下如何取得一致的問題。
在任何一個系統中,不一致的資訊都會造成系統混亂。去中心化的系統沒有中央管理機構,因而資訊傳播的一致性更成為關鍵的問題。下面我們看一下中本聰給出的解決方案到底是什麼。
區塊鏈經濟系統
中本聰構造了一個極為精巧的系統,解決了這個看起來不可能完成的任務。這個系統被稱為“區塊鏈”。從字面意思上看,“區塊鏈”就是以“區塊”這個東西組成的鏈條。那麼區塊是什麼?我們可以先做一個形象的類比:如果區塊鏈是一個實物帳本,那麼區塊就相當於帳本中的一頁,區塊中承載的資訊就是這一頁上記載的交易內容。
那麼,區塊鏈是靠怎樣的架構設計最終解決了去中心化記帳的難題呢?競爭記帳機制成為了解決問題的關鍵。
這裡我們先引入一個稱為“節點”的概念。在當前的資訊時代,負責記帳的自然是電腦,而在記帳系統中接入的每一台電腦都可以稱作節點。
所謂的競爭記帳,就是以每個節點的計算能力(“算力”)來競爭記帳權的一種機制。在比特幣系統中,大約每十分鐘進行一輪算力競賽,競賽的勝利者獲得一次記帳的權力,即向區塊鏈這個總帳本寫入一個新區塊的權力。這樣,在一定時間內,只有競爭的勝利者才能完成一輪記帳並向其他節點同步新增帳本資訊,這個過程就是區塊產生的過程。
這裡要指出的是,計算能力只能決定贏得競爭的概率。為了便於理解,我們可以用彩票系統做一個形象的類比,算力高的節點相當於可以一次買很多張彩票的人,算力低的節點相當於一次只能買一張或是幾張彩票的人。在一輪開獎中,一次買很多張彩票的人只是中獎概率更大,卻並不是一定會中獎。
那麼,算力競爭是如何做到的?又由誰有權判定競爭的結果呢?區塊鏈系統是通過一個稱為“工作量證明”(Proof Of Work,POW)的機制完成的。舉個形象的例子,比如要組裝一批玩具,早上起來我給了你一些零件,晚上回來便看到玩具擺在桌上,雖然我沒有從早到晚盯著你做玩具的過程,但我也能確定你確實做了這麼多工作。這就是對工作量證明的簡單理解——通過一個(人人都可以驗證的)特定的結果,就能確認(競爭的)參與者完成了相應的工作量。關於POW的機制與實現細節會在下面的章節中詳述。
不過,算力競爭是要付出成本的,沒有激勵,節點就沒有進行競爭的動力。在中本聰的設計裡,每輪競爭勝出並完成記帳的節點將可以獲得系統給予的一定數量的比特幣獎勵[2]。這個獎勵的過程同時也是比特幣的發行過程[3]。節點不停地進行計算,以期獲得系統發放的比特幣。這種設計相當巧妙——它將競爭記帳機制與貨幣的發行完美結合到一起,在引入競爭的同時,解決了去中心化貨幣系統中發行的難題。這個過程很像現實生活中黃金開採的過程,因此被人們形象地稱為“挖礦”。
最終,區塊鏈通過構造一個以競爭-記帳-獎勵為核心的經濟系統,解決了去中心化記帳的難題。在這個系統中,每一個節點只需要根據自身利益行事,出於“自私”的目的進行的競爭,最終造就了保護系統安全的龐大算力基礎,提升了系統的可靠性。比特幣借助區塊鏈打造了一個正向迴圈的經濟系統,才使得其在沒有強大的中心化機構或組織推動的情況下,自然地生長出來並發展壯大。
[1] 引用自http://www.coindesk.com/can-trust-basedprivate-blockchains-be-trusted/。
[2] 只有在最長鏈上完成記帳的節點,才能最終獲得系統給予的比特幣獎勵。關於最長鏈原則請參考本書第5章。
[3] 更準確地說,系統發放的獎勵包含兩部分,一部分是區塊所包含交易的手續費,這部分不屬於比特幣的發行過程;一部分是新幣獎勵,新幣獎勵每四年減半一次,是比特幣的發行過程。目前打包區塊獲得的獎勵以新幣獎勵為主。
共識機制與價值載體
共識機制是區塊鏈技術的核心,它使得區塊鏈這樣一個去中心化的帳本系統成為可能;而價值載體是區塊鏈技術的潛力所在,它使得區塊鏈技術的應用領域遠不止數位貨幣。這兩個核心因素是區塊鏈內生能力得以擴展的關鍵。
共識機制與去中心化
如何達成共識——只有在去中心化的結構下才成為問題。
在中心化的結構體系中,系統的共識由中心決定,各參與方只需要服從這個中心即可,因此,共識的建立是極為高效的。而在去中心化的結構體系中,由於系統的各個參與方地位平等,當出現分歧的時候,如何達成共識就成了問題。
市場經濟是一個典型的去中心化系統,這個系統的共識機制就是市場經濟制度。參與市場經濟的每個主體都在遵守商務邏輯的基礎上,按照實現自己利益最大化的原則行事,同時在客觀上推動了整個市場的繁榮。“無形的手“推動了人們爭取自身利益的行為,這些行為的結果則服務於更大的社會利益。正如亞當·斯密所說:“我們的晚餐並非來自屠宰商、釀酒師和麵包師的恩惠,而是來自他們對自身利益的關切。”
共識機制與資源消耗
現在我們知道,比特幣區塊鏈的共識機制是通過工作量證明(POW)來實現的,這種機制的優點是顯而易見的,每個節點可以平等地參與競爭,並通過激勵構建了一個正迴圈的經濟系統,從而逐漸積累了保護系統安全的龐大算力。
然而對工作量證明機制也有一些批評。一個常見的指責是“浪費”能源,因為節點進行算力競賽是要消耗電力的。目前,投入挖礦競爭的總算力已經接近1300P(注:引用自http://qukuai.com/pools,可以近似認為1P的算力能夠實現每秒1015次雜湊計算。),挖礦也因此成了能源密集型的行業(注:用目前主流的28nm礦機來估算的話,1300P算力每秒消耗的電力高達2.16×105kW。)。
由於存在對工作量證明機制消耗能源的擔憂[1],一些人也在探索和實踐新的共識機制,即採用非算力競爭的方案來選擇記帳節點。其中典型的是權益證明機制(Proof Of Stake,POS),以節點持有幣的數量和時間來選擇記帳權;還有股份授權證明機制(DPoS),它類似於董事會投票,持幣者投出一定數量的節點,代理他們進行驗證和記帳。另外還有燃燒證明(Proof Of Burn)、沉澱證明(Proof Of Deposit)等方案,這裡不一一贅述。不過我認為,目前這些探索本質上並沒有改變“需要消耗資源”的實質[2]。從目前的實踐看,工作量證明機制仍然是最為有效和可靠的去中心化共識機制。
那麼,未來是否會有更先進的技術來降低共識機制資源消耗呢?在我看來,對於更低成本甚至無成本的共識機制[3]的追逐,正如人類歷史上對於永動機的追逐一樣,是註定要失敗的。雖然我們並不能說POW就是最好的去中心化共識機制,但是我真正想表達的是,當談到區塊鏈技術與共識機制時,我們應該知道天下沒有免費的午餐。
共識機制與私有鏈
所謂公有鏈,是指比特幣區塊鏈這樣的完全去中心化的、不受任何機構控制的區塊鏈;而私有鏈[4]則是指存在一定的中心化控制的區塊鏈。
相較于完全公開、不受控制、依靠加密技術來保證安全的公有鏈而言,私有鏈可以創造出許可權控制更為嚴格的系統,其修改甚至是讀取許可權可以僅限於少數用戶。正因如此,關於私有鏈和公有鏈的爭論一直沒有中斷過:一方認為私有鏈沒有任何意義,和分散式資料庫沒有太大區別;另一方則認為私有鏈僅僅是對參與者進行一定控制的區塊鏈,只要在有多方參與且不完全互信的環境下,需要共識機制的建立以及達成共識的過程,私有鏈就有存在的價值。
從本質上來說,私有鏈就是以犧牲部分去中心化的特性為代價,來換取對於區塊鏈許可權的一些特殊控制,並且可以使用比公有鏈更為高效、靈活、低成本的共識機制。我們認為,私有鏈確實有大量的場景可以對接現實世界的需求,有限的去中心化更容易達成共識,可以使交易速度更快、效率更高,並且可以提供更多受控的功能,比如,在特定場景下必要的交易回滾。去中心化與中心化並不是非此即彼,相反,它們之間是一種共生共存、互相依賴與結合的關係。在去中心化協議的基礎上,可以衍生出各種中心化的服務,以適應不同行業及領域的個性化需求。比如,VPN(Virtual Private Network)就是一個在共用網路上構建私人網路絡的例子,該技術允許人們利用互聯網現有的基礎設施,構建有限且開放的專有網路,而無需投入大量硬體資源重新構建底層基礎設施。更為廣泛的例子存在於互聯網的各種服務提供者中,功能變數名稱註冊機構、電子郵件運營商以及提供各種形式服務的網站,都是基於互聯網這個去中心化的系統構建或提供各種類型的中心化服務的例子。
近一兩年來,區塊鏈吸引了全球各大主流金融機構的注意,他們紛紛對區塊鏈進行調研,甚至專門成立實驗室或部門,研究在各種金融場景中使用區塊鏈技術的可能性。但是類似比特幣區塊鏈這樣的公有鏈尚不能滿足金融機構的一些基本要求,比如瞭解你的客戶(KYC)、反洗錢(AML)等,因此,金融機構對私有鏈的興趣更大。目前私有鏈最著名的例子是R3CEV公司牽頭的區塊鏈聯盟,它已經吸引了全球四十多家大型銀行的加入[5],其中不乏美國銀行、摩根大通等巨頭的身影。
價值載體
共識機制的建立使得區塊鏈這樣一個去中心化的記帳系統成為可能,而其發展潛力則體現在這個系統上所能承載的各種價值形式。
顯然,作為一個記帳系統,區塊鏈上面不僅可以記錄數位形式的貨幣,也可以記錄能用數位定義的其他任何資產,甚至,由於區塊鏈上的價值轉移可以通過指令碼語言來完成,這意味著區塊鏈上還可以定義更為複雜的交易邏輯。也就是說,除了數位貨幣,區塊鏈還可以承載股權、債券、產權、版權、公證、合約、投票等可以用數位形式進行價值存儲或轉移的任何東西。
也正因如此,區塊鏈技術才吸引了越來越多精英人士和頂級機構的關注。這也很容易理解,正如《經濟學人》的封面文章[6]所講的,區塊鏈是一個製造信任的機器。在任何需要信任的領域,區塊鏈都有用武之地。
價值載體之數字貨幣
顯然,比特幣並不是唯一的基於區塊鏈技術的數位貨幣。據統計,僅2015年,新發佈的數字貨幣就有800餘種。坊間笑稱,發行新幣最難的部分是起名字,因為常用的可以起名字的英文單詞已經用完了。
事實上,自比特幣誕生之日起,它的模仿者或競爭者就層出不窮。其中有很多都只是對比特幣簡單的複製和模仿,沒有任何創新,我們將這種稱為山寨幣。還有一些並不是簡單的模仿,而是有自己的創新和專注的領域,這種類型的幣我們稱之為競爭幣[7]。在數位貨幣的市值方面,儘管比特幣遙遙領先,但之後誕生的萊特幣、乙太坊的市值都曾短暫地超過10億美元。
數位貨幣是目前區塊鏈創造的使用最廣泛也是受認可程度最高的一類應用。以比特幣為代表的數字貨幣一度成為區塊鏈的代名詞。可以預期的是,即使在區塊鏈廣泛使用的未來,數位貨幣也仍然會是最為重要的區塊鏈應用之一。
價值載體之數字資產
數位資產和區塊鏈具有天然的親和性。一般意義上講,數位資產包括任何形式的以二進位格式存在並且具備所有權屬性的東西。而在較為狹義的理解中,數位資產則是指以電子資料的形式存在的,在日常生活中持有以備出售的非貨幣性資產,比較典型是股票、債券等金融產品[8]。
美國著名的互聯網零售企業Overstock就基於區塊鏈建立了股權交易平臺,並將在上面發行自己的股份。在摩根大通擔任了近30年主管的布萊斯·馬斯特(Blythe Masters)則擔任了數字資產控股公司(Digital Asset Holdings)的CEO,尋求如何將區塊鏈技術應用於華爾街。
另外,由於區塊鏈公開、透明、難以篡改的特點,利用區塊鏈技術可以非常方便地為任何數位資產或有價值的資訊實現比現有中心化結構更為可靠的存在性證明,以及各種形式現實資產的登記或轉移。這方面的應用可以包括產權、版權、公證等諸多領域。
如果說比特幣等基於區塊鏈的數字貨幣是一個剛誕生不久的嬰兒,那麼基於區塊鏈的非貨幣形式的價值承載則還是一個孕育中的胚胎。作為價值載體,區塊鏈可以承載的價值是非常豐富的。隨著區塊鏈技術的發展和相關基礎設施的不斷完善,我們相信區塊鏈承載價值的範圍會不斷擴大。
[1] 對於工作量證明機制浪費能源的批評,我們認為,要達成去中心化的可靠共識,必然要付出一定的成本,考慮到這同時也是創造新幣的過程,因而與新幣價值相對應的成本消耗幾乎是必然的。
[2] POS需要該數位貨幣的持有者鎖定其所持有的幣以換取“挖礦”收益,相當於消耗了“資本流動性”。
[3] 這裡的共識機制特指類似比特幣區塊鏈這樣的完全去中心化的區塊鏈,即“公有鏈”的共識機制。
[4] 目前關於區塊鏈的分類並沒有統一的標準。有人將區塊鏈分為公有鏈、聯盟鏈和私有鏈。而我們則認為,聯盟鏈由於存在一定的中心化控制,所以屬於我們所說的私有鏈範疇。
[5] 引用自http://www.coindesk.com/r3-blockchain-new-partnerships/。
[6] 引用自http://www.economist.com/news/leaders/21677198-technology-behind-bitcoincould-transform-how-economy-works-trust-machine>。
[7] 分類和叫法沒有一定之規。業內也有一種意見認為,應該將所有比特幣之後的數字貨幣統一稱為競爭幣。
[8] 引用自https://en.wikipedia.org/wiki/Digital_asset。
當交易變得智慧
在傳統的帳本中,賬上的資料僅僅是一種紀錄。而在區塊鏈這個帳本上,這些資料則有了超越帳本的意義——它們是可程式設計的。
這是一個質的變化。由於區塊鏈的可程式設計屬性,使得區塊鏈上所能承載的就不僅僅是普通的交易,而是可以基於程式自動執行的智慧交易。
腳本與多重簽名技術
比特幣區塊鏈上的交易可以通過腳本來實現。所謂腳本(Script),就是使用一種特定的描述性語言編寫的、可執行的電腦代碼。比特幣的指令碼語言非常簡單,僅有256條指令,其中75個是被保留的,尚未被賦予任何含義。比特幣腳本中的指令與其他程式設計語言類似,包含基本的語法、邏輯,除此之外還包括一些加密指令,如雜湊函數、簽名驗證等。
比特幣的多重簽名技術就是使用腳本實現可程式設計交易的一個典型例子。其基本原理是,在系統裡創建一個由多個人共同管理的帳戶,只有達到事先約定數量的人的同意,才能動用該帳戶的錢,並且這個過程是由系統本身保障執行的,不需要任何協力廠商介入。
一般來說,一個比特幣位址對應一個私密金鑰[1],動用這個位址中的資金只需要該私密金鑰的掌握者單獨發起簽名即可。而多重簽名技術就是需要多個私密金鑰的共同簽名才能動用一筆資金。比如說,某筆資金對應3個私密金鑰,而必須至少有其中任意2個私密金鑰參與簽名才能動用,只有1個私密金鑰參與簽名是無效的。這個2/3可以推廣到任意的m/n,比如3/5、4/7、6/11等,當然m要小於等於n。
多重簽名技術有著廣泛的應用空間,一個最直觀的場景就是類似於支付寶的應用,賣家、買家和作為擔保的協力廠商可以構建一個多重簽名的交易,約定其中至少兩方取得一致才能決定資金的流向。其他容易想到的應用場景還有:更安全的線上錢包、共同財產、合夥經營、資金監管等。以上構想的場景都是比較簡單的,具體實踐中一定會有更加靈活豐富的形式。
智能合約
智慧合約的理念可以追溯到1994年,幾乎與互聯網(World Wide Web)同時出現。密碼學家尼克·薩博(Nick Szabo)首次提出了“智能合約”這一術語。從本質上講,智慧合約工作原理類似於電腦程式的條件執行語句。當一個預先編好的條件被觸發時,智慧合約執行相應的合同條款。由於區塊鏈的可程式設計性,因此智慧合約在區塊鏈和數位貨幣上的應用是水到渠成的事情。
舉一個簡單的例子,以西甲國家德比為例。假如你賭皇馬贏,下注一個比特幣,你的朋友賭巴薩贏,下同樣的注。比賽開始前,你和你的朋友將你們的比特幣發送到一個由智慧合約控制的中立帳戶。比賽結束後,智慧合約能夠根據比賽結果,自動地將相應的資金發送到贏家的帳戶。
再比如網上購物,如果你從網上買了某商品,但不想立即付款給賣家,希望等到發貨後再付款。這時你可以創建一個合約,這個合約可以自動查詢快遞的物流資料,當確認你購買的商品已經發出時,才給賣家發送貨款。
以上只是簡單的解釋和舉例,智慧合約是電腦程式,所以很容易應用於其他需要的場景——增加更加細緻的控制條件,完成更複雜的執行邏輯。這有點類似傳統的合同,我們也可以認為,智慧合約就是把合同以代碼的形式搬到了區塊鏈上,但這就帶來了根本的區別:它不需要任何人監督合同的執行,訂立合同的雙方也無法在合同完成前單方面違約,一切都是按合同的約定自動執行的。相信隨著區塊鏈的普及和交易智慧化的發展,它將會對未來的交易模式與商業結構帶來巨大的影響。
從具體的實踐來看,由於比特幣的指令碼語言並不是圖靈完備[2]的,所以在擴展性上,比特幣區塊鏈目前所支援的資產定義和交易模式還比較有限。
因此,業內一些人開始嘗試開發不同於比特幣區塊鏈的、支援圖靈完備指令碼語言的區塊鏈,乙太坊(Ethereum)就是一個典型的例子。目前,乙太坊上的代幣乙太幣(ETH)的市值已經達到了比特幣的1/10,成為全球市值排名第二的數位貨幣[3]。
[1] 其技術細節會在第5 章詳述。
[2] 所謂圖靈完備,是指語言可以做到用圖靈機做到的所有事情,可以解決所有的可計算問題。圖靈不完備的語言常常是因為迴圈或遞迴受限,無法實現類似陣列或清單的資料結構,這會導致能寫的程式有限。
[3] 截至2016年5月14日,比特幣價格為2971元,市值約合461億人民幣,乙太幣價格為65.9元,市值約合52.7億人民幣。
將區塊鏈連接起來
如果說共識機制與價值載體是區塊鏈內生能力得以擴展的關鍵,那麼以側鏈技術為代表的、能夠將不同區塊鏈連接起來技術,就是區塊鏈拓展外在結構的關鍵。
比特幣區塊鏈的局限
很多人說比特幣是目前區塊鏈最成功的應用,這麼說有一定道理,但更貼合實際的說法是:由於在創造比特幣時,並沒有現成的、可以支援比特幣系統運行的底層技術架構,所以中本聰創造了區塊鏈。也就是說,中本聰創造區塊鏈的初衷是為了實現一個點對點的電子現金系統。因此,當我們對於區塊鏈的用途有更高的期待時,它的一些局限就體現出來了。
首先,比特幣區塊鏈的設計只考慮了比特幣的交易,本身並不支援定義其他資產,或是定義複雜的交易邏輯。如果要添加新功能,就要對系統進行升級,然而困難在於,對於比特幣這樣的完全去中心化的系統,任何改變都需要獲得社區的一致同意,以至於快速改變是異常困難的。
其次,大多數改變本身是不必要的甚至是無法達成的,因為更多的靈活性往往意味著複雜度的上升及隨之導致的穩定性的下降。考慮到現實需求的多樣性,甚至有些需求是相互衝突的,一條區塊鏈註定無法同時滿足所有的需求。
比特幣的上述局限直接導致了部分競爭幣的誕生,這些競爭幣採用了不同的區塊鏈,有著各自的特點和創新。但是,由於缺乏廣泛的共識與信任,絕大部分基於新區塊鏈的競爭幣並不擁有類似比特幣區塊鏈這樣在強大的算力保護下的穩定與安全,同時幣值的穩定性也普遍較差。更重要的是,數字資產不能在不同的區塊鏈間直接轉移,這導致了價值的孤島,正如同一個個不能互聯互通的“局域網”一樣。
側鏈技術
為方便數位資產在不同區塊鏈間互相轉移,側鏈(Sidechain)技術應運而生。簡單地說,側鏈就像是一條條通路,將不同的區塊鏈互相連接在一起,以實現區塊鏈的擴展。側鏈完全獨立於比特幣區塊鏈,但是這兩個帳本之間能夠“互相操作”,實現交互。
在側鏈技術的研究方面,Blockstream是較為領先的一個公司。2014年10月,以亞當·貝克[1]為首的開發團隊正式發佈了側鏈白皮書[2],2015年6月,Blockstream宣佈將為其側鏈專案發佈一個開原始程式碼庫和測試環境[3]。
側鏈白皮書中提出了一種新技術——“楔入式側鏈”,通過它可以實現不同區塊鏈間資產的互相轉移。由於側鏈是獨立的系統,因此技術與理念上的創新不會受到主鏈的局限,即使出現創新失敗或者惡意攻擊,所受的損害也只限於側鏈本身。
本質上,區塊鏈是不同數位價值的載體,而側鏈技術則是連接不同區塊鏈的通路。現在還不能斷言最終成熟的側鏈技術形態,甚至我們也不知道未來真正大規模應用于區塊鏈間連接的技術是否會以“側鏈技術”的名義出現,但側鏈技術的理念及核心功能的發展與成熟是毋庸置疑的。
[1] 亞當·貝克是英國的密碼學專家,哈西現金的發明者,同時也是Blockstream公司的總裁。
[2] 引用自http://www.blockstream.com/sidechains.pdf。
[3] 引用自https://elementsproject.org/。
區塊鏈的未來
通過前面的講述,相信讀者已經對區塊鏈是什麼有了基本的瞭解。接下來大家可能會好奇,基於這些特點,隨著區塊鏈技術的進一步發展和普及,未來的區塊鏈會是什麼樣子呢?
雖然沒有人能夠預言細節,但是對未來發展的大方向我們卻可以有清晰的判斷。下面我們分別從經濟和技術兩個角度著眼,對未來做一個簡要的勾勒。
價值互聯網
資訊不對稱(Information Asymmetry)是指參與交易的各方所擁有的可影響交易的資訊不同[1]。一般而言,賣家比買家擁有更多關於交易物品的資訊。由於互聯網的出現,新一代的傳播管道和幾乎暫態的傳播速度使人們可以更容易地得到想要的資訊。今天,互聯網之所以給商業社會帶來了深刻的影響,正是由於它打破了資訊的不對稱。
然而,互聯網對於資訊不對稱的打破還遠不夠徹底。在互聯網上,我們有了統一的資訊傳輸層,但是還沒有統一的價值傳輸層。因此在進行交易(價值傳輸)的時候,我們仍然需要依賴大量的仲介機構來保證價值的可靠存儲和轉移。這些仲介機構的存在不僅降低了價值傳輸的效率,也增加了價值流通的成本。
基於互聯網構建統一的價值傳輸層,即價值互聯網的誕生,將是區塊鏈發展及演進的必然結果。價值互聯網的誕生將進一步打破資訊不對稱的壁壘,讓以貨幣及數位資產為代表的數位化價值無需借助大量的仲介機構,就能在全球範圍內自由流動。這將讓市場效率獲得一次質的飛躍,甚至徹底改變目前的金融與經濟格局。
基礎協定與分層結構
本質上,互聯網同區塊鏈一樣,也是個去中心化的網路,並沒有一個“互聯網中心”存在。不同的是,互聯網是一個高效的資訊傳輸網路,但並不關心資訊的所有權,沒有內生的、對有價值資訊的保護機制;區塊鏈作為一種可以傳輸所有權的協議,將會基於現有互聯網協議架構構建出新的基礎協議層。從這個角度看,區塊鏈(協定)會和TCP/IP協定一樣,成為未來互聯網的基礎協議之一。
另外,區塊鏈的未來將是複雜的,它的複雜性並不是體現在任何一條區塊鏈本身,而是體現在由區塊鏈組成的層級結構中。正如TCP/IP協定棧的分層結構,不同的層級承載不同的功能。人們在統一的底層協定基礎上發展出了各種各樣的應用層協議,最終構建出了今天豐富多彩的互聯網。
未來區塊鏈的結構也一定是分層的,不同層級、不同類型的區塊鏈承擔著不同的作用。我們認為,未來的區塊鏈也將會在一個統一的底層協定基礎上發展出各種各樣的應用層協議,從而構建出多樣化生態的價值互聯網。
顛覆性技術的發展曲線
變革常常更能推動人們拋棄成見,激發全新的思考,區塊鏈的崛起將顛覆人們對很多行業和事物的認知。
然而,對於指數型發展,我們容易形成的誤判是高估短期影響、低估長期影響。正如2000年互聯網泡沫的崩潰,互聯網從可以改變一切並受到無數資本熱捧的狀況中瞬間跌入穀底。大家終於發現,互聯網並非如此神奇,大多數公司並沒有成功依靠互聯網構建出有價值的商業模式。然而,又有多少人能想到,僅僅十幾年後,互聯網已經深刻地改變了當今商業社會的格局,更改變了我們每個人的生活。
如同互聯網的發展一樣,區塊鏈這種協定式的、需要大規模協作和參與的顛覆式技術,其崛起的週期將比大多數人預想的要長,而最終影響的範圍和深度也會遠遠超出大多數人的想像。區塊鏈未來發展的過程不會一帆風順,可能會經歷過熱甚至泡沫階段,也可能會經歷低谷。但我相信,區塊鏈作為數位化浪潮下一個階段的核心技術,最終將會構建出多樣化生態的價值互聯網,從而深刻改變未來商業社會的結構與我們每個人的生活。
[1] 引用自https://en.wikipedia.org/wiki/Information_asymmetry。
本章結語
本章我們在儘量不涉及技術細節的前提下講述了區塊鏈的相關知識,包括區塊鏈的本質、原理、核心要素以及我們對區塊鏈發展方向的判斷。區塊鏈是一個偉大的發明,由它構建的價值互聯網是一片廣袤的新大陸,是未曾探索的大海,是剛剛露出水面一角的龐大冰山。不管是區塊鏈技術還是相關的行業發展,都有無盡的精彩在前方等著我們去發現與開拓。
第2章 區塊鏈帶來的新機遇
數字貨幣產業鏈
區塊鏈是作為比特幣的基礎設施而發明的。自此之後,以比特幣為代表的數字貨幣產業鏈也從無到有地發展起來。相關產業形態日漸多元,規模不斷擴大。隨著技術及市場的發展,利用區塊鏈技術創造的數位貨幣已不再局限於比特幣。不過就目前而言,無論從產業鏈的發展程度、全球影響力還是使用人群來說,比特幣都遠超過其他的數字貨幣。因此,本節將以介紹比特幣產業鏈為主,讓大家對數字貨幣產業這個略顯神秘的新行業有一個結構性的瞭解。
“挖礦”產業
發行是比特幣產業的最上游,在這一部分,目前中國的相關公司佔據了絕對優勢。中國的礦機廠商生產了大部分挖礦設備,中國的礦池集中了全網大部分算力。
1.“挖礦”小史
就像約伯斯重新定義了“蘋果”一樣,對數字貨幣愛好者來說,中本聰重新定義了“挖礦”“礦工”“礦機”。比特幣的競爭記帳過程是通過節點算力的競爭實現的。這個過程就是常說的“挖礦”,運行這些計算節點的人就是“礦工”,而這些計算的節點、礦工挖礦的工具就是所謂的“礦機”。
隨著比特幣的價值得到越來越多人的認可,打包區塊獲得的比特幣獎勵越來越“值錢”,整個系統的算力競爭也越來越激烈,挖礦工具隨之經過了數次更新換代。
最早的挖礦工具是個人電腦上的通用中央處理器(CPU),較為高端的桌上型電腦CPU可以達到大約20MH/s的運算能力(約每秒2000萬次雜湊運算)。初期,由於挖礦難度非常低,因此普通的電腦也能挖到大量比特幣,而那時比特幣幾乎不值錢。
比特幣挖礦類似於一個暴力破解的過程。相比於CPU,獨立顯卡(GPU)在並行運算能力上有明顯的優勢,因此也更適合比特幣挖礦。GPU可以使挖礦速度提升幾十乃至幾百倍。著名的比特幣披薩購買者拉茲洛·豪涅茨(Laszlo Hanyecz)是世界上使用GPU挖礦的第一人[1]。顯卡挖礦時代是比特幣挖礦歷史上最熱鬧的時期,以至於當時無論線上管道還是線下賣場,高端顯卡全部售罄。
2010年之前基本是CPU在挖礦,全網算力一直在1GH/s以下。2011年開始顯卡加入挖礦大軍,下半年全網算力一舉突破10TH/s,一年增長了10000倍!2012年更是輕鬆地超越20TH/s!顯卡礦機迎來了全盛時期[2]。
隨後,專業礦機誕生並佔據了挖礦設備的主流位置。很快專業礦機從可程式設計閘陣列(FPGA)過渡到了高效能專用積體電路(ASIC)。而且,ASIC礦機的功能參數也在不斷進化,不斷有算力更強大的礦機被研發出來並投入市場,同時將挖礦效率低的老礦機淘汰出局。
圖片來源:https://www.cryptocompare.com/mining/guides/how-has-bitcoin-mining-changed/
當下,如果不使用專業礦機的話,挖礦事實上已經不可行了。我們簡單估算一下,以當前的難度,如果使用CPU挖礦,大概需要晝夜不停地運算150萬年才有成功一次的機會。工欲善其事,必先利其器,因此對於礦工來說,購買高效率的礦機是挖礦的第一步。
2.礦機江湖
每一個新興產業的初期,都有一個各種公司野蠻生長的洪荒時期,礦機制造作為比特幣產業鏈的最上游,自然也不外。在短短三年多的時間內,國內外眾多參與者輪番上場參與角逐,在比特幣的發展史上留下了自己的傳說[3]。
中國的南瓜張是礦機時代的開創者。在2011年下半年,他推出了第一代FPGA礦機,引起轟動;2013年1月,又推出了首台阿瓦隆礦機(使用ASIC晶片)。後來隨著市場競爭和礦機製造工藝的不斷升級,其他的市場參與者逐漸佔據了領先的地位。
目前,礦機製造廠商還有很多家,實力較強的有總部位於三藩市的BitFury和總部位於中國的比特大陸(Bitmain)。其中,比特大陸生產的螞蟻礦機現在佔據了大部分市場份額。
3.礦場和礦池
隨著比特幣的價值被越來越多的人認可,挖礦投入的人力、物力不斷上升,挖礦行為從早期的單兵作戰迅速演化為專業化、規模化的運作,挖礦地點也從“自家後院”轉移到“專業礦場”。
參與挖礦的模式也分成了兩類,除了掌握較多財力和資源的礦工可以自建礦場,繼續單獨挖礦外,更多的礦工選擇了加入“礦池”,採取聯合挖礦的模式。
單獨挖礦不需要和別人分享你的收益,但是隨著全網算力的不斷上升,單獨挖礦成功打包區塊的概率在顯著降低——尤其是在算力不夠大的情況下。而加入一個礦池則可以增加競爭勝利的概率,但是收益要在所有礦池成員之間進行分配。
礦池屬於礦工的鬆散聯盟,礦工們將挖礦資源彙集在一起,共用算力,同時通過一定的演算法,礦池管理者收取一定的管理費,礦工按各自的算力占比分享挖礦收益[4]。
現在世界上有很多礦池,人們可以根據自身的情況自由選擇加入哪一個。一般人可能會下意識地相信更大的礦池,但對比特幣系統來講,選擇較小的礦池會更健康,這樣可以避免算力集中帶來的潛在傷害。
自礦池這種挖礦模式誕生以來,不同的礦池所占的算力比例就一直在變化之中。
人們一直在擔心,如果單一礦池所占的算力超過了50%,系統就會面臨51%攻擊的威脅。Ghash.IO的算力占比就曾短暫地接近50%,之後,很多礦工自發撤離了這個礦池。不可否認的是,任何單一礦池所占的算力比例過大都是對系統的潛在威脅。
以下是2014年6月不同礦池算力占比的示意圖。
以下是2016年4月不同礦池算力占比的示意圖。
4.雲挖礦
對個人來說,挖礦門檻越來越高。因此出現了雲挖礦模式。簡單地說,雲挖礦就是個人投入資金,然後雲挖礦平臺幫你完成剩餘的其他事情——包括購買機器、運行礦場並進行維護等。一般來說,雲挖礦模式包括託管礦機挖礦、虛擬主機挖礦、租用算力挖礦三種[5],目前,又以租用算力的模式最為常見。雲挖礦這種模式可以為普通人解決挖礦技術資金門檻過高的問題,同時為相應平臺解決(部分)資金問題,因此從商業模式上來講,雲挖礦有其生存的空間。然而,除了正常經營的雲挖礦服務外,這也是最容易滋生欺詐的一種挖礦方式,Hashie.co、CloudHashing.com等提供的雲挖礦服務就是前車之鑒[6]。
交易平臺
隨著比特幣得到越來越多人的認可和使用,在比特幣網路上發生的交易數量也與日俱增。
以下是比特幣網路日交易數與市值隨時間變化的示意圖。
隨著交易的增多,兌換就成為一個剛性的需求。因此交易所是比特幣產業鏈上不可缺少的重要一環。在比特幣短短七年的發展史中,誕生了許多的交易所,其中大部分都由於這樣那樣的原因最終消失了。
1.第一家交易所Bitcoin Market
該交易所於2010年2月6日由Bitcointalk的用戶“dwdollar”創建,是世界上第一個比特幣交易所。但同年6月,由於一些用戶的欺詐行為,交易所撤掉了Paypal支付選項[7],隨後交易量迅速萎縮,被之後成立的交易所MtGox超越。至今仍不清楚該交易所關閉的具體日期。
2.曾經最重要的交易所MT.Gox
MT.Gox(業內戲稱“門頭溝”)於2010年7月18日由傑德·麥凱萊布(Jed McCaleb)創建,2011年3月被法國人馬克·凱普勒斯(Mark Karpeles)接管。在比特幣發展的早期,“門頭溝”幾乎是唯一的交易所,2011年7月,“門頭溝”處理了全世界80%的比特幣交易[8]。從2014年2月開始,該交易所暫停交易,關閉網站並申請了破產保護,而85萬個比特幣(當時估值約4.5億美元)從用戶帳戶中憑空消失了。CEO馬克被日本警方多次傳喚,而消失的資金大部分至今仍然下落不明。
3.被駭客攻擊的例子
由於比特幣的價值得到人們的認可,因此比特幣交易所也成為駭客攻擊的目標。最早因駭客攻擊而遭受重大損失的交易所是Bitcoinica,這個交易所於2011年9月8日成立,2012年3月1日由於系統內部出現安全性漏洞,超過4.3萬個比特幣被攻擊者竊取。交易所對此發表了一份聲明,表示儲備資金足以彌補損失,但2012年5月11日該交易所再次遭遇駭客攻擊,導致其立即關閉。之後駭客攻擊交易所的事件仍然時有發生,現在仍在運行的知名比特幣交易所Bitstamp就於2015年1月被盜約1.9萬個比特幣。
4.現在的交易所格局
目前全球依然有數十家活躍的比特幣交易所,並且這個行業也一直處在快速的更新代謝之中。
現在佔據主要市場地位的比特幣交易所有中國的火幣網、OKCoin、比特幣中國,位於歐洲的bitstamp和btc-e,位於美國的Bitfinex、coinbase和Kraken等。
隨著比特幣監管政策的逐漸明確,目前位於歐美的交易所在快速走向合規化,對中國的交易所來說,這也是必然的趨勢。
場外交易(Over-The-Counter,OTC)也是比特幣交易的組成部分,它是指不在交易所內進行,而以買賣雙方私下約定的方式進行的交易。在交易雙方對私密性的要求比較高的時候,或是在對比特幣不太友好的國家和地區(比如俄羅斯和委內瑞拉),場外交易往往成為首選。目前localbitcoins[9]是全球最大的場外交易平臺。
錢包與支付
1.錢包
比特幣的存儲是比特幣使用過程中的一個核心環節。隨著比特幣走出極客圈子,走向普通大眾,錢包服務也隨之成為比特幣產業中的重要一環。
雖然比特幣用戶端本身就有錢包的功能,但它不能跨平臺使用,同時存在錢包的導入/匯出對普通用戶來說門檻過高的問題。由於區塊資料本身越來越大[10],因此將完整的比特幣用戶端作為錢包使用帶來的不便也越來越多。因此,市場上出現了多種錢包服務,它們大致可以分為以下三類[11]。
網頁錢包。網頁端錢包的好處是,不管使用什麼設備,只要你能上網,就能使用它。而它的缺點也很明顯,即將私密金鑰暴露給協力廠商的風險相對較大。目前主流的線上錢包都使用了加密或者多重簽名的措施以獲取用戶的信任。目前使用人群較多的線上錢包有Blockchain[12]和Coinbase[13]等。
桌面錢包。桌面錢包可以分為全節點錢包和輕錢包,全節點錢包(如bitcoin-core錢包)同步所有的區塊鏈資料(當前在50GB以上),完全去中心化;輕錢包(如MultiBit)只有簡化支付驗證功能(SPV),只維護與自己相關的區塊鏈資料,使用起來更加輕便。
硬體錢包。硬體錢包是專門用於存儲私密金鑰和進行支付的硬體設備,通常為存儲大量的比特幣而設計,比如Trezor、KeepKey等。
2.支付
隨著比特幣使用人群的擴大,到目前為止,已經有微軟、戴爾、維琪百科、Mozilla、Expedia、綠色和平組織、新蛋網、Overstock、steam等知名組織和公司以及數以萬計中小商家開始嘗試接受比特幣支付,而他們接受比特幣的過程絕大多數是通過比特幣支付商來完成的。支付商將消費者支付的比特幣轉化為商家接受的法定貨幣,打入商家的相關帳戶,同時收取一定的手續費。對於傳統行業的商家來講,這種模式可以避免比特幣行情波動帶來的影響。從事比特幣支付服務的公司也有很多,其中以BitPay較為領先,這家公司總部位於亞特蘭大,成立於2011年,2015年其日成交額達到了數百萬美元。
數據與媒體
比特幣系統本質上是分散式帳本,對普通用戶來講查閱起來並不容易。因此為使用者提供可靠便捷的資料服務也是比特幣產業的重要一環,目前國外的Blockchain.info和國內的Qukuai.com是這方面較為領先的公司。
隨著比特幣影響力的擴大,全球各種主流媒體持續對比特幣進行關注和報導,同時,專注於數位貨幣和區塊鏈技術的媒體也應運而生。這些媒體專注于向外傳播比特幣和區塊鏈的相關知識,報導業內動態和技術發展,消除誤解,傳播影響,是比特幣從極客走向大眾的過程中極為重要的環節。
其中較為知名的是英文網站Coindesk,它成立於2013年5月,目前是全世界最為活躍的數字貨幣和區塊鏈媒體之一。中文網站巴比特成立於2011年,專注區塊鏈、比特幣以及數位貨幣領域的新聞報導,是中文網站中最具活力的常青樹。
小結
本節大致介紹了目前數位貨幣產業鏈的主要組成部分,包括它們的簡要發展過程以及相關領域的知名企業。必須要指出的是,我們只是對這個變化迅速的行業做了一個鳥瞰式的簡要勾勒,挂一漏萬之處在所難免。
目前整個產業還處在很初級的階段,比特幣的大規模應用還沒有實現。儘管接受比特幣的人和企業越來越多,但是星星之火尚未燎原。從另一個角度講,這種局面正是資本和人才進入行業搶佔有利位置的大好時機。
據統計,目前全球範圍內比特幣和區塊鏈相關的初創企業有近800家,他們拿到的風投資金總計達13億美元[14],這個數字一點也不弱于當年互聯網革命的初期階段。人們逐漸認識到比特幣背後的區塊鏈技術的重大價值,大量基於區塊鏈技術的新探索和新實踐不斷湧現出來。數位貨幣產業鏈的發展和繁榮屬於未來。
[1] 《加密貨幣:虛擬貨幣如何挑戰全球經濟秩序》吳建剛譯,人民郵電出版社,ZSBN 978-7-115-40828-0。
[2] 引用自http://www.pcpop.com/doc/1/1018/1018220_all.shtml。
[3] 國外有一家蝴蝶礦機,出售期貨礦機,而期貨卻遙遙無期;還有烤貓,一度佔據礦機市場1/3的份額,最終卻以人間蒸發的方式完成最後的演出。凡此種種,舉不勝舉。
[4] 收益分配演算法有很多種,包括PPS、DGM、PPLNS等,參見https://www.bitcoinmining.com/bitcoin-mining-pools/。
[5] 引用自http://www.coindesk.com/information/cloud-mining-bitcoin-guide/。
[6] 引用自http://www.8btc.com/bitcoin-cloud-mining-service-craters-how-can-youtell-the-difference-between-a-profit-maker-and-a-ponzi-scheme。
[7] 引用自https://bitcointalk.org/index.php?topic=12678.0。
[8] 《加密貨幣:虛擬貨幣如何挑戰全球經濟秩序》,P74,吳建剛譯,人民郵電出版社,ISBN:978-7-115-40828-0。
[9] 引用自https://localbitcoins.com/。
[10] 現在有幾十GB。
[11] 引用自https://bitcoin.org/en/choose-your-wallet。
[12] 引用自https://blockchain.info/。
[13] 引用自https://www.coinbase.com/。
[14] 引用自https://www.venturescanner.com/blog/2016/bitcoin-q2-update-in-15-visuals。
互聯網金融
區塊鏈將成為互聯網金融夢想照進現實的關鍵技術。
互聯網金融是什麼
隨著人類的科學技術手段不斷向前發展,互聯網和金融已經不再是互相隔絕的兩個領域,它們的有些邊界已經開始接觸並融合。互聯網金融的概念因此應運而生[1]。隨著互聯網金融的實踐和發展,它逐漸成為中國金融界和IT界最熱門的詞彙之一,越來越多地得到人們的認可並影響人們的生活。李克強總理在2014年的政府工作報告中指出要促進互聯網金融的健康發展。無獨有偶,在國外,金融科技(FinTech)也成為一個熱詞,金融科技主要是指互聯網企業或高科技公司利用雲計算、大資料、移動互聯等新興技術開展的低門檻金融服務。雖然在產品和服務的具體形式上,金融科技(FinTech)和國內的互聯網金融並不完全相同,但本質上,它們都是新的技術手段和傳統金融的結合。從這個意義上講,無論國際還是國內,互聯網金融的發展方向是一致的。
互聯網金融是一個譜系概念,涵蓋從傳統銀行、證券、保險、交易所等金融仲介和市場,到瓦爾拉斯一般均衡對應的無金融仲介或市場之間的所有金融交易和組織形式[2]。
金融是現代經濟的基礎和核心,現在,金融對經濟發展的影響超過以往任何一個時期。互聯網金融興起之後,除了銀行、證券、保險、基金之外,電子商務公司和IT企業等各類機構也紛紛參與互聯網金融創新,演化出豐富的商業模式。事實上金融業與非金融業的界限正在逐漸模糊[3]。
要正確理解互聯網金融的內涵,以下兩點是至關重要的:一是互聯網金融與傳統金融的關係,二是互聯網金融與技術發展的關係。
1.互聯網金融與傳統金融的關係
互聯網給金融業帶來的變化是形式與手段的變化,而不是內涵或本質的變化。互聯網金融並不會改變金融的本質。比如電子商務與傳統生意間的關係:電子商務沒有改變交易的本質,但通過打破資訊不對稱,提升了交易效率,降低了交易成本。
互聯網金融是新技術條件下金融手段的演化,它並不會改變金融服務的內涵。首先,金融的核心功能不變。互聯網金融與傳統金融一樣,都是在不確定的環境中進行資源的時間和空間配置,以服務實體經濟。第二,互聯網金融不會改變股權、債權、保險、信託等金融契約的內涵。第三,互聯網金融不會改變金融風險、外部性等概念的內涵。風險指的仍是未來遭受損失的可能性,市場風險、信用風險、流動性風險、操作風險、聲譽風險和法律合規風險等概念及其分析框架依然適用[4]。
2.互聯網金融與技術發展的關係
互聯網金融的發展速度主要取決於互聯網技術的發展速度,而不是金融自身的發展速度[5]。以互聯網為代表的資訊技術的發展,特別是電子支付、大資料、雲計算、社交網路的發展,已經開始改變金融業的現狀。而區塊鏈技術的發展與成熟將進一步推動互聯網金融向更深入和更廣闊的空間發展。
理解互聯網金融與技術發展的關係非常重要。很多人只看到了利用現有的互聯網技術去改造金融業的機會,卻忽視了技術發展本身的重要性。這會導致一種不好的傾向:擁有互聯網金融的思想,但不具備相應的能力。有些人誤以為現有的互聯網技術能輕易解決傳統金融機構無法解決的問題,並且能輕易構建超出自身能力的新型商業模式。實際情況是,以現有的技術水準,還不足以支援互聯網金融的進一步發展,我們需要依賴技術本身的發展與成熟。
互聯網金融的演變邏輯與發展階段
1.演變邏輯
現實中之所以存在金融仲介和市場,主要是由於資訊不對稱和交易成本等摩擦因素造成的。但隨著互聯網的發展,資訊不對稱的問題將大幅減少,交易成本將顯著降低,互聯網金融將逐漸逼近與瓦爾拉斯一般均衡相對應的無金融仲介或市場情形。這是金融演變的內在邏輯[6]。
2.資訊不對稱與互聯網金融的優勢
所謂資訊,就是傳播中的知識差,這個差別包括資訊的完整度和時間差[7]。造成資訊不對稱的原因主要有兩種,一個是資訊的傳播管道,另一個是個體間處理資訊能力的不同。個體處理資訊能力的不同是一種客觀存在,我們存而不論。而資訊傳播管道的進步(比如互聯網的普及)則一直在降低資訊不對稱的程度。
金融的本質在於資金的融通。然而,在金融市場,資訊不對稱是一個普遍的特徵。資訊不對稱存在于傳統金融業的方方面面,比如中央銀行和商業銀行之間的資訊不對稱,商業銀行和企業之間的資訊不對稱,金融服務的參與各方之間的資訊不對稱等。常見的情況是資訊不對稱導致逆向選擇[8]和道德風險,比如金融機構利用自身資訊優勢違規經營,或者企業騙貸、銀行惜貸等。資訊不對稱還可能導致金融秩序混亂和貨幣市場的無效或低效運行,加大金融風險。
資訊是否對稱直接制約市場的效率,應該說,互聯網金融無法徹底解決資訊不對稱的問題,但是,它可以降低資訊不對稱的程度。互聯網的核心精神是開放、共用、去中心化,而目標則是資訊的高效流通。互聯網金融最根本的意義是改善傳統金融中資訊不對稱的問題。
在互聯網時代,整個社會都在走向數位化,互聯網技術在金融領域的滲透和創新是必然的趨勢。具體到我國,由於現有的金融體系中存在一些低效或扭曲的因素,因而為互聯網金融的發展留下了空間。比如,不能有效滿足中小企業的融資和信貸需求,老百姓的投資理財需求也得不到有效滿足,股權融資管道不順暢等。在此背景下,互聯網金融演化出多種商業模式,比如傳統金融的互聯網化、移動與協力廠商支付、基於大資料的征信和網路貸款、眾籌融資等。
3.發展階段
謝平等人所著的《互聯網金融手冊》第一章開篇就提到“互聯網金融是一個前瞻性概念”,同時給出了關於未來的預測:“我們樂觀地估計,互聯網金融還需要20年才能成形,主要基於兩點考慮。第一,互聯網金融的發展速度主要取決於互聯網技術的發展速度,而不是金融自身的發展速度。我們預計,20年後,互聯網技術將在目前的基礎上進一步大幅度降低金融活動中的交易成本,並解決資訊不對稱的問題。第二,20年後,伴隨著互聯網成長起來的這一代人將成為社會主流,他們的互聯網使用習慣將極大地影響金融交易和組織形式。”
我認為,理解“前瞻性概念”的含義,對於我們正確認識互聯網金融的發展至關重要。互聯網金融的發展不是一蹴而就的,需要一個較長的發展歷程。以20年後才能成形的預測來看,目前互聯網金融還處於非常早期的階段,還有很長的路要走。
互聯網金融面臨的挑戰
1.現階段的認知誤區
最近幾年興起的P2P網貸被很多人認為是互聯網金融的典型。不過這些新崛起的平臺中有相當一部分僅僅是民間金融的互聯網化,並且很多平臺由於缺乏足夠的技術實力及成熟的風控體系,反而暴露出了更大的風險。這不符合互聯網金融發展的特徵,也完全不能代表互聯網金融的發展方向,甚至某種程度上是一種倒退。
在當前的經濟環境下,還有很多打著互聯網金融旗號的公司把民間灰色金融的問題移到了線上,而且波及了更多的人群(強大的管道優勢)。原本線上平臺能夠降低成本,就是因為減少了一些監管、託管和風控成本,現在由於環境的複雜化,各種監管的介入導致成本與傳統方式幾乎無異了。
2.互聯網金融發展的核心矛盾
傳統金融體系是典型的中心化結構,而互聯網則在推動著金融體系的重構,去中心化、去仲介化成為趨勢。然而目前的現狀是,我們既想實現去仲介化,但又缺乏去仲介化的核心技術基礎保障。也就是說,互聯網金融目前的核心矛盾是:理念和商業前景已經得到了普遍接受,但技術基礎還不足以支持其實現自身的理念。
在目前的技術水準上,我們雖然可以在一定程度上擺脫傳統的中心化機構,實現更高的資訊透明度和效率,但互聯網金融服務的提供者由於受到技術的制約,依舊無法做到完全的去中心化。甚至有一些所謂的互聯網金融平臺,既做不到完全的去中心化,同時又缺乏傳統中心化機構的信用保障及風控能力,導致嘗試這些平臺的消費者要冒更大的風險。最近,美國最大的P2P借貸平臺Lending Club就因為違規操作引起了人們的關注,股價一周之內暴跌40%以上。而國內P2P平臺的跑路事件更是層出不窮。
區塊鏈對當前金融行業的價值
區塊鏈能幫助金融行業有效地提升效率和降低風險。借助區塊鏈對金融行業內部應用場景進行改造能帶來諸多好處,概括而言主要包括兩個方面[9]:一是降低成本和提升效率;二是降低風險。
·降低成本和提升效率。具體體現在以下幾個方面:①減少多方溝通成本,譬如證券交易市場往往需要中央結算系統、證券公司、交易所和銀行等多方參與和協調,成本過高,而區塊鏈可以通過多重簽名等技術實現一條龍服務,且資訊可以共用,提升整個業務的協作效率;②減少人工勞動,提高自動化程度;③更快的結算週期,區塊鏈交易被確認的過程就是清算、結算和審計的過程;④保存監管記錄和審計痕跡,為監管、審計等提供便利。根據Santander InnoVentures的報告估計,到2020年,區塊鏈可減少基礎設施成本150億~200億美元。
·降低風險。具體體現在以下幾個方面:①由於交易確認即完成清算和結算,因此大大降低了交易對手風險;②區塊鏈將交易過程數位化,且進行完整記錄,能有效控制欺詐、手工輸入錯誤等操作風險;③由於區塊鏈的分散式網路和共識機制的存在,也減少了金融企業受駭客攻擊等系統風險。
區塊鏈將為互聯網金融的騰飛奠定技術基礎
區塊鏈技術的發展與成熟將有效化解互聯網金融面臨的核心矛盾,並為行業未來的騰飛奠定堅實的技術基礎。作為一個透明、可靠、去中心化的價值傳輸平臺,區塊鏈將進一步降低金融行業的資訊不對稱程度,同時提升互聯網金融體系的效率和安全性。通過移除金融服務雙方對過多中間機構的依賴,加速金融交易的完成,同時降低交易的成本,這將從根本上改變未來金融業的面貌。
當然,我們還應該看到,即使在大家普遍認為區塊鏈最能夠發揮核心作用的金融領域,區塊鏈也絕非萬能的,它能解決的僅僅是底層交易的成本與效率問題。比如,區塊鏈不能消除金融領域的固有風險。不過,基於區塊鏈所產生的信用記錄資料,結合大資料、人工智慧等技術在金融領域的深入發展,將能有效提高風險定價與風險管理效率。
在面對區塊鏈技術時,前瞻性的公司會將新技術融入他們的業務。如果金融從業者對區塊鏈技術缺乏理解,不能認識到其顛覆式的潛力,那麼他們將會在未來的變革中處於非常被動的地位。因此,金融業應該早做打算,來應對這個顛覆性技術可能帶來的威脅與機遇。區塊鏈行業的很多初創企業(如R3CEV)都在嘗試基於區塊鏈技術創造新的商業模式,這可能會加速金融業的“創造性破壞”。
目前區塊鏈技術應用于金融領域的核心阻礙,在於基礎設施不夠成熟。也就是說,就當前而言,它給金融業帶來的實際價值還沒有那麼大。但它已經給金融業的未來提供了一個巨大的想像空間。未來區塊鏈技術的演進和互聯網金融的進一步發展,將使我們有能力從本質上提升金融業的效率,創造新的價值連接方式和商業模式,這不僅僅是改造或替代現有的系統,而是一個更為宏大的未來。
[1] 這個概念是謝平等人在2012年提出的,見《互聯網金融模式研究》,載于《金融研究》,2012(12)。
[2] 謝平,鄒傳偉,劉海二,《互聯網金融手冊》,中國人民大學出版社,2014年,ISBN 978-7-300-19075-4。瓦爾拉斯一般均衡是指整個市場上過度需求與過剩供給的總額必定相等的情況。
[3] 《互聯網金融手冊》,P2,中國人民大學出版社,ISBN 978-7-300-19075-4。
[4] 《互聯網金融手冊》,P2,中國人民大學出版社,ISBN 978-7-300-19075-4。
[5] 《互聯網金融手冊》,P4,中國人民大學出版社,ISBN 978-7-300-19075-4。
[6] 《互聯網金融手冊》,P3,中國人民大學出版社,ISBN 978-7-300-19075-4。
[7] 謝康,《資訊經濟學原理》, 中南工業大學出版社,1998年6月,P14-15。
[8] 資訊不對稱所造成市場資源配置扭曲的現象。
[9] 中金公司,《區塊鏈:改變金融業基礎架構》。
物聯網與共用經濟
物聯網將會成為區塊鏈技術最激動人心的應用領域之一。
從互聯網到物聯網
從1995年互聯網開始商業化運作,到今天已經過去了20年的時間。在這20年中,互聯網給全世界帶來了翻天覆地的變化。然而,在我看來,互聯網帶給人類社會的改變才剛剛開始,這估計會令不少人感到驚訝。物聯網,這個在商業界備受關注而對於公眾來說略顯陌生的詞彙,會將互聯網的廣度和深度向更高的層級推進,人類社會與數字世界將互相融合甚至難以區分。
不得不說,物聯網這個詞給人帶來了不少陌生感,人們並不會很容易地將其與互聯網聯繫起來,甚至一些人會誤認為這是指物流行業的技術。而其英文名稱就好理解多了:Internet of Things(IoT)。物聯網的概念最先由麻省理工學院(MIT)的凱文·阿仕頓(kevin Ashton)提出[1]。在2010年的政府工作報告[2]中,我國將物聯網定義為:通過資訊傳感設備,按照約定的協定,把任何物品與互聯網連接起來,進行資訊交換和通信,以實現智慧化識別、定位、跟蹤、監控和管理的一種網路。在物聯網時代,能接入網路的不僅僅是電腦和智慧手機,還有汽車、健身設備、鎖具、交通攝像頭甚至你能想到的一切。
物聯網的定義包含了兩層意思:其一,物聯網是在互聯網基礎上進行延伸和擴展的網路,其核心和基礎仍然是互聯網;其二,該網路的使用者端延伸和擴展到了任何物品與物品之間,可進行資訊交換和通信,也就是物物相連。物聯網通過智慧感知、識別技術與普適計算等通信感知技術,廣泛應用于網路的融合中,也因此被稱為繼電腦、互聯網之後世界資訊產業發展的第三次浪潮。
從所有權到使用權
在傳統的經濟模式下,租賃行業的經營範圍和經營模式都是比較單一的,如果想獲得某個物品的使用權,絕大多數情況下要事先獲得它的所有權。而共用經濟的實質則是將人們進行交易的重心由取得物品的所有權向取得其使用權轉移。物品使用權的靈活轉移可以更充分地提高物品的利用效率,實現生產要素的社會化,促進經濟更高品質地發展。
共用經濟(Sharing Economy)是一種點對點的分享產品或者服務的使用權的經濟模式[3]。隨著互聯網的發展,特別是互聯網進一步向物聯網的過渡,共用經濟擁有了可以爆發的技術基礎。2013年3月9日,《經濟學人》雜誌在其封面文章第一次詳細描述了“共用經濟”[4]的場景,如今,出行住宿用Airbnb、用車用Uber,一個共用經濟的時代正在來臨,並且將重塑現在及未來的商業格局。
共用經濟的實質是由所有權向使用權的轉變。這一轉變是經濟效率提升的內在要求,而技術的發展水準則限制著共用經濟能達到的高度。在現有的互聯網條件下,共用經濟的爆發僅僅是個開始,物聯網的發展將成為拓展共用經濟邊界的原始技術驅動力,將使分享變得更加可靠、經濟、便捷。甚至,傑瑞米·裡夫金(Jeremy Rifkin)預言,物聯網與共用經濟的發展將導致一個零邊際成本社會的誕生,我們熟知的資本主義社會將不復存在[5]。
物聯網與共用經濟面臨的核心困難
在我看來,目前物聯網與共用經濟發展面臨的核心困難不在互聯網、感測器等基礎設施,而是來自資料層面的挑戰。我們可以從資料的存儲與流動兩方面進行分析。
第一,資料的存儲。物聯網的核心和基礎仍然是互聯網,而互聯網上的駭客攻擊、資料洩露、惡意軟體、網路窺探是層出不窮的,這些問題已經給很多人造成了困擾。而如果每個人和物都連接入網的話,我們要建立怎樣的界限才能保護每個人的隱私權?
“人們已經清楚地認識到,如果無法在透明度和隱私權之間實現適當的平衡,那麼物聯網的發展可能放緩,甚至造成無法挽回的危害。”[6]
第二,資料的流動。首先看一看我們目前使用的支付清算系統的處理能力:Visa最新的實驗室測試資料是5.6萬筆/秒,實際應用中,Visa的處理峰值為1.4萬筆/秒;2015年“雙十一”,支付寶撐起了8.59萬筆/秒的交易峰值,這被看作了不起的成就。
然而,在物聯網與共用經濟的時代,各種產品都接入一個龐大的智慧型網路,交易的主要目的是產品使用權的流轉,甚至網路中的每一個節點、每一個產品都可以同時承擔交易對象和交易發起者的角色。因此,交易數量會呈幾何級數增加。舉個簡單的例子,如果購買一輛汽車(取得所有權),那麼在用它代步的這段時間裡,交易一次就夠了,而如果僅僅是獲得流轉中的使用權,那麼我們需要每使用一次就進行一次交易。因此,物聯網中會產生天文數字的交易頻率和交易數量,相關的清結算系統要分秒不停地順暢運轉,這無疑會對相關的基礎設施提出極大的挑戰。這將是一個複雜的網路,複雜到任何一個中心化的機構都無法承擔這樣的任務。
當區塊鏈遇上物聯網
通過上面的分析,我們馬上能夠看出,區塊鏈的特點恰好能夠解決物聯網面臨的核心困難,從而成為構建新一代的萬物互聯網的關鍵技術。
互聯網本身就是一個去中心化的網路,在物聯網時代,較之現在,接入網路的節點數量會出現極大的增長,因此,未來的物聯網一定是個自組織、自調節的系統。在這樣的系統中進行資訊和價值的交換,必然需要可靠的去中心化點對點價值傳輸網路。
區塊鏈技術可以通過可靠的數學加密演算法保護使用者的隱私。區塊鏈將使設備實現自我管理和維護,使整個系統變成一個去中心化自組織的體系。在這個體系中,可以實現無需信任的、點對點的價值傳輸,可以實現安全的分散式資料分享,進而構造出一個健壯且可擴展的物聯網。
IBM是最早宣佈區塊鏈開發計畫的公司之一,他們在多個不同層面進行了區塊鏈的研究與合作。2014年8月,IBM發表了一份報告[7],指出區塊鏈可以成為物聯網的最佳的解決方案。2015年1月,IBM宣佈將與三星聯合打造ADEPT系統,利用區塊鏈技術實現去中心化的物聯網。ADEPT平臺由三個要素組成:區塊鏈(智慧合約)、Telehash(P2P資訊發送)和BitTorrent(檔分享)。通過該平臺,兩家公司都希望帶來一個能自動檢測問題、自動更新、不需要任何人為操作的設備,這些設備也將能夠與其他附近的設備通信。2015年8月,區塊鏈物聯網項目Filament獲得A輪融資500萬美元。Filament的聯合創始人兼首席執行官艾瑞克·詹寧斯(Eric Jennings)談到,Filament是一個使用比特幣區塊鏈的去中心化的物聯網軟體堆疊,能夠使公共分散式帳本上的設備擁有獨特身份。通過創建一個智慧設備目錄,Filament的物聯網設備可以進行安全溝通、執行智慧合同以及發送小額交易。鑒於這一設想,詹寧斯認為他的專案與ADEPT專案在本質上是相似的,不同的是它將針對工業市場,使石油、天然氣、製造業和農業等行業的大公司實現效率上的新突破。
[1] Kevin Ashton, “ That‘ Internet of Things ’Thing ”, RFID Journal, 22 June 2009.
[2] 引用自http://www.china.com.cn/policy/txt/2010-03/15/content_19612372_8.htm。
[3] 引用自https://en.wikipedia.org/wiki/Sharing_economy。
[4] 引用自http://www.economist.com/news/leaders/21573104-internet-everything-hirerise-sharing-economy。
[5] 傑瑞米·裡夫金,《零邊際成本社會》。
[6] 傑瑞米·裡夫金,《零邊際成本社會》。
[7] 引用自http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=PM&subtype=XB&htmlfid=GBE03620USEN#loaded。
新一代基礎設施
新一代的基礎設施是當前區塊鏈行業最為重要的機會。
在社會和經濟生活領域,基礎設施是指為社會生產和居民生活提供核心公共服務的系統,這些基礎設施往往具有先行性和基礎性,若沒有它們,其他生產和生活活動就難以開展。基礎設施通常只有達到一定規模時才能提供有效的服務。
區塊鏈行業目前仍處在非常早期的階段,基礎設施還遠未成熟,因此基於區塊鏈的服務、應用和商業模式常常面臨難以開展的窘境。雖然價值互聯網的新時代正在到來,但到來的步伐遠沒有想像的那麼快。在區塊鏈與各行業深入結合、產生改變金融與經濟格局的巨大影響之前,當前最為重要的機會無疑是基礎設施的建設。
基礎設施要解決的核心問題是建立標準問題。在互聯網早期,如果沒有ISO、IEEE、W3C等這些組織對於標準建立的推動,大家的協議將很難統一,互聯網也不會在全球迅速發展起來。而未來區塊鏈的標準將會類似於互聯網,它不是一個協定,而是一組協定,並且持續不斷地進行豐富及改進。
區塊鏈技術可以在很多行業和領域得到很好的應用,只要是和價值有關的資訊,都和區塊鏈有天然的親和性,可以結合在一起發展出新的方式來更好地滿足不同行業的需求。由於行業及領域的不同,需求是多種多樣的,實現形式也是多種多樣的。未來的價值互聯網不可能是“某一條”或“某一種”區塊鏈可以涵蓋的,它必然是不同功能、不同特色的很多區塊鏈共同形成的一個生態體系。
談到區塊鏈基礎設施的具體內容,我認為主要分兩類:一類是區塊鏈的研發與構建,這裡的區塊鏈是指適用於不同目的或不同行業的各種類型的區塊鏈;另一類是區塊鏈間的連接設施,這些設施可以實現不同區塊鏈之間的互聯互通,讓價值可以自由流動。
多樣化的區塊鏈
由於區塊鏈的應用場景非常廣泛,不同場景有著不一樣的需求,因此我們不能指望一條區塊鏈就能解決所有問題。顯然,如果一條區塊鏈上承載了太多的功能,將會使得其複雜到不可維護,從而嚴重降低可靠程度。同樣的道理,如果一條區塊鏈承載了各種類型的資料,也將會使其資料量過大,導致去中心化嚴重受限。因此,多樣化的區塊鏈將是未來發展的必然趨勢。
首先發展起來的就是以比特幣區塊鏈為代表的公有鏈。比特幣區塊鏈是一個典型的應用於數位貨幣的區塊鏈系統,為比特幣的發展壯大提供了堅實的技術保障。之後產生的萊特幣、狗狗幣,其背後的區塊鏈都是對比特幣區塊鏈的模仿。
最新崛起的乙太坊是另一個典型,雖然其背後的區塊鏈同樣是公有鏈,但其目的並不是發行及運行一個數位貨幣系統,而是實現一個可程式設計的智慧合約平臺。
而私有鏈則是最近一兩年發展最為迅速及活躍的區塊鏈類型。R3CEV是一個典型的構建私有鏈的公司,其發起的銀行聯盟的目標是制定銀行間的清算標準,目前已經有40多家來自不同國家的大型銀行加入。
區塊鏈間的連接設施
區塊鏈未來的複雜性並不是體現在任何一條區塊鏈本身,而是體現在由區塊鏈組成的層級結構中。而創建層級結構所依靠的基礎設施,則是當前區塊鏈基礎設施中另一個關鍵的類別。
側鏈技術就是一個典型的連接設施,這個概念最早由Blockstream公司提出,目標是構建可以讓數位資產在不同區塊鏈間自由轉移的技術。他們在2014年發佈了側鏈技術的白皮書,並於2016年年初發佈了第一個商業化側鏈。
正如同多樣化的區塊鏈一樣,隨著技術的演進與發展,未來區塊鏈間連接設施的技術理念及運作方式也將是多樣化的,不同形態的連接設施滿足不同種類的連接需求,從而構建起真正的區塊鏈生態體系。
本章結語
“區塊鏈+”的時代正在到來。
區塊鏈正在構建一個全新的價值互聯網。而未來價值互聯網所影響的行業及領域將遠遠超出本章所介紹的範圍。於是在本章的末尾,我們提出“區塊鏈+”的概念,希望以此表明,區塊鏈並不是一項普通的技術,不僅僅是帶來一個行業的變革或是創造一個新的行業。它是類似互聯網的一種顛覆性技術,將以基礎工具或基礎設施的面貌出現,擁有影響乃至顛覆所有行業和領域的潛力。
2015年3月5日上午,在十二屆全國人大三次會議上,李克強總理在政府工作報告中首次提出“互聯網+”行動計畫。李克強在政府工作報告中提出,“制定‘互聯網+’行動計畫,推動移動互聯網、雲計算、大資料、物聯網等與現代製造業結合,促進電子商務、工業互聯網和互聯網金融健康發展,引導互聯網企業拓展國際市場。”自此以後,“互聯網+”成為了街談巷議的熱門話題。
“區塊鏈+”是“互聯網+”的升級版,它基於“互聯網+”,正在試圖進入各個行業,並將對未來經濟產生巨大的影響。在我看來,“區塊鏈+”的實質是在“互聯網+”的基礎上,進一步打破資訊不對稱,讓市場交易的去仲介化成為可能,進而帶來交易效率的提升及社會成本的下降,並為市場經濟中的各個行業與領域帶來深刻的變革。
第3章 區塊鏈的應用場景
數位貨幣
我們知道,區塊鏈作為比特幣的基礎架構,是被中本聰發明出來的。因此,換個角度講,比特幣當然也就是區塊鏈的第一個應用,同時到目前為止,也是全球影響最廣泛的一個應用。
比特幣
1.發行機制
比特幣採用的共識機制為工作量證明(POW),這也是第一個應用于區塊鏈的共識機制。比特幣區塊鏈大約每10分鐘生成一個新區塊,同時生成新區塊的節點獲得比特幣獎勵,這也是比特幣的發行過程。系統給予生成新區塊的獎勵每4年減半,最早為50個比特幣/區塊,目前為25個比特幣/區塊,在2016年7月即將再次減半為12.5個比特幣/區塊。通過這種方式,比特幣的總量會在2140年達到2100萬個的上限[1]。目前超過1700萬個比特幣已經產出。
2.軼事和漲跌
2008年11月比特幣白皮書發佈,2009年1月13日,比特幣的創世區塊被挖出,從此比特幣區塊鏈運行了起來。比特幣的發明者中本聰,雖然是個匿名人物,但是一直在密碼極客圈子中頗具影響力。可以這樣說,比特幣是極客[2]的創造。
在比特幣的發展過程中,2010年5月22日是一個值得紀念的日子。這一天,一位美國的程式師拉絲勒·豪涅茨[3](Laszlo Hanyecz)報告稱,他以10000個比特幣的價格成功購買了兩塊披薩。這次交易的意義在於,比特幣不再僅僅是極客的玩具,它第一次在現實世界獲得了價格——5000比特幣/披薩。因此,這一天也成為比特幣愛好者心目中的“比特幣披薩節”。以現在的價格計算,這兩塊披薩無疑是昂貴的[4]。後來有人採訪到拉絲勒·豪涅茨,他笑著表示:披薩味道不錯,就是有點兒貴。
此後,隨著比特幣參與人群的擴大、相關基礎設施的完善以及應用場景的豐富,比特幣價格在波動中上升,期間有幾次暴漲暴跌。2010年7月,比特幣交易平臺Mt.Gox成立,這個機構後來在比特幣的價格波動中扮演了重要角色。
2011年上半年,比特幣價格從30美分暴漲到30美元,並獲得了《時代週刊》和福布斯的關注,這標誌著比特幣開始吸引主流媒體的目光。之後是半年的熊市,到2012年年初,比特幣價格不足兩美元。
2012年11月28日,比特幣產量第一次減半。2013年2月,著名社交新聞網站紅迪網(Reddit)接受比特幣支付,成為世界上首家接受比特幣支付的網站。就比特幣在互聯網世界中的流通而言,這件事具有劃時代的意義。
2013年3月,歐盟成員國賽普勒斯發生銀行危機,開始對持有銀行存款的戶主徵收存款稅。由此,比特幣去中心化的特性受到人們的熱捧,其價格在3周內從65美元上升到266美元。世界開始正視比特幣的貨幣價值問題。之後比特幣價格降低到50美元。而隨著政府監管層面的進展[5]和媒體的不斷報導,比特幣的價格在2013年年底達到1200美元的歷史高位。隨後中國人民銀行等五部委聯合發佈《關於防範比特幣風險的通知》,比特幣價格應聲而落,在之後的震盪中,伴隨著曾經世界上最大的比特幣交易所Mt.Gox的倒閉,比特幣價格最低跌至不足200美元,目前價格約為460美元(2016年5月)。
比特幣是一個新生事物,同時在全球範圍內7×24h不間斷交易。因此,在某種程度上,它確實是一個很好的投機標的。然而,價格只是比特幣的一個方面,甚至可以說是相對不重要的一個方面。在比特幣7年來的發展中,很多專家預言了比特幣的死亡,但結果他們都錯了。比特幣系統的使用者數量和應用範圍在不斷擴大。我們可以預言,在未來還會有無數的人會預言比特幣的死亡,然而我們也可以預言他們的預言不會實現。
比特幣可以方便地匿名轉移給全世界的任何一個人[6]。比特幣是一個工具,系統本身無法限制人們使用它的方式。一個比較灰色的例子是,早期有一個叫作比特幣骰子的賭博網站,與這個網站相關的比特幣交易曾經占到全網交易數量的一半。還有一個知名的例子是“絲綢之路”(Silk Road)。絲綢之路是一個進行非法買賣的匿名黑市,並且是通過比特幣定價並完成交易的。目前該網站已被美國FBI查封,並查封了26000個比特幣,網站運營人羅斯·威廉姆斯·烏布利希(Ross William Ulbricht)也受到多項嚴重指控。被FBI查封的這批比特幣已經分3次拍賣,這也間接表現了美國官方對比特幣的態度:犯罪的是人,而不是工具。應該看到,比特幣只是一項新技術,本身不存在善惡。怎樣使用新技術取決於人的選擇,如果因為比特幣被犯罪分子利用就反對甚至禁止比特幣,那無異於因噎廢食。
各國政策
我們知道,法律的制定天然具有滯後性。作為一個新生事物,幾乎在所有國家的法律層面上,比特幣的身份都不明朗。比特幣的身份如何定義?這種新生事物是否受法律的保護?比特幣是否與現行法律存在衝突?在立法和監管層面應該採取怎樣的行動,以適應數位貨幣的發展?
雖然這些問題目前還沒有在全球範圍內達成共識,不同政府對比特幣的歸類和定義也並不相同,相關法律與政策的制定還處在探索與實驗階段,但絕大多數國家是允許比特幣的使用和交易的,只有極少數國家對比特幣進行限制甚至禁止。
1.中國
目前最為權威的監管檔是2013年12月5日中國人民銀行等五部委聯合印發的《關於防範比特幣風險的通知》(以下簡稱為《通知》)。該《通知》明確了比特幣的性質,認為比特幣不是由貨幣當局發行,不具有法償性與強制性等貨幣屬性,並不是真正意義上的貨幣。從性質上看,比特幣是一種特定的虛擬商品,不具有與貨幣等同的法律地位,不能且不應作為貨幣在市場上流通使用。但是,比特幣交易作為一種互聯網上的商品買賣行為,普通民眾在自擔風險的前提下擁有參與的自由[7]。
2.美國
早在2013年,美國便開始比特幣監管方面的研究,其中2013年11月美國參議院對比特幣進行了聽證,多名出席的政府官員表示,比特幣不是非法貨幣,儘管存在被錯誤使用的案例,但它能夠給金融系統帶來好處。美聯儲前主席伯南克在致參議院的信中表示:美聯儲一直認為在虛擬貨幣帶來洗錢和其他風險的同時,也可能帶來長期益處,特別是,這種創新可能催生出一個更快、更安全、更高效的支付系統。美聯儲現任主席耶倫則在2014年2月參議院聽證的時候表示:美聯儲也有任何權力去控制或者管理比特幣……在我看來,比特幣與美聯儲有能力管控的銀行沒有任何交集。
金融犯罪執法網路(FinCEN)將比特幣的交易服務定位為貨幣服務業務(MSB),從業主體需要符合相應的要求,如瞭解客戶(KYC)、反洗錢(AML)等[8]。
美國商品期貨委員會(CFTC)則在其首個比特幣監管法案中,將比特幣歸類為“商品”,進行比特幣相關衍生品交易服務需要符合相關規定並接受監管[9]。
由於美國法律體系的特點,各州在比特幣的監管方面具有很大的自主性。紐約州的數位貨幣許可證(BitLicense)一度吸引了全世界的關注。目前該制度已經投入使用,但是由於其較為嚴苛的規定,一些比特幣企業選擇了離開紐約[10]。而在加利福尼亞州,相對保守的關於數字貨幣的AB-1326法案最終沒有生效。新澤西州的立法者則在試圖推動對數位貨幣更友好的立法(即Digital Currency Jobs Creation Act)[11]。
對於金融服務的監管者來說,核心問題是是否應該承認像比特幣這樣的數位貨幣是一種貨幣或者具有貨幣的價值。如果承認,經營主體控制或者持有客戶的數位貨幣時,就會被要求申請相關的許可證;如果不承認,則該經營主體還會控制或持有客戶的法定貨幣(美元、歐元、人民幣等),但不會要求貨幣相關的許可證。
3.歐洲國家
2012年10月,歐洲央行發佈報告,將比特幣定位為“第三類虛擬貨幣”,不具有法償貨幣性質,因此,歐洲央行在信用、流動性、操作和法律4個方面對比特幣等數位貨幣提出了風險警告。歐洲國家對比特幣的政策基本沿襲了歐洲央行的政策基調。2014年7月,歐洲銀行業管理局(EBA)再度發出警告,要求歐盟銀行遠離比特幣等虛擬貨幣交易,直到相關監管法案出臺。2015年10月,歐洲法院裁定:將比特幣歸類於一種支付手段,類似于傳統的現金,因此比特幣交易將免於消費稅[12]。
儘管各歐盟成員國很早之前就針對數字貨幣的法律地位發佈了一系列的警告或聲明,但他們的立場並不完全統一。目前,在歐盟層面上,並沒有針對數字貨幣的專門立法,也不認為數位貨幣具有貨幣的地位。不過這種情況似乎很快會發生變化。相關動議2015年11月便已提出,2016年2月,歐盟議會的經濟和貨幣事務委員會(ECOM)發佈了一份報告,相關的監管也在跟進當中,比如最近就將數字貨幣納入了反洗錢管理的範圍之內。
歐洲的主要國家都尚未頒佈專門的法規管理數位貨幣的使用。英國政府發佈報告承認數位貨幣相關技術的潛力,英格蘭銀行(BoE)不認為數字貨幣會對英國的貨幣和金融的穩定性造成實質的威脅[13]。法國銀行管理局(ACPR)並不認為數字貨幣是一種威脅,但是規則應該明確,從事數位貨幣兌換的中間商需要獲得相應的執照[14]。德國聯邦金融監管局(BaFin)則將比特幣作為一種“記帳單位”,因此在商業交易時會涉及相應的許可問題[15]。
4.其他
2014年3月,日本政府表示,在現行的法律框架下,比特幣不具備貨幣或者債券的性質。在此前提下,日本禁止銀行和證券公司參與比特幣業務,但是不禁止個人和法人實體在交易中接受比特幣支付。根據最近日本《產經新聞》的報導,日本正在考慮給予比特幣和其他數位貨幣完整的貨幣地位[16]。
主要國家中唯一對數位貨幣明確表達過敵對態度的就是俄羅斯。2014年2月,俄羅斯總檢查辦公室宣佈,比特幣不能被個人和法人實體使用[17]。2015年早期,俄羅斯遮罩了很多比特幣相關的網站,俄羅斯官方媒體則表示,使用比特幣是違法的[18]。
不足與挑戰
比特幣自誕生以來,一直伴隨著爭議。通過本書的論述,相信讀者可以對諸如比特幣是不是龐氏騙局、比特幣有沒有價值、比特幣是不是違法等常見的問題自行做出正確的判斷。
比特幣是一個仍在發展過程中的新生事物,自然不是盡善盡美的。比如比特幣目前每個區塊的大小為1M,這就意味著,在當前的架構下,比特幣系統每秒能承載的交易數量最大只有7筆。儘管人們對比特幣應該承擔的角色的定位並不相同,但無論它承擔什麼樣的角色,作為一個結算網路、貨幣系統或是其他,一秒最多承載7筆交易都是不足的。
因此,對於比特幣擴容的問題,社區進行了曠日持久的爭論。直到今天,我們也不能說得到了大家都滿意的結果。這其實暴露了兩個方面的問題:一個是在比特幣這樣一個去中心化的系統中,避免分裂很重要,達成一致又很難;另一個是比特幣在開發層面上,很難說是去中心化的。Core小組的技術實力毫無疑問是最強的,絕大部分節點使用Core版本的比特幣用戶端。但是權力總需要制衡,我們也希望看到更多有實力的開發組的出現。
競爭幣
區塊鏈的原理是公開的,在比特幣誕生,並獲得越來越廣泛的關注和影響力之後,出現了層出不窮的比特幣的模仿者和競爭者。現在普遍將比特幣之後出現的數字貨幣統稱為競爭幣(Altcoin)。下面我們挑選一些影響力較大的競爭幣進行簡單的介紹。
(1)採用工作量證明機制的競爭幣
在採用工作量證明(POW)機制的競爭幣中,萊特幣(Litecoin)和狗狗幣(Dogecoin)是影響力較大的兩個幣種,它們採用了與比特幣不同的挖礦演算法,比特幣基於SHA-256演算法,萊特幣和狗狗幣基於scrypt演算法。基於工作量證明機制的競爭幣主要是通過縮短交易確認時間使使用者獲得更好的體驗,用更加複雜的演算法實現更好的匿名性等。
萊特幣誕生於2011年11月,是在比特幣的啟發下誕生的產物,在技術原理上與比特幣相同。萊特幣試圖改進比特幣,與比特幣相比,萊特幣有三點不同。第一,萊特幣網路每2.5分鐘就打包一個區塊,因此可以提供更快的交易確認。第二,萊特幣的總量預期為8400萬,是比特幣總量的四倍。第三,萊特幣在其工作量證明演算法中使用的演算法與比特幣不同。萊特幣是早期競爭幣中較為成功的一個,曾長期佔據數字貨幣市值第二名的位置,最高價格達到過390元/幣,2016年4月萊特幣的價格約為21元/幣。
狗狗幣誕生於2013年12月,是澳大利亞的一位品牌行銷專家與一位美國程式師合作開發的產物,狗狗幣的logo是一隻可愛的柴犬,交易確認時間為1分鐘,總量1000億,挖完後每年繼續增加50億,減半時間為兩個月。誕生後,狗狗幣以成功的行銷策略迅速聚攏了一批愛好者,人氣一度旺盛。
(2)採用權益證明機制的競爭幣
在競爭幣的探索中,還有一批競爭幣採用了新的共識機制,其中以權益證明機制(POS)為代表。簡而言之,權益證明不要求節點進行一定量的計算工作,而要求節點擁有一定數量加密貨幣的所有權,才能參與記帳的競爭。
點點幣(PPCoin)發佈於2012年8月,是最早採用權益證明機制的競爭幣。點點幣本身是工作量證明和權益證明相結合的。後續的很多競爭幣都效仿了權益證明機制。
比特股(BitShares)發佈於2014年7月,採用的是權益證明機制的一個變種:授權權益證明機制(DPoS)。憑藉宏偉的構思和新穎的概念,比特股也曾經風光一時。2015年,比特股的開發者改變貨幣總量,引發了社區的爭議。
未來幣發佈於2013年11月,採用百分之百的權益證明機制。未來幣通過社區公開認購發行,但認購總人數只有73人,這種集中發行的方式也引發了廣泛的討論。
(3)乙太坊
乙太坊(Ethereum)於2014年眾籌了30000餘個比特幣進行開發,目標是打造一個圖靈完備的智慧合約平臺。2015年8月正式發佈後,受到了社區和市場的一致熱捧,市值迅速超過了萊特幣,目前穩穩坐定第二的位置。乙太坊前期採用工作量證明機制,後期計畫採用權益證明機制。
儘管競爭幣有很多,但是從市值上講,比特幣遙遙領先,排名第二的乙太坊僅僅是比特幣的1/10左右,再往後的競爭幣的市值總和也不及比特幣的1/10[19]。從這個角度看,比特幣仍然是全世界影響最廣、接受人數最多的數位貨幣,競爭幣大多僅僅有“競爭”之名,但還不具備真正的競爭實力。不過相信未來,隨著行業的擴大及技術的演進,一定會出現新的競爭格局。
並且,從歷史的角度看,將區塊鏈技術應用於數字貨幣,還是一個嶄新的領域,這個領域還遠遠沒有達到成熟和穩定的階段。事物的演化是一個不斷試錯的過程,只有經過不斷的嘗試,我們才能看得更清楚。自由競爭是一個優勝劣汰的過程,從這個意義上講,競爭幣的實踐無論是否成功,都有其不可替代的意義。
[1] 實際的數值為2099.99999769萬,非常接近2100萬,這裡取的是近似值。
[2] 極客是美國俚語“geek”的音譯。隨著互聯網文化的興起,這個詞含有智力超群和努力的語意,又被用於形容對電腦和網路技術有狂熱興趣並投入大量時間進行鑽研的人。
[3] 同時他還是首先使用GPU 進行挖礦的礦工。
[4] 依照2016 年4 月的價格,這兩塊披薩的價格高達400 余萬美元。
[5] 比如,2013年6月27日,德國議會決定,持有比特幣一年以上的人將予以免稅,業內認為這等於變相承認了比特幣的法律地位。
[6] 嚴格地說, 比特幣並不是匿名的, 而是偽匿名, 見《Bitcoin and Cryptocurrency Technologies 》Chapter 6: Bitcoin and Anonymity,Princeton University Press 出版。
[7] 引用自http://www.gov.cn/gzdt/2013-12/05/content_2542751.htm。
[8] 引用自https://www.fincen.gov/statutes_regs/guidance/html/FIN-2013-G001.html。
[9] 引用自http://www.cftc.gov/PressRoom/PressReleases/pr7231-15。
[10] 包括Bitfinex、BitQuick、BTCGuild、Eobot、Genesis Mining、GoCoin、Kraken、LocalBitcoins、Paxful 和Poloniex。
[11] 引用自http://insidebitcoins.com/news/legislators-to-introduce-pro-bitcoin-billin-new-jersey/32904。
[12] 引用自https://en.wikipedia.org/wiki/Legality_of_bitcoin_by_country# cite_note- 63。
[13] 引用自http://www.bankofengland.co.uk/publications/Documents/quarterlybulletin/2014/qb14q3digitalcurrenciesbitcoin2.pdf。
[14] 引用自https://acpr.banque-france.fr/fileadmin/user_upload/acp/publications/registre-officiel/201401-Position-2014-P-01-de-l-ACPR.pdf。
[15] 引用自https://www.bafin.de/SharedDocs/Veroeffentlichungen/EN/Fachartikel/2014/fa_bj_1401_bitcoins_en.html。
[16] 引用自http://asia.nikkei.com/Politics-Economy/Policy-Politics/Japan-eyes-treatingbitcoins-the-same-as-real-money。
[17] 引用自http://www.theverge.com/2014/2/9/5395050/russia-bans-bitcoin。
[18] 引用自http://rt.com/news/222215-russia-bans-bitcoin-sites/。
[19] 引用自http://coinmarketcap.com/。
眾籌
何謂眾籌
眾籌(Crowdfunding)是這樣一種實踐,它通過向很多人募集資金的方式來為一個專案或者企業提供支持。現在,眾籌大多是通過互聯網仲介來進行的,是傳統金融系統之外的一種替代金融形式。眾籌有3種類型的參與者:項目發起人、項目投資人和眾籌平臺[1]。
向大眾募集資金的籌款方式古已有之。最早的“眾籌”多為募捐性質,比如僧侶向信眾募集修建寺廟的資金。1884年,為了修建美國自由女神像,新聞家約瑟夫·普利策(Joseph Pulitzer)從12.5萬人那裡募集了超過十萬美元的資金。現代意義的眾籌正是在新時代的技術條件下開的老樹新花。如今,眾籌已經成為正在蓬勃發展的金融科技(FinTech)產業[2]的重要組成部分,實現方式和覆蓋的領域都在不斷發展。
籠統地講,眾籌可以分為回報型眾籌(Rewards Crowdfunding)和股權眾籌(Equity Crowdfunding)。這是一個在快速發展中的領域,有很多種細分方式,這裡不進行詳細的介紹[3]。
回報型眾籌也稱為產品眾籌,是企業通過預售一種產品或服務的形式,來為業務的開展籌集資金。這種眾籌形式不需要借債或付出股權。股權眾籌的投資人通過付出資金支援換回公司的股份,通常進行股權眾籌的公司都處於發展的早期階段。
眾籌作為一種互聯網金融的融資模式,具有門檻低、項目多元、注重創意等特徵,相比于傳統金融管道,眾籌的效率更高。2012年,美國通過JOBS法案,為眾籌掃清了法律上的障礙。目前,眾籌正在以超高的增長率不斷發展,自身的規模與日俱增,所發揮的影響力也在不斷擴大。
據Massolution的研究報告,眾籌市場連年保持超高的增長速度:2013年,全球眾籌市場規模為61億美元,2014年達到167億美元,2015年達到344億美元。其中亞洲也是眾籌很活躍的一個區域,2014年,眾籌增長320%,達到34億美元[4]。國產動畫電影《大聖歸來》在創作過程中,就部分採用了眾籌的方式。
傳統眾籌的缺點
在傳統的眾籌服務中,需要眾籌平臺作為可信的協力廠商來運作眾籌活動。目前國外較為知名的眾籌平臺有Kickstarter、Indiegogo等,國內則有眾籌網、雲等等,京東、淘寶等巨頭企業也發起了自己的眾籌平臺。
通常,項目支持者先將資金轉到眾籌平臺帳戶,當專案籌集的資金達到目標數量時,平臺將資金轉到專案發起人帳戶;當專案籌集的資金沒有達到目標數量時,表示發起專案失敗,平臺將資金返還給投資者。
在眾籌過程中,資助者需要確認他們的錢投到了專案發起者所說的目標上,而專案發起者需要確保所籌資金到賬。眾籌平臺是這個關係的中間人:它連接兩者,促進兩者建立關係,但實際上不承擔更多的受信責任,並不能保證資助者的資金被合理的使用。不管是專案發起者,還是眾籌平臺本身,他們的行為都無法做到徹底的公開透明。眾籌平臺能夠生存的主要原因在於人們的信任。這種信任是以什麼為基礎的呢?細讀一下Kickstarter的使用條款,你會發現一句令人擔憂的話:“公司不能保證用戶提供的有關他們自己、他們的活動和專案的資料、資訊的真實性”。Indiegogo在使用條款中也有類似的表述,稱“Indiegogo對你們沒有受信責任”“Indiegogo不保證籌資將會如專案發起者承諾的那樣使用,不保證項目發起者將會提供特別優惠,不保證專案將會達到它的目標。對於項目的品質、安全、道德性和合法性,優惠及捐助額,以及在服務平臺上發佈的內容的真實性和準確性,Indiegogo也不作保證。”而且,眾籌平臺作為中心化平臺的協力廠商,本身就存在較高的信任成本。僅僅在2015年,國內就有43家眾籌平臺停止運營或者倒閉。
區塊鏈作為一種技術,不可能消滅人類的失信行為,卻可以通過本身公開透明的特性,降低眾籌過程中以及後續資金使用過程中的資訊不對稱水準,降低人們的信任成本。由於區塊鏈可程式設計的特點,未來還可以在眾籌過程中內置智慧合約,這樣就能真正做到資金的專款專用,讓投資人沒有後顧之憂。
另外,對於股權眾籌而言,股權的高效流通可以提高用戶的活躍度和股權的價值,然而這在傳統的模式下是做不到的。
眾籌是區塊鏈技術最直觀的應用領域之一。最原始直接的方式就是以類似於比特幣的數位貨幣作為支付手段。在很多已經發生的數位貨幣領域的眾籌案例中,比特幣是最受歡迎的支付手段。比如乙太坊2014年就眾籌了30000多個比特幣進行研發,當時這些比特幣的價值約合1800萬美元。
區塊鏈眾籌的解決方案
眾籌和區塊鏈都是金融科技的組成部分,比特幣初創企業用眾籌的方式募集資金,眾籌企業採用區塊鏈技術,都是必然出現的趨勢。隨著兩個領域的互相融合,會有越來越多的眾籌活動通過使用區塊鏈技術的眾籌平臺來完成。
在區塊鏈上可以發行貨幣,在不需要中央權威的情況下確定貨幣的所有權,類似地,區塊鏈還可以承載任意類型的數位資產。因此,根據每個人支付的資金的多少來發行相應的代幣[5]是在區塊鏈上實現眾籌的方式之一。理論上代幣可以對應任何眾籌的標的,可以是某個活動的入場憑證,也可以是未來某款產品或服務的使用權,甚至可以是一個定製版的“謝謝”。當然,這種代幣最常見的形式還是作為投資某公司或產品,並獲得收益的憑證。
這種代幣同時也可以視為一種在區塊鏈上發行和流通的加密股權(Crypto-Equity),一種有別于傳統股權的投資方式。這種加密股權有多種可能,可能是公司發行的合規股權,但是不選擇傳統的股票交易所,而是以區塊鏈作為“可供選擇的交易系統”。它也可能是不代表發行方的股權,但是可以作為分紅憑證,使持有者從公司的發展中獲得收益。
隨著區塊鏈技術的進一步發展,依託區塊鏈技術的眾籌必然會發展出更加豐富的實現手段。
區塊鏈眾籌的優勢
區塊鏈技術將給眾籌帶來深刻的變化,它能夠使眾籌更加容易發起、管理,也能增加眾籌市場的透明度和穩定性,我們甚至可以說,區塊鏈會給眾籌創造新的標準。
低費率:使用數位貨幣進行眾籌,可以節省交易費的支出。發起者可以拋開傳統的眾籌平臺,採用區塊鏈協議發起、管理眾籌專案,而不再需要給協力廠商平臺和傳統的貨幣系統支付手續費。
容易流通:採用發行代幣的方式進行眾籌,眾籌的支持者可以快速、簡單地將代幣贖回,也可以與其他人進行交易,兌換成其他的數位貨幣,這相對於任何專有系統,都是一個顯著的優勢。
透明的規則和審計:當投資者使用基於區塊鏈的代幣支援了你的項目,這筆支付就留下了永久不變的公開記錄,這個記錄不能被篡改,也不會因為技術原因丟失。這些資金的事後使用情況也同樣保存在一個任何人都可以獲取的公開透明的帳本中。這些特性本身就提供了傳統支付手段和事後審計所不能達到的信任水準與安全水準。
區塊鏈的優勢不僅在此,比如使用智慧合約還可以保證:如果你沒有達成預定的目標,資金可以自動退回到支持者的帳戶。這些都不需要協力廠商提供信任,不需要給協力廠商支付手續費。
區塊鏈眾籌的挑戰
區塊鏈眾籌目前面臨的挑戰主要有兩個方面。
一是進行眾籌的載體(區塊鏈)還處在發展的早期階段,區塊鏈的標準並不統一,不同區塊鏈還難以互聯互通,這種割裂會在一定程度上降低區塊鏈眾籌的優勢。同時,區塊鏈眾籌本身的標準、模式也處在探索階段。
二是現實法律的支持。各國對數位貨幣和區塊鏈的立法與監管並不同步,但立法落後於實踐的發展是一個整體特徵。現階段,我們應該積極實踐和探索,完善區塊鏈眾籌的相關標準,而最終獲得法律的支持,則是水到渠成的過程。
相關案例
下面試舉一些最新的區塊鏈技術與眾籌行業緊密結合的創新案例。
2016年4月,法國巴黎銀行證券服務部門宣佈他們已經與法國眾籌平臺SmartAngel建立了合作關係,將共同開展一項試點專案,即使用區塊鏈技術為小型公司和創業公司提供發行股份,獲得散戶投資的能力。SmartAngel的創始人Benoit Bazzocchi在他的博客中解釋,區塊鏈技術與眾籌的合併將為許多小型公司開放大門,以使它們從許多個人和專業投資者那裡獲得資金[6]。
初創企業WAVES是一個新的多功能定制代幣平臺,致力於將區塊鏈技術的優點應用到眾籌、證券交易和法定貨幣轉帳領域。WAVES創始人薩沙·伊萬諾夫(Sasha Ivanov)說:我們一開始就想要實現的使用案例之一就是將WAVES變成一種去中心化的Kickstarter——一個任何人都能為其專案籌集資金的平臺,同時投資者還會受到WAVES的以區塊鏈為基礎的信譽系統的保護,投資者可以同協力廠商進行股票交易,並且如果交易中的一些特定條件沒有滿足,投資者可以獲得自動退款。”[7]
根據全球最大的管理諮詢和技術服務供應商埃森哲(Accenture)的報告[8],區塊鏈眾籌初創企業Crowdaura已經成功躋身其2106年科技金融創新實驗室(倫敦)。
[1] 引用自https://en.wikipedia.org/wiki/Crowdfunding。
[2] 是由使用新技術使金融服務更具效率的公司組成的經濟產業,這些公司多為致力於打破現有金融體系的創業公司。
[3] 感興趣的讀者可以參考《眾籌:傳統融資模式顛覆與創新》,ISBN :978-7-111-46681-9,由機械工業出版社2014年出版,盛佳、柯斌、楊倩主編。
[4] 引用自http://reports.crowdsourcing.org/index.php?route=product/product&product_id=52。
[5] 所謂代幣,在現實中通常是指在一定範圍內使用的替代貨幣的某種憑證。在區塊鏈中則是指在特定區塊鏈上發行的記帳單位。
[6] 引用自http://www.coindesk.com/bnp-blockchain-crowdfunding/。
[7] 引用自http://themerkle.com/ultimate-custom-blockchain-tokens-platform-wavesto-launch-ico/。
[8] 引用自https://newsroom.accenture.com/news/15-innovators-selected-for-accentures-2016-fintech-innovation-lab-london.htm。
清算、結算與審計
區塊鏈技術在金融領域有廣泛的應用空間。其中在結算、清算和審計方面的應用是當前各大金融機構探索的重點。
按照傳統的定義,結算是指各經濟單位由於商品交易、勞務供應和資金調撥等經濟活動而引起的貨幣收付行為。按支付方式不同可以分為3種:現金結算、票據轉讓和轉帳結算。在當前的實踐中,結算更接近不動產清算中的產權轉移過程或者一個交易被執行後金融機構交換對價[1]的過程[2]。而清算則多是涉及銀行間的資金結算,一般為聯行業務。審計是指由專設機關依照法律對國家各級政府及金融機構、企業/事業組織的重大專案和財務收支進行事前、事後審查的獨立性經濟監督活動。
金融業是一個建立在信任的基礎上的行業。為了維護信任,伴隨著金融業的發展,出現了大量的仲介機構,包括託管機構、協力廠商支付平臺、公證人、銀行、交易所等。這些機構是傳統金融業必不可少的部分,同時也天然地帶有成本較高、效率較低、容易出現單點故障的缺點。比如,在傳統證券交易中,證券所有人發出交易指令後,指令需要依次經過證券經紀人、資產託管人、中央銀行和中央登記機構這四大步的協調,才能完成交易。整個流程效率低,成本高,另外這樣的模式也造就了強勢仲介,金融消費者的權利往往得不到保障。一般來說,從證券所有人處發出交易指令,到交易最終在登記機構得到確認,需要“T+3”天。
區塊鏈技術可以帶來的好處
(1)增加透明度,降低信任成本
如果將相關的過程放在區塊鏈上,將會大大增加機構、參與各方行為的透明度。由於區塊鏈技術開源、透明的特性,系統的參與者都能夠知曉系統的運行規則、驗證帳本內容和帳本歷史的真實性與完整性,確保交易歷史是可靠的、沒有被篡改的,這種特性相當於提高了系統的可追責性,降低了系統的信任成本。
(2)過程自動化,較少中間環節
區塊鏈能夠提升自動化水準。由於所有檔或資產都能夠以代碼或分散式記帳的形式體現,通過對區塊鏈上的資料處理程式進行設置,智慧合約及自動交易就可能在區塊鏈上實現。例如,智慧合約可以把一組金融合同條款寫入協議,保證合約的自動執行和違約償付。
在區塊鏈上,交易被確認的過程實際上就是清算、結算和審計的過程。錄入區塊鏈的資料難以撤銷且能在短時間內同步到每個資料塊中,錄入區塊鏈上的資訊實際上產生了公示的效果,因此交易的發生和所有權的確認不會產生爭議。所有的交易都即時顯示在全球共用的分散式互聯網上,區塊鏈能將這個過程的效率提升到分鐘級,從而有效降低資金成本和系統性風險。
區塊鏈能夠降低經營成本。金融機構的各個業務系統與後臺工作往往面臨很長的流程和很多的環節。現今無論是Visa、Master,還是支付寶都是中心化機構運營,貨幣轉移要通過協力廠商機構,這使得跨境交易、貨幣匯率、內部核算的時間成本過高,並給資本帶來了風險。區塊鏈能夠簡化、自動化冗長的金融服務流程,減少前臺和後臺交互,節省大量的人力與物力,這對優化金融機構的業務流程、提高金融機構的競爭力具有重要意義。西班牙銀行認為,到2022年,區塊鏈技術能幫助金融行業降低200億美元的記帳成本。
(3)分散式帳本,防禦單點故障
區塊鏈能夠有效預防故障與攻擊。傳統金融模型以交易所或銀行等金融機構為中心,一旦中心出現故障或被攻擊,就可能導致整體網路癱瘓,交易暫停。區塊鏈在點對點網路上由許多分散式節點來支撐,任何一部分出現問題都不會影響整體運作,而且每個節點都保存了區塊鏈資料副本。因此區塊鏈內置業務連續性,有著極高的可靠性、容錯性。
(4)滿足監管和審計的要求
區塊鏈能夠滿足監管和審計要求。區塊鏈上儲存的記錄具有透明性、可追蹤性等特徵。任何記錄、任何交易雙方之間的交易都是可以被追蹤和查詢的。
區塊鏈在金融機構的反洗錢(AML)及瞭解客戶(KYC)方面也有很好的應用潛力,比如德勤就提出如下的解決方案[3]。
在反洗錢領域,基於區塊鏈,各金融機構將各自收集和驗證的客戶資訊數位化後,上傳至區塊鏈。同時,金融機構為交易中的實體提供電子身份證明信息(類似私密金鑰),並將使用者位址與其電子身份證明信息聯繫起來,任何交易的發生都需要經過該私密金鑰和銀行手中的公開金鑰驗證,並由用戶位址進行,這就決定了區塊鏈上資料的可追溯性。在這種模式下,各個金融機構在區塊鏈上實現交易資訊的共用,任一交易的任何環節都不會脫離監管的視線,黑錢將無處也無法洗白,這將極大地增強反洗錢的力度。同時,通過在區塊鏈上設置一定的規則與邏輯,區塊鏈將自動驗證交易和使用者的合規性,不合規的交易及使用者將被去除,整個金融企業的合規程度將得到提高。
在瞭解客戶領域,金融機構同樣可以通過區塊鏈共用交易實體的資訊,這將減少大量的重複性工作,也將為各家機構節省大量的合規成本。同時,還將為金融機構在挖掘潛在業務機會、識別風險暴露方面提供很大幫助。
除了以上的積極作用外,區塊鏈還能夠驅動新型商業模式的誕生。一方面區塊鏈技術的特點讓它能夠實現一些在中心化模式下難以實現的商業模式;另一方面區塊鏈原始程式碼的開放和協作會極大地鼓勵全社會的創新與協作。
相關案例
R3CEV是一家專注於構建下一代全球金融服務技術的區塊鏈創業公司,它已經與全球40多家頂級銀行達成合作,研究區塊鏈在金融服務領域的應用。目前正在進行嘗試的領域包括支付、結算、貿易金融、企業債券、回購、互換和保險[4],R3CEV已經公佈了名為Corda的分散式帳本[5],著眼于研究金融機構的一些特殊的隱私要求。據巴克萊銀行透露,他們正在基於這一技術進行衍生品交易的測試[6],據報導,Corda的一個關鍵特點就是並不是所有的節點都有同等的共用帳本上資訊的許可權[7],這顯然對金融機構來說更為有效。
納斯達克副總裁兼區塊鏈主管弗雷德里克·沃斯(Fredrik Voss)表示,納斯達克的工程師團隊在兩年半以前就已經開始研究分散式帳本技術。2015年12月,納斯達克的Linq區塊鏈帳本技術被用於完成、記錄其家公司的私人證券交易[8]。沃斯表示,區塊鏈技術可以將股票清算和結算時間從3天縮短到10分鐘,並且可以使結算風險降低99%。澳洲證券交易所(ASX)在一月份發佈公告稱,他們正在認真考慮將區塊鏈應用於其清算與結算系統[9]。
全球最大的會計師事務所之一德勤已經與5家創業公司合作建立了20種可行的區塊鏈原型,這5家創業公司包括BlockCypher、Bloq、ConsenSys、Loyyal和Stellar。其中的4個原型在Consensus 2016區塊鏈會議上進行即時演示。在銀行業類別中,BlockCypher和ConsenSys兩家創業公司正在幫助德勤在區塊鏈上建立“數字銀行”,雖然銀行不會在區塊鏈上從頭開始建設,但是它們已經構建了不同的服務,Bloq致力於説明德勤推出區塊鏈保險產品,其餘兩家則專注於獎勵等特殊使用場景。
[1] 對價(Consideration)原本是英美合同法中的重要概念,其內涵是一方為換取另一方做某事的承諾而向另一方支付的金錢代價或得到該種承諾的相關承諾。
[2] 引用自https://en.wikipedia.org/wiki/Settlement_(finance)。
[3] 引用自http://www.8btc.com/535352。
[4] 引用自http://www.coindesk.com/r3cev-blockchain-regulated-businesses/。
[5] 引用自http://r3cev.com/blog/2016/4/4/introducing-r3-corda-a-distributed-ledgerdesigned-for-financial-services。
[6] 引用自http://www.cnbc.com/2016/04/19/barclays-used-blockchain-tech-to-tradederivatives.html。
[7] 引用自http://www.coindesk.com/r3-corda-demo-barclays-distributed-ledger/。
[8] 引用自http://ir.nasdaq.com/releasedetail.cfm?releaseid=948326。
[9] 引用自http://marketsmedia.com/blockchain-comes-out-of-the-lab/。
智能合約
合同(Contract)又稱契約、協議,是平等主體的自然人、法人、其他組織之間設立、變更、終止民事權利義務關係的協議[1]。本質上講,合同是當事雙方或多方在並沒有充足信任的情況下,通過文字的約定和法律的權威,對各自的權利與義務進行的約定。
制訂合同的目的就在於所簽署協定的執行。傳統合同的執行要求當事人的參與並消耗相應的時間,當違約發生時,還需要法律、機構等協力廠商的介入。可以說,人類社會投入了相當大的成本,以保證合同得到當事各方的尊重和執行。儘管如此,合同違約的事情還是屢見不鮮,時代的發展也在某種程度上放大了這個問題,因為隨著經濟全球化的發展,人們經常要與不瞭解的,甚至處在不同文化背景和法律體系下的合作夥伴簽訂合同,這時候,傳統合同(契約)的約束力就有可能出現問題。
由於區塊鏈有公開、透明、難以篡改的特點,所以將這種契約放到區塊鏈上,可以有效地降低人們的信任成本。
智慧合約是什麼
根據區塊鏈可程式設計的特點,人們可以將合同變成代碼的形式放到區塊鏈上,並在約定的條件下自動執行,這就是所謂的智慧合約。這是一個寬泛的定義,然而卻沒有更精確的定義,越來越多的人在談論智慧合約,但這個術語的精確概念還要在進一步的討論和實踐中才能更加明確。
智慧合約的概念至少可以追溯到1995年,尼克·薩博(Nick Szabo)提出了如下定義:
“一個智慧合約是一套以數位形式定義的承諾(promise),包括合約參與方可以在上面執行這些承諾的協議。”
承諾指的是合約參與方同意的(經常是相互的)權利和義務,這些承諾定義了合約的本質與目的。數位形式意味著合約寫入電腦可讀的代碼中。智慧合約確立的權利和義務是由一台電腦或者電腦網路執行的。我們可以簡單地認為,智慧合約就是一種“程式”,只是這種“程式”處理的是人與人之間的權利和義務的約定。
這些理念出現在區塊鏈之前,因此在區塊鏈的語境下,可能會顯得不夠明確,易生混淆。而將區塊鏈看作實現智慧合約的平臺的話,具體概念的區分和實現方式還處在起步階段。
智慧合約是一段涉及資產與交易的代碼,只有將它放到區塊鏈上,才能有效防止“盜版”和“篡改”,因此,在區塊鏈出現以前,智慧合約沒有大的發展,隨著區塊鏈技術的發展成熟,智慧合約將大有用武之地。
智慧合約是一種新的參與者之間達成共識的方式。它的執行不依賴任何組織和個人,它是自我執行的,違約甚至不可能發生。智慧合約將成為全球經濟的基本構建,任何人都可以使用這種方式參與經濟活動,而不需要事前審查和承擔高昂的預付成本。在傳統的合同制訂中,人們必須選擇信任的人和機構,而智慧合約則從許多經濟交易中,移除了對協力廠商信任的必要。
比特幣區塊鏈雖然也可以完成一些程式設計,但是由於比特幣語言並不是圖靈完備[2]的,所以對智慧合約的支持非常有限。一直都有人在開發圖靈完備的區塊鏈平臺,例如2015年發佈的乙太坊就吸引了很多人的關注。無論如何,智慧合約這種新的契約制訂和執行的方式,會與區塊鏈結合在一起並得到發展。
智慧合約目前面臨的問題
雖然人們對智慧合約充滿期待,但是在智慧合約發展的路徑上,也還存在一些現實的阻礙。
1)目前基於區塊鏈的資產數位化還遠不夠。從內部依賴條件講,智慧合約的應用要依賴于基於區塊鏈的資產數位化,顯然,基於區塊鏈的資產數位化還遠遠沒有完成,目前有的只是零星的嘗試而已。因此,巧婦難為無米之炊,智慧合約發展的內部依賴條件尚未達成。
2)智慧合約是在去中心化的系統中自動執行的。於是,如果僅僅智慧合約的載體是去中心化的,實際上遠遠不夠。如果執行合同的觸發條件不是去中心化的、有效的共識機制,那麼觸發條件就很容易出現不一致,進一步則會極大地降低智慧合約作為一個去中心化系統的有效性。因此,智慧合約的發展,還必須依賴事件或事實發生的去中心化,比如去中心化預言機的出現。
通過以上分析,我們可以知道,智慧合約的廣泛應用遠不是實現核心架構就能夠達成的,而是需要一個協作體系的建立與成熟。因此,智慧合約雖然是區塊鏈非常火熱的一個方向,但離大規模落地還有很長的路要走。
相關案例
目前關於智慧合約的研究和實踐主要集中在基礎設施的完善上。
乙太坊是用圖靈完備的電腦語言完成的區塊鏈系統,目前被很多人看作是新一代的智慧合約開發平臺[3]。
RootStock是一個建立在比特幣區塊鏈上的智慧合約分散式平臺。它試圖以側鏈的方式完成智慧合約的搭載,從而為核心的比特幣網路增加價值和功能。它將作為比特幣的一個側鏈,通過雙向錨定的方式與比特幣主鏈互聯互通[4]。
Augur是一個2015年成立的基於乙太坊區塊鏈的去中心化預測市場,目前已進入Beta測試階段[5]。
[1] 參見《中華人民共和國合同法》。
[2] 圖靈完備是指一個能計算出每個圖靈可計算函數(Turing-Computable Function)的計算系統。
[3] 引用自https://blog.ethereum.org/。
[4] 引用自http://www.rootstock.io/blog/sidechains-drivechains-and-rsk-2-waypeg-design。
[5] 引用自http://www.coindesk.com/augur-beta/。
版權與許可
版權和盜版
自互聯網誕生以來,關於版權保護的相關爭論就是經久不息的熱點。一方面,我們看到,由於平等、公開、分享、協作的特點,互聯網突破了地域的限制,極大地促進了知識的傳播。人們從中得到的益處是不可估算的。另一方面,版權保護一直是互聯網的痛點之一,儘管各國政府都在採取不同的措施,儘量完善互聯網上的版權保護機制,但是盜版依然每時每刻都在發生,甚至一個作品被盜版的數量都可以成為它優秀程度的佐證,比如,現在大熱的美劇《權力的遊戲》就一直穩坐盜版播放榜單的第一位。
在互聯網的環境中出生和成長的年輕人,只要他們想,幾乎可以從互聯網上免費獲得任何想要的東西。因此總是有人不厭其煩地說,盜版之所以盛行,是因為人們天生不願意合法地為互聯網上的資訊付費,哪怕是品質很高的東西。從表面看來,這種說法似乎是事實,但是我們認為,這種對人性的悲觀是片面的。在互聯網上,複製甚至篡改並傳播一則資訊的成本,幾乎為零。互聯網缺乏內生的針對有價值的資訊的保護機制,這一點是事實。然而,這並不是互聯網的原罪,甚至說,這本來就是人類社會不完美的常態。在互聯網誕生以前,我們轉述傳播乃至篡改別人的觀點,又何嘗有什麼內生的代價要付出?在人類社會的演化過程中,博弈出了現有的版權保護結構,它煩瑣、低效、有局限,有存在的必要,但是並不完美。
試想一下,10年之前,作為一個在互聯網中生存的個體,如果想為一本書或者一首歌支付相應的費用,他能怎麼辦,只能去線下買一本實體書或者一張實體專輯——是不是感覺到了哪裡不對?這根本就是與互聯網的大潮背道而馳。鞋子抱怨腳在長大,本身就是怪異的事情。我們不是為盜版辯護,我們只是說,互聯網發展的前期,盜版之所以氾濫,很大一部分原因恰恰是相關的傳統行業沒有與時俱進的結果。現在,我們看到,Netflix主打收費的正版視頻播放服務,Amazon在賣正版電子書,國內也有很多網站提供了收費的正版電子內容的服務,他們都在市場上獲得了極大的成功。可見,人們並不是不願意為正版內容支付合理的費用。
然而,這還不完美。
互聯網上的盜版現象實際上也揭示了一些現行版權制度的不足之處。比如,在不同的國家和地區,版權登記和獲取的方式、程式都有不同,版權的有效性也多種多樣,而且版權保護的有效範圍也常常被分割在不同的地區。宏觀來看,第一,不同的國家和地區對版權保護的規定和做法並不相同,因此版權保護常常因為地域不同而發生水土不服的情況。第二,不論具體形式為何,版權保護的規則往往是比較固化和拘泥的,不大可能針對具體情況做靈活的針對性變化。第三,絕大多數國家規定,當作品以有形的形式出現時,自動獲得版權,但是電子內容是很難有形的,因此當創作進入電子內容的範疇時,要獲取版權證明往往更加困難。
區塊鏈的優勢
區塊鏈可以提供更好的解決方案,區塊鏈不僅可以記錄過往和現在發生的交易,如果願意的話,它還可以用來登記和轉移版權註冊,無論是數位的還是實體的作品。
在區塊鏈上進行版權註冊和證明有以下好處。
(1)突破地域限制
區塊鏈可以作為一個去中心化的版權登記平臺。在這個平臺上,沒有地域的限制,版權資訊將以數學的形式,展現在世界上的所有人面前,無可爭議。著作權人將不需要在不同的司法管轄區做重複煩瑣的版權認證,這無疑可以極大地降低保護智慧財產權、打擊盜版的成本。而且,傳統的版權登記模式是可以出現單點故障的,如果記錄丟失了、被改動了或者損毀了,版權所有者想要申明自己的權益就會出現困難。然而,基於區塊鏈去中心化的本質,每一個節點都有版權資訊的備份。因此這種方式會更加安全。
(2)更低的成本
隨著互聯網的發展,尤其是社交網路的繁榮,大量有所有權的資訊被發佈在互聯網上,而這些資訊在傳統的版權模式下,對其進行版權保護的經濟成本和時間成本往往過於高昂。若使用區塊鏈,那麼你可以為這些創作進行隨時隨地的版權證明,即證明一則資訊是在何時何地被誰創造出來的。並且一旦在區塊鏈上創建了記錄,這些證明就將永遠存在。你可以為一篇博客做版權證明、為在社交媒體上分享的照片提供版權證明、為商業計畫提供版權證明,幾乎可以為任何你認為必要的東西提供廉價可靠的版權證明。
(3)更靈活的許可條件
利用區塊鏈進行版權註冊和保護,也許會徹底改變目前全球智慧財產權保護的格局,版權的許可、轉讓可能會誕生更加靈活多樣的形式。比如,現在的殺毒軟體,針對個人使用者、家庭用戶、企業用戶常會有不同的授權條款。而在區塊鏈上,將智慧財產權的消費與智慧合約結合起來,就可以產生更加靈活的自動化授權合約,更好地滿足買賣雙方的實際需要,達到多方共贏的目的。
當智慧財產權登記的成本接近零時,則有可能誕生一個空前龐大的微智慧財產權交易市場。資訊有價值,價值有歸屬,在區塊鏈提供版權證明的大背景下,真的有可能實現盜版銷聲匿跡、天下無賊的理想。
法律總是滯後於技術的發展,但是法律也總是會適應技術的發展,我們相信,在不久的將來,區塊鏈上的資料指紋會和生物指紋一樣,具有同等的法律效力。
相關案例
位於美國的創業公司Blockai致力於幫助藝術家、攝影師和其他藝術工作者在區塊鏈上註冊作品版權,防止侵權行為。他們提出了優於費時費錢的正式註冊的公共資料庫註冊方式,也就是在區塊鏈上註冊版權來證明著作權[1]。在Blockai平臺上,你只需要做一個簡單的滑鼠拖放動作,就可以進行作品註冊,並獲得對應的版權證書。如果之後有人不經允許複製你的作品,你就可以給他發送一份版權證書來警告他。
Colu[2]是一家以色列的區塊鏈創業公司,他們上線了新的平臺,攜手Revelator簡化音樂版權管理,Revelator是一個基於雲技術的資訊提供商,為獨立音樂公司提供銷售和市場情報。在音樂的數位化分佈中,仍然存在著複雜的權利歸屬和使用權鏈。Colu的產品將為數位資產的發行、分配提供安全管道,包括音樂作品的上市和註冊,並能夠為所有市場參與者帶來更高的透明度與效率。
Mine公司的Mediachain專案正在使用區塊鏈建立全球智慧財產權資料庫,它是一個新推出的中繼資料協定,允許數位創意者在他們的創作作品上附加資訊,並在資料上添加時間戳記,進而傳送到比特幣區塊鏈,然後存儲在分散式檔案系統中,這將是一個整合了區塊鏈技術特徵的分散式檔案系統[3]。
[1] 引用自https://blockai.com/。
[2] 引用自https://www.colu.co/。
[3] 引用自http://www.coindesk.com/mediachain-blockchain-tech-next-spotify/。
公證與記錄
公證是公證機構根據自然人、法人或者其他組織的申請,依照法定程式對民事法律行為、有法律意義的事實和文書的真實性、合法性予以證明的活動。簡單地說,公證就是由權力機關對一些事物提供保證和證明,這些事物可以包括檔、發明、交易、合同、身份等內容。
現有的公證組織形式,要麼是公證機關統一行使公證職能,要麼是公證機關與政府或者法院並行,總之是要靠一個專門的機構來提供信用背書。因此,公證其實是在信任缺失的情況下,依靠協力廠商提供信任。由於傳統的公證需要較為高昂的制度成本、時間成本、經濟成本和人力成本,導致進行公證的門檻較高。在實踐中我們也看到,我國自20世紀80年代恢復公證制度以來,公證活動主要集中在合同、房產、遺囑、聲明、贈予等涉及較大經濟價值的專案上。
本質上,公證是向公眾證明某種東西、關係或狀態在某時某刻的真實存在。在今天這個數位時代,傳統的公證方式不免顯得煩瑣和低效。現把概念放開一點,在生活中遇到的各種證明,如身份證、學位證、結婚證、駕駛證等,其目的也是向公眾提供沒有爭議的相關證明,因此也是一種廣義上的公證。
我們可以看到,把這些記錄放到區塊鏈上,將為這些過程和相關行業帶來顛覆性的改變。區塊鏈本身作為一個達成共識的鏈條,任何登記在區塊鏈上的有價值資訊都是公開透明的,並且相對于傳統的方式,記錄的安全性和有效性都得到了極大的提升。因此,公證[1]服務——為一個檔在特定時間點的存在提供公開的“存在性證明”——是區塊鏈應用迅速發展的領域之一。區塊鏈公證服務可以為任何檔生成不可改變的、準確的證明,證明其存在性和完整性。相對于傳統的公證方式,區塊鏈公證的權威性、可靠性是數學保證的,它可以突破地理範圍和行政區劃的限制,成為一種真正全球通行的存在證明,並且,相對于傳統的公證方式,區塊鏈公證使用的時間更短,支付的費用更低。區塊鏈的時間戳記系統基本上可以扮演公證人的角色,只是這種系統更為經濟和可信。
由於區塊鏈的概念還很新,目前還沒有將在區塊鏈上使用的存在性證明作為法庭證據提交的案例。因此可以說,利用區塊鏈技術進行公證服務的法律效力,目前還沒有得到現行法律體系的認可,但是我們認為,區塊鏈提供的信任是基於數學和邏輯的,在未來必然會得到承認。這種新型的公證方式也會得到快速的發展。
2015年10月,美國有一對新人選擇通過區塊鏈來公證婚姻,這對新人是大衛(David)和喬伊絲(Joyce),他們提交記錄到比特幣區塊鏈,將誓言寫入文本注釋欄位,並嵌入當時價值200美元的一筆比特幣交易中,這條記錄將永久地記錄在區塊鏈帳本中。當然,作為第一個吃螃蟹的人,他們的嘗試未免顯得粗糙,不管在哪個國家,區塊鏈婚姻登記也遠不到獲得法律認可的地步。不過我們可以想像,區塊鏈婚姻登記作為區塊鏈公共登記的一個嘗試,如果以後能得到推廣和認可,至少能帶來以下好處:更加透明、公平、自由,一些隱瞞和重婚的現象將無所遁形,使用智慧合約還可以對婚姻生活中的房產、子女教育等諸多事宜做更多有創造性的約定。
相關案例
Stampery是一家想用比特幣的區塊鏈代替公證人的創業公司。你可以用Stampery證明任何檔。它的創始人表示:“你可以為任何檔生成不可改變的、準確的證明,證明其存在性和完整性。世界上的任何人都可以不花一分錢自動證明某個檔是在何時創建的且之後再未改動過,相比於檔公證,Stampery的優勢在於你不必帶著紙質檔親自去公證人那裡,可節省不少時間。我們不是受信的證明人。這意味著即使Stampery不復存在,我們生成的每個證明依然能夠被驗證,我們沒有會被駭客攻擊的集中化資料庫。由於法律證明是儲存在區塊鏈上的,任何人都可以檢索這些證明。這是Stampery與其他電子公證服務的不同之處[2]。”
Uproov是應用在一款智慧手機上的APP[3],它將探索區塊鏈時間戳記的潛力,允許任何人證明實質上的任何東西,而不需要“受信方”的參與。簽名是寫在區塊鏈上的,而區塊鏈過去的部分是不能以任何方式進行修改的。如果檔被修改了,這個雜湊值就無法匹配,相關操作行為也將被系統檢測到。
公證通(Factom)是一家利用區塊鏈技術革新商業社會和政府部門的資料管理、記錄的初創公司[4]。
對學校和公司來說,驗證申請者的文憑資訊是否造假是非常耗時耗力的。因此有些學校想通過使用區塊鏈技術來改變這一現狀。霍伯頓學校[5]和賽普勒斯的尼古西亞大學都在使用區塊鏈記錄學生的學歷資訊。區塊鏈的去中心化、可驗證的防篡改存儲系統可以有效地解決學歷造假的問題。
[1] 這裡所說的公證更偏向一種存在性證明。
[2] 引用自http://techcrunch.com/2015/09/22/stampery-leverages-the-blockchainto-certify-all-your-documents/。
[3] 引用自https://uproov.com/。
[4] 引用自https://www.factom.com/。
[5] 引用自https://www.holbertonschool.com/pres。
更多
實際上,作為一種可以傳輸價值的協議,區塊鏈可以應用於一切與價值相關的領域。前面小節所舉的例子僅僅是冰山一角。區塊鏈能夠應用於各行各業,在未來,將成為我們賴以生存的數字世界的重要支柱。下面,我們對區塊鏈行業在其他領域的探索和實踐做一些簡單的介紹。
在保險行業,業內的巨頭公司對區塊鏈技術的嘗試層出不窮,埃森哲常務董事Abizer Rangwala大膽預測稱“未來幾年內,區塊鏈技術將成為保險業生態系統中的主流技術。”
美國著名的保險公司USAA一直看好區塊鏈技術的未來,它曾經參與了Coinbaser的7500萬美元的融資項目,2016年3月,USAA擴大了其業務與區塊鏈技術的融合,其帳戶持有人可以通過USAA.com介面接入Coinbase平臺查看帳戶餘額[1]。
2015年11月,保險巨頭勞合社(Lloyd’s)表示,該公司計畫使用區塊鏈技術提高資料存取效率,並減少有關行政文書工作的成本,勞合社運營主管Shirine Khoury-Haq在聲明中表示,對於保險市場而言,區塊鏈可能會增加風險記錄能力、透明度、準確度以及處理速度[2]。
德國保險業領軍企業安聯旗下的法國分公司,與區塊鏈創業公司Everledger合作開發了一個區塊鏈保險概念產品,該專案的總經理Sylvain Theveniaud在最近的一次採訪中說,安聯看到了區塊鏈技術的潛力[3]。
人壽保險與金融服務巨頭公司約翰·漢考克(John Hancock)已開始了多個區塊鏈概念證明實驗。約翰·漢考克公司的創新負責人Ace Moghimi表示,他的團隊正致力於幾個區塊鏈應用,旨在使公司更透明、更有效[4]。
SafeShare為Uber型服務提供區塊鏈即時保險服務。SafeShare是英國倫敦的一家新型保險解決方案提供商,專門針對基於“共用型經濟”的新型創業公司,為它們提供基於區塊鏈的即時保險解決方案。SafeShare提供的區塊鏈保險解決方案是由英國保險巨頭勞合社承保,開通了24小時索賠熱線。除了提供即時、便捷的保險解決方案以外,區塊鏈技術也有助於保險公司降低成本[5]。
全球領先的跨國金融服務和諮詢公司埃森哲推出了區塊鏈諮詢服務來説明對金融服務業有需求的公司。埃森哲與布萊斯·馬斯特斯(Blythe Masters)的初創公司數位資產控股(Digital Asset Holdings)進行了合作,新公司將與銀行等機構利用分散式帳本技術提升安全性、工作效率、客戶服務水準,以及“獲得新收入的機會”。
在資料安全方面,甲骨文(Oracle)的高管Subramanian Iyer表示:各大公司通常會通過建立防火牆的方式來保護資料安全。但同時,這意味著,資料對於那些能夠找到入口進入防火牆內的人來說,相當脆弱。然而,若使用區塊鏈技術,除非所有的參與者達成一致,否則資料一旦被寫入區塊鏈就很難再被更改。這種方式完全顛覆了傳統的防火牆模式,幾乎可以將對資料動手腳的概率降低為零——從這個角度看,區塊鏈對於不管是哪一個行業的資料安全來說,都有不可估量的價值[6]。
全球知名的資料存儲和安全解決方案供應商Acronis,在其合作夥伴峰會上發佈了基於區塊鏈的資料保護戰略倡議,希望整合現有的資料安全解決方案和區塊鏈技術優勢,變革現有系統。Acronis表示公司的技術探索會開啟資料保護新紀元[7]。
電子商務方面,最近,有一個被稱為“去中心化淘寶”的開源項目OpenBazaar[8]發佈了beta版本。OpenBazaar是一個去中心化商品交易市場,使用比特幣進行交易,既沒有費用,也不用擔心受到審查。因此相對于易趣與亞馬遜這些提供中心化服務的電子商務平臺,通過OpenBazaar不需要支付高額費用,不需要擔心平臺收集個人資訊致使個人資訊洩露或被轉賣。
醫療方面,醫院是資訊存儲量最大的地方,也是敏感資訊最集中的地方,因此更要做好對資訊的保護。然而,絕大多數醫院都無法真正做到這點,因而還必須依靠法律的強制保護。區塊鏈技術可以為患者的隱私保護提供可靠的解決方案,在安全隱私的前提下,還能做到公開透明,未來患者不僅不用擔心自己的隱私被洩露,還能掌握自己的病歷記錄,醫生在得到患者授權後,才能查看患者的醫療資訊。使用區塊鏈技術,醫院、醫生、患者、保險公司等等相關各方都可以成為整個鏈條的一部分,從而降低人們之間的信任成本,減少醫患糾紛和欺詐行為。將資料記錄在區塊鏈上,並使用相關的數位簽章技術,只有當獲得相關各方的許可的情況下,每個人的健康資訊和醫療資料才能夠被讀取。這樣,可以更好地規範患者健康資料的管理。
美國企業研究所(American Enterprise Institute)的Scott Gottlieb博士在報告中[9],提出了一些關於醫療領域的解決方案,其中包含增加病人的保險選擇以及一些其他的創新,報告認為區塊鏈的使用是為了建設下一代的基礎設施。
區塊鏈技術機構Gem 2016年4月正式發佈Gem Health專案,該項目旨在是通過新興科技促進醫療領域間的合作。作為聲明的一部分,Gem公開了首個合作夥伴飛利浦,飛利浦會協助搭建一個私人乙太坊區塊鏈,來開發企業醫療的應用程式[10]。
資料安全初創企業Guardtime宣佈與愛沙尼亞電子衛生基金會合作(Estonia eHealth Foundation),利用區塊鏈技術保證病人的醫療記錄安全。該基金整合Guardtime的無鑰簽名區塊鏈技術(Keyless Signature Infrastructure,KSI)和基金會Oracle資料引擎,以實現即時查看病人的病例[11]。
在政府層面上,政府部門的低效率會導致資訊的交換被延遲,從而對公共服務造成消極影響。如果將各部門的資訊資料與區塊鏈聯繫起來,當政府部門與公民同意資料共用的時候,就可以確保資料被即時發佈。
2016年1月19日,英國政府發佈了一份關於區塊鏈技術的重要報告,這份報告名為《分散式帳本技術:超越區塊鏈》,並提到英國聯邦政府正在探索類似于區塊鏈技術的分散式帳本技術,並且分析了區塊鏈應用于傳統金融行業的潛力[12]。
波蘭政府數位事業部(Poland’s Ministry of Digital Affairs)考慮用比特幣和區塊鏈技術進一步推進政府服務數位化進程。該機構成立於2015年,是致力於“推動政府數位化發展進程”的政府機關[13]。
英國皇家屬地馬恩島的經濟發展部門率先採用了基於區塊鏈技術的公共服務系統,他們已經開始應用區塊鏈註冊系統,創建積極採用線上分散式帳本系統的公司名錄。該系統開發者之一稱不久後英國將複製該模型[14]。
阿聯酋副總統兼總理兼迪拜酋長宣佈成立一個研究委員會,專門研究區塊鏈技術。該區塊鏈委員會將由32名委員構成,包括政府機構,如智慧迪拜局、智慧迪拜政府、迪拜多種商品中心(DMCC)、國際公司(思科、IBM、SAP、微軟),以及區塊鏈初創公司(BitOasis、Kraken與YellowPay)[15]。
在能源領域,國際上,微型發電正在成為發電行業的重大趨勢。新的能源項目,如家用發電和社區太陽能,正在填補電力供應的空缺。隨著微型發電加入傳統發電供應商,它推動建立了一種能源市場。智慧型儀器表可以在區塊鏈上對生產和消費的電力進行註冊,允許消費各地過剩的能源,並向初始的能源生產者提供積分或貨幣,當他們需要額外的電力時,這些積分可以被贖回。
布魯克林微電網開發商LO3能源和區塊鏈技術初創企業ConsenSys共同開發了TransActive Grid專案,用戶可以通過區塊鏈技術點對點地進行剩餘能源交易,參與的家庭都有連接到區塊鏈的智慧型儀器表,可追蹤記錄家庭使用的電量以及管理鄰居之間的電力交易。
RWE是在全球擁有2億消費者的德國電力公司,主要運營煤炭能源和核電基礎設施。他們建立內部工作小組,以評估區塊鏈技術怎樣幫助公司減少能源傳輸成本。RWE與基於乙太坊區塊鏈的初創企業Slock.It合作,在最近一次訪談中,RWE區塊鏈團隊領導人Carsten Stocker談到了一項可行的應用:可以自動識別用戶和收費且使用基於區塊鏈智慧合約的充電站[16]。
關於區塊鏈的應用場景,我們的列舉必然是不完全的。不過最重要的是,我們需要看到區塊鏈未來有無限的可能。彙集更多人的聰明才智,才能使區塊鏈得到更快的發展。新時代的大幕已經緩緩拉開,期待著更多的角色走上前臺。人們有理由期待在區塊鏈技術範式下,又一次“大航海時代”的來臨,人類這次也許將收穫更多。
[1] 引用自http://www.coindesk.com/usaa-expands-bitcoin-all-members/。
[2] 引用自http://www.coindesk.com/lloyds-sees-blockchains-potential-insurancemarkets/。
[3] 引用自http://www.coindesk.com/allianz-france-exploring-use-cases-with-blockchainstartup/。
[4] 引用自http://www.coindesk.com/insurance-company-john-hancock-begins-multipleblockchain-proof-concepts/。
[5] 引用自http://www.newsbtc.com/2016/03/19/safeshare-insurance-on-blockchain/。
[6] 引用自http://www.oracle.com/us/corporate/profit/big-ideas/041316-siyer-2982371.html#userconsent#。
[7] 引用自https://itbrief.co.nz/story/acronis-launches-revolutionary-blockchaintechnology-initiative/。
[8] 引用自https://openbazaar.org/。
[9] 引用自https://www.aei.org/wp-content/uploads/2016/05/House-Testimony-5-11-16-Scott-Gottlieb.pdf。
[10] 引用自http://www.coindesk.com/gem-philips-blockchain-healthcare/。
[11] 引用自http://www.coindesk.com/blockchain-startup-aims-to-secure-1-millionestonian-health-records/。
[12] 引用自https://zh.scribd.com/doc/295987915/Distributed-Ledger-Technologybeyond-block-chain。
[13] 引用自http://www.coindesk.com/polish-ministry-digital-affairs-blockchain/。
[14] 引用自http://www.ukauthority.com/news/6170/isle-of-man-government-takes-blockchainlead。
[15] 引用自http://www.coindesk.com/dubai-government-backs-expansive-blockchain-techresearch-effort/。
[16] 引用自http://www.coindesk.com/german-utility-company-turns-to-blockchainamid-shifting-energy-landscape/。
第4章 區塊鏈技術原理
比特幣作為區塊鏈技術的第一個應用,成功地向人們展示了這一技術的偉大。隨著區塊鏈技術的發展,區塊鏈本身的形式也開始向多樣化演進。不過雖然不同種類的區塊鏈技術細節各有不同,但核心的理念卻是相通的。在這裡,將重點以比特幣區塊鏈為例來講述區塊鏈的技術原理。
比特幣區塊鏈大量採用了現有的技術。公開金鑰密碼學、P2P網路、時間戳記伺服器、工作量證明,這些技術無一不是人類智慧的結晶。比特幣正是站在這些巨人的肩膀上,才得以發展壯大。要瞭解區塊鏈的技術細節,就必須深入理解這些技術在比特幣區塊鏈中是如何工作的。
密碼學基礎
密碼學概述
密碼學起源於數千年以前,最早可追溯到古巴比倫時代,作為保護資訊傳輸的技術手段,最早應用於軍事、外交和情報領域。在20世紀70年代之前,密碼學大都屬於政府的應用範疇。有兩件事的發生將密碼學帶入了公眾領域:標準加密系統——資料加密標準(Data Encryption Standard,DES)的誕生和公開金鑰加密演算法(也稱為非對稱加密演算法)的發明[1]。
密碼學伴隨著密碼分析學的發展而發展。按演算法思想的革新可劃分為3大階段:古典密碼學、現代密碼學和公開金鑰密碼學。1949年以前的密碼學統稱為古典密碼學,它的安全基於加密演算法的保密性。1949年,香農(Shannon)發表了《保密系統的通信理論》一文,文中的資訊理論為對稱密碼系統建立了理論基礎,密碼學開始成為一門科學。基於金鑰安全而非加密演算法安全的理論與技術變革,成為密碼學發展的一個新的里程碑,標誌著現代密碼學時代的來臨。1976年,Whitfield Diffie和Martin Hellman首次提出了基於數學難題的公開金鑰密碼機制;1978年,RSA公開金鑰密碼機制出現,它成為公開金鑰密碼的傑出代表並成為事實標準,這在密碼學史上創造了又一個新的里程碑。20世紀90年代,公開金鑰密碼學進一步發展,基於橢圓曲線乘法、素數冪等數學函數的公開金鑰演算法誕生,這使得數位金鑰和不可偽造的數位簽章成為可能。
如今密碼學相關技術已經深入各個領域,它們的理論共識都遵循由奧古斯特·柯克霍夫在19世紀提出的“柯克霍夫原則”——密碼系統應該就算被所有人知道其運作步驟,它仍然是安全的。即演算法是公開的,唯一需要保護的是金鑰。密碼學演算法的安全性被攻破有兩個可能:一是演算法本身的漏洞,不需要金鑰即可以破解演算法;二是在可接受的時間範圍內暴力破解。
1.古典密碼學
古典密碼學歷史悠久,時間跨越了兩三千年。它主要應用於軍事、外交和情報領域。它的安全性是基於演算法的,類似於目前經常用的編碼演算法。古典密碼編碼演算法歸根結底主要有兩種:置換和代換。
把明文字串中的字母重新排列,字母本身不變,位置卻改變了,由此編成的密碼稱為置換密碼。最簡單的置換密碼是把明文中的字母倒序排列,然後截成固定長度的字母組作為密文。代換密碼則是將明文中的字元替代成其他字元,比如古羅馬凱撒密碼是將明文中的所有字母都在字母表上向後(或向前)按照一個固定數目進行偏移,得到的新資料就是密文。位元數就是凱撒密碼加密和解密的金鑰。
古典密碼學大都比較簡單,主要採用手工或機械操作來實現加解密,而演算法是基於字串的,由於古典密碼學的安全性主要是依賴於演算法的保密性,所以整體安全性不高。
2.現代密碼學
1949年以香農的資訊理論誕生為標誌,密碼學的發展進入了第二個階段。現代電腦科學與資訊技術的蓬勃發展,使得基於複雜計算的密碼學成為可能。同時密碼學首次成為一門科學。加密演算法開始時是基於金鑰來進行資訊的加解密,通過金鑰加密明文並主要以二進位的形式進行傳輸。通常情況下,金鑰越長,代表著密文被破解的難度越大。由於加密演算法和解密演算法都是同一模式,同時只用一把金鑰保證加密資料的安全,因此這種加密演算法也叫作“對稱加密演算法”。
對稱加密有一個最大的弱點:甲方必須把金鑰告訴乙方,否則乙方無法解密。而保存和傳遞金鑰,就成了最頭疼的問題。
這個時間段是密碼學開始蓬勃發展的一個開端,後期發展出來的公開金鑰密碼學、雜湊演算法、其實屬於現代密碼學的範疇。
3.公開金鑰密碼學
相比1976年以前的密碼學思想,公開金鑰密碼學可以在不直接傳遞金鑰的情況下,完成密文的解密。這個演算法機制啟發了其他科學家,人們認識到,加密和解密可以使用不同的規則,只要這兩種規則之間存在某種對應關係即可,這樣就避免了直接傳遞金鑰。基於這種公開金鑰機制的思想,開始出現了一系列非對稱加密演算法。
下圖比較說明了非對稱加密演算法與對稱加密演算法的區別。
非對稱加密需要兩個(一對)金鑰:公開金鑰(Publickey)和私有金鑰(Privatekey),用公開金鑰對資料進行加密後,只有對應的私密金鑰才能解密;反之,如果私密金鑰用於加密,則只有對應的公開金鑰才能解密。通信雙方無須交換金鑰,就可以建立保密通信。
公開金鑰密碼體制根據其所依據的數學難題一般分為3類:大整數分解問題類、離散對數問題類、橢圓曲線類[2]。
4.雜湊演算法
雜湊函數(Hash Function)也稱為散列函數,是能計算出一個數位消息所對應的、長度固定的字串(又稱消息摘要)的演算法。給定一個輸入x,它會算出相應固定長度的輸出H(x)。雜湊函數的主要特徵是:
1)輸入x可以是任意長度的字串。
2)輸出結果,即H(x)的長度是固定的。
3)計算H(x)的過程是高效的(對於長度為n的字串x,計算出H(x)的時間複雜度應為O(n)),同時H(x)要相對易於計算,可通過硬體和軟體實現。
而對於比特幣加密系統使用的雜湊函數,它需要額外具備以下的性質:
1)免碰撞,即不會出現輸入x≠y但是H(x)=H(y)的情況,也就是強抗衝突性。
2)隱匿性,也就是說,對於一個給定的輸出結果H(x),想要逆推出輸入x,在計算上是不可能的。
3)不存在比窮舉更好的方法,以使雜湊結果H(x)落在特定的範圍。
區塊鏈中的密碼學
在比特幣區塊鏈的整個體系中,大量使用了公開的加密演算法,比如Merkle Tree雜湊樹演算法、橢圓曲線演算法、SHA-256雜湊演算法、對稱加密演算法以及一些編碼演算法,如Base58編碼、VarInt編碼、DER編碼等。下面我們來瞭解其中的幾個核心演算法。
1.橢圓曲線演算法
橢圓曲線在密碼學中的使用是在1985年由Neal Koblitz和Victor Miller分別獨立提出的。它的主要優勢是:在某些情況下,它比其他的演算法(比如RSA)使用更小的金鑰,但提供相當的或更高等級的安全性。
比特幣使用了基於secp256k1橢圓曲線數學的公開金鑰密碼學演算法。它包含私密金鑰與公開金鑰,交易發出方用私密金鑰進行簽名,並將簽名與原始資料發送給整個比特幣網路,網路中的所有節點則用公開金鑰對交易有效性進行驗證。簽名演算法保證了交易是由擁有對應私密金鑰的人所發出的。
資料簽名演算法的核心在於證明資料是簽名者發出的、不可抵賴的,而不是待簽名資料本身的保密性。
2.SHA-256雜湊演算法
SHA是安全散列演算法(Secure Hash Algorithm)的縮寫,是一個密碼散列函數家族。這一組函數是由美國國家安全局(NSA)設計,美國國家標準與技術研究院(NIST)發佈的,包括SHA-1、SHA-224、SHA-256、SHA-384和SHA-512五種變體,主要適用於數位簽章標準。後4個雜湊函數又並稱為SHA-2。
SHA-1在許多安全協定中廣為使用,包括TLS、SSL、PGP、SSH、S/MIME和IPsec,曾被視為是MD5(更早之前被廣為使用的雜湊函數)的後繼者。但隨著電腦技術的發展,SHA-1的安全性被密碼學家嚴重質疑,且在2005年被王小雲等密碼學家成功破譯。SHA-2的演算法跟SHA-1基本相似,但至今尚未出現對SHA-2的有效攻擊,安全性較高。SHA-256就是SHA-2函數中的一個,是輸出值為256位的雜湊演算法。
3.對稱加密演算法
AES(Advanced Encryption Standard)是一個對稱區塊編碼器演算法,旨在取代DES成為廣泛使用的標準,最終成為美國新的資料加密標準而被廣泛應用在各個領域。其大致運作原理和前文的對稱加密演算法的流程相同。
比特幣官方用戶端[3]使用AES演算法中的AES-256-CBC來加密錢包檔,使用者設置密碼後,採用使用者設置的密碼通過AES演算法對錢包私密金鑰進行加密,確保用戶端私密金鑰的安全,從而保證資產的安全。
4.Base58編碼
可讀性編碼演算法在理論上並非密碼學理論的核心內容,它類似於古典密碼學裡的置換演算法機制。編碼演算法的目的不是為了保護資料的安全性,而是為了可讀性。
資訊以二進位的形式傳輸,不具備可讀性,而數位與字母組成的字串才更容易被識別。可讀性編碼不改變資訊內容,只改變資訊內容的表現形式,部分編碼演算法還加入了容錯校驗功能,以保證傳輸過程中資料的準確性和完整性。
Base58是比特幣使用的一種獨特的編碼方式,主要用於產生比特幣的錢包位址。相比Base64,Base58不使用數位“0”、大寫字母“O”、大寫字母“I”和小寫字母“l”,以及“+”和“/”符號[4]。
設計Base58的主要目的是:
1)避免混淆。在某些字體下,數位0和大寫字母O,以及大寫字母I和小寫字母l非常相似。
2)不使用“+”和“/”的原因是,非字母或數位的字串作為帳號的一部分被接受。
3)沒有標點符號,通常不會被從中間分行。
4)大部分的軟體支援按兩下選擇整個字串。
比特幣使用了Base58演算法來對公開金鑰的Hash160及私密金鑰進行編碼,從而生成以1或3開頭的比特幣地址及WIF(Wallet Import Format)格式的私密金鑰。
[1] 引用自https://en.wikipedia.org/wiki/History_of_cryptography。
[2] 也有人把橢圓曲線類歸為離散對數類。
[3] 引用自https://bitcoin.org/en/download。
[4] 引用自https://zh.wikipedia.org/wiki/Base58。
區塊鏈組成
區塊鏈資料裡最基本也是重要的幾個概念是位址、交易、區塊、網路。比特幣用位址來標識一筆交易的支出方和接收方。所有的交易最終需要被記到統一的帳本上,而這個帳本是通過區塊確認並完成的。每一個新區塊的產生,都會被打上時間戳記,最終生成按照時間前後排列並加以記錄的電子交易證明。每個獨立節點之間又通過比特幣網路來建立聯繫,這樣就組成了一個去中心化、分散式的電子交易記錄時間戳記伺服器系統。
比特幣通過構造這個分散式時間戳記伺服器來解決雙重支付問題。中本聰在其白皮書中曾提到:只要誠實的節點所控制的計算能力的總和,大於有合作關係的(Cooperating)攻擊者的計算能力的總和,比特幣系統就是安全的[1]。
如果說整個比特幣區塊鏈是一個帳本,那麼帳本上承載的就是一筆筆由一些地址轉移到另一些位址的資產交易。比特幣裡的各個機制及模組有機地結合,才使得區塊鏈這樣一個去中心化的記帳體系成為可能。下面我們儘量從技術原理的角度來看一看這個記帳體系的組成。
地址
在比特幣體系裡,經常提到地址,這多少讓人有些費解,公開金鑰演算法用到的是私密金鑰與公開金鑰,跟地址有什麼關係?橢圓曲線簽名演算法裡的私密金鑰由32位元組隨機陣列成,通過私密金鑰可以算出公開金鑰,公開金鑰經過一系列雜湊演算法及編碼演算法就得到了比特幣中的地址。因此位址其實是公開金鑰的另一種表現形式,可以理解為公開金鑰的摘要。
橢圓曲線演算法生成的公開金鑰資訊比較長,其壓縮格式都有33位元組,非壓縮格式有65位元組。位址是為了減少接收方標識的位元組數。比特幣位址的生成步驟如下:
1)生成橢圓曲線私密金鑰與公開金鑰。
2)將公開金鑰通過SHA-256雜湊演算法處理,得到32位元組的雜湊值。
3)對於得到的雜湊值,通過RIPEMD-160演算法來得到20位元組的雜湊值——Hash160。
4)把由版本號[2]+Hash160組成的21位元組資料進行雙次SHA-256雜湊運算,得到的雜湊值的前4位元組作為校驗和,放置在21位元組資料的末尾。
5)對組成的25位元組陣列進行Base58編碼,就可得到位址。
整個過程如下圖所示。
我們要花費一個位址上的資產,以構造一筆交易,同時使用與這個位址對應的私密金鑰簽名。而如果要將資產轉移到某個位址上,只需要轉帳給它的公開位址即可。
交易
在中本聰的白皮書裡,比特幣被定義為一個鏈式的數位簽章串。每一位元電子錢的所有者通過這樣的方式將它轉移給下一位所有者:對前一個交易和下一位元所有者的公開金鑰簽署一個數位簽章,並將這個簽名附加在交易的末尾。收款人通過驗證簽名,就可以驗證電子錢的所有者鏈條。
交易的運作圖如下。
這類交易體系的問題在於收款人很難校驗之前的某位資產擁有者是否進行了雙重支付(雙花)。通常的解決方案是引入可信的協力廠商如銀行來對每一筆交易進行檢驗,以防止雙重支付。而如果想要排除協力廠商仲介機構,那麼交易資訊就應當被公開,且需要整個系統內的所有參與者都有唯一公認的歷史交易序列。收款人需要確保在交易期間系統內的絕大多數節點都認同該交易是首次出現[3]。
1.交易結構
比特幣的交易並不是通常意義上的一手交錢一手交貨,而是轉帳。如果每一筆轉帳都需要構造一筆交易資料,那麼顯得比較笨拙。為了使得價值易於組合與分割,比特幣的交易被設計為可以納入多個輸入和輸出,即一筆交易可以轉帳給多個人。從生成到在網路中傳播,再到通過工作量證明、整個網路節點驗證,最終記錄到比特幣的區塊鏈,這就是交易的整個生命週期。
交易的本質是一個包含交易發送方、接收方、資產轉移等相關資訊的資料結構,其資料結構如下表所示。
從整體結構來看,交易中的兩個主要單元欄位就是交易的輸入與輸出。輸入標識著交易的發送方,輸出標識著交易的接收方及對發送方的找零,交易的手續費則是輸入的總和與輸出的總和之差。由於所有的交易輸入必然是前面某筆交易的輸出,所以交易最核心的欄位是交易的輸出。
一筆交易的資料結構如下圖所示。
2.UTXO結構
UTXO(Unspent Transaction Outputs)是未花費的交易輸出,它是比特幣交易生成及驗證的一個核心概念。交易構成了一組鏈式結構,所有合法的比特幣交易都可以追溯到前一個或多個交易的輸出,這些鏈條的源頭都是挖礦獎勵,末尾則是當前未花費的交易輸出。所有的未花費的輸出即為整個比特幣網路的UTXO。
比特幣規定每一筆新交易的輸入必須是某筆交易未花費的輸出,每一筆輸入同時也需要上一筆輸出所對應的私密金鑰進行簽名,並且每個比特幣的節點都會存儲當前整個區塊鏈上的UTXO,整個網路上的節點通過UTXO及簽名演算法來驗證新交易的合法性。
比特幣的交易輸入通常有3種,分別是標準輸入(Standard TxIn)、花費挖礦獎勵(Spend Coinbase TxOut)、產生挖礦獎勵(Coinbase/Generation),下圖分別描述了這3種交易輸入的結構。
比特幣的交易輸出大致有兩種,分別是標準交易輸出(Standard TxOut)、挖礦獎勵輸出(Coinbase TxOut),下圖分別描述了這兩種交易輸出的結構。
3.腳本
腳本是交易裡另一個比較重要的技術。每一筆交易的每一項輸出,嚴格意義上講並不是指向一個位址,而是指向一個腳本。腳本類似於一套規則,它約束著接收方怎樣才能花掉這個輸出上鎖定的資產。
交易的合法性驗證也依賴於腳本。目前它依賴於兩類腳本:鎖定腳本與解鎖腳本。鎖定腳本是基於可變的模式,通過一段指令碼語言來實現,位於交易的輸出。解鎖腳本與鎖定腳本相對應,只有按鎖定腳本的規則去解,才能花掉這個腳本上對應的資產,位於交易的輸入。指令碼語言可以表達出無數的條件變種。這也是比特幣作為一種“可程式設計的貨幣”所擁有的特性。而解釋該腳本是通過類似於程式設計領域裡的“虛擬機器”進行的,腳本分佈地運行在比特幣網路裡的每一個節點上。
目前常用的比特幣腳本主要分為兩種,一種是普通的P2PKH類型(Pay-to-Public-Key-Hash),即支付給公開金鑰的雜湊值是位址,接收方只需要使用位址對應的私密金鑰對該輸出進行簽名,即可花掉該輸出。另一種是P2SH(Pay-to-Script-Hash),支付腳本的雜湊值。拿多重簽名來舉例,它要求該輸出要有N把私密金鑰中的M把私密金鑰(M≤N)同時簽名才能花掉該資產,它類似于現實生活中需要多把鑰匙才能同時打開的保險櫃,只是更加靈活。
比如在比特幣中,P2PKH的腳本規則如下:
* * *
pubkey script: op_dup op_hash160 <pubkeyhash> op_equalverify op_checksig signature script: <sig><pubkey>
* * *
P2SH的腳本規則如下:
* * *
pubkey script: op_hash160 <hash160(redeemscript)> op_equal signature script: <sig> [sig] [sig...] <redeemscript>
* * *
在上述的兩種腳本規則裡,Pubkey script代表著鎖定腳本,Signature script代表著解鎖腳本。以OP_開頭的單詞是相關的指令碼命令,也是“虛擬機器”所能解析的指令。這些命令規則根據Pubkey script的不同來進行劃分,也決定著解鎖腳本的規則。
比特幣中的腳本機制相對簡單,只是一個基於堆疊的、解釋相關OP指令的引擎,能夠解析的腳本規則並不是太多,不能實現很複雜的邏輯。但它為區塊鏈可程式設計提供了一個原型,後續的一些可程式設計區塊鏈專案其實是基於腳本的原理發展起來的,比如,乙太坊就深入強化了腳本機制,該腳本機制不再只包括簡單的OP指令,而是支援指令碼語言,該指令碼語言可以通過“虛擬機器”去執行。乙太坊實現了一個支援圖靈完備指令碼語言的區塊鏈平臺。
腳本機制對於區塊鏈來說非常重要,它類似于區塊鏈技術提供的一個擴展介面,任何人都可以基於這個介面去開發基於區塊鏈技術的應用,比如智慧合約的功能。腳本機制也讓區塊鏈技術作為一項底層協定成為可能。未來很多基於區塊鏈的顛覆性應用,都可能是通過區塊鏈的指令碼語言來完成的。
區塊
比特幣網路中每個(挖礦)節點都基於已存在的最新區塊生成下一個區塊,同時將網路中未確認的合法交易包含進去。在完成工作量證明之後,將新的區塊廣播到全網,同時獲得區塊的獎勵,這個過程就是將所有的交易打上時間戳記標記的過程。由於只有最長鏈上的區塊才能夠獲得獎勵,這導致了所有的挖礦節點被利益驅使,形成唯一最長鏈的結果,從而達成記帳系統共識的一致性,保證了整個體系的可靠與安全。而要瞭解這些過程,我們就必須先瞭解一下區塊相關結構及區塊鏈中所使用的相關技術與原理。
1.區塊結構
比特幣網路裡合法的交易都會被打包成一個區塊,包含到比特幣的公開帳本(區塊鏈)裡。區塊由包含中繼資料的區塊頭和緊跟其後的交易清單組成。區塊資料結構如下表所示[4]。
區塊資料的核心示例結構如下圖所示。
區塊由區塊頭及該區塊所包含的交易清單組成。區塊頭的大小為80位元組,由4位元組的版本、32位元組的上一個區塊的雜湊值、32位元組的Merkle Root Hash、4位元組的時間戳記(當前時間)、4位元組的當前難度值、4位元組的亂數等組成。區塊所包含的交易清單則附加在區塊頭後面。比特幣網路約定每個區塊的第一筆交易是coinbase交易,這是一筆為了讓礦工獲得獎勵及手續費的特殊交易。
2.Merkle Tree
區塊包含的所有交易首先都會通過Merkle Tree演算法生成Merkle Root Hash並存儲至區塊頭的資料結構裡。Merkle Tree演算法是用來同步資料一致性的演算法,它基於一組雜湊值列表構建成一個樹,樹的根雜湊值作為原始資料清單的摘要。Merkle Tree具有以下特點:
1)資料結構是一個樹,可以是二叉樹,也可以是多叉樹。
2)Merkle Tree的葉子節點的值是資料集合的單中繼資料或者單中繼資料的雜湊值。
3)Merkle Tree的非葉子節點的值是所有葉子節點值的雜湊值。
區塊中所使用的Merkle Tree演算法的原理如下圖所示。
3.時間戳記伺服器
為了實現一個點對點的電子現金系統,中本聰提出了“時間戳記伺服器”方案。時間戳記伺服器對以區塊形式存在的一組資料實施隨機雜湊處理,加上時間戳記,並將該隨機雜湊值進行廣播。顯然,該時間戳記能夠證實特定資料於某特定時間是的確存在的,因為只有在該時刻存在了,才能獲取相應的隨機雜湊值。每個時間戳記應當將前一個時間戳記納入其隨機雜湊值中,每一個隨後的時間戳記都對之前的一個時間戳記進行增強(Reinforcing),這樣就形成了一個鏈條(Chain)。
網路
比特幣採用了基於P2P(Peer to Peer)的網路架構。P2P是指位於同一網路中的每台電腦都是彼此公平、對等的,各個節點共同提供網路服務,不存在任何“特殊”(中心)節點。P2P網路通信本身並不是比特幣獨有的發明,在比特幣之前就已經被應用於檔共用領域了。比特幣被設計成一個點對點的數位現金系統,而P2P正好是這個理念的核心特徵的反映,也是該特徵的基石。拋開比特幣用戶端的錢包功能來看,運行在每一台機器上的比特幣核心程式就是比特幣P2P網路中的一個節點。每個節點之間互聯,組成了比特幣網路,保證了整個比特幣系統的安全。
比特幣網路的相關功能如下:
1)新交易廣播到全網的節點,每個節點會收到交易消息。
2)每個(挖礦)節點將新交易收集到節點的記憶體,並組裝成區塊。
3)每個(挖礦)節點都嘗試在自己的區塊中找到一個具有足夠難度的工作量證明。
4)(挖礦)節點找到一個工作量證明,把有效的區塊資料向全網進行廣播。
5)當且僅當包含在該區塊中的交易都是有效的,並驗證其完成了工作量證明,其他節點才認同該區塊的有效性。
6)其他(挖礦)節點表示接受該區塊,並在該區塊的末尾製造新的區塊以延長整個區塊的鏈條。
在比特幣網路中,交易和區塊資訊的傳播是通過洪水演算法(Flooding Algorithm)進行的。簡單地說,就是每一個收到資訊的節點,向與它相連的所有節點推送該資訊。下一個收到資訊的節點繼續這個過程,資訊很快就會像洪水一樣覆蓋全網路。可見,傳播速度是呈指數增長的。通常在一兩秒內,交易或者區塊的資訊就可以傳遍全網。
節點始終都將最長的鏈條作為正確的鏈條,在它的基礎上持續工作並延長它。如果有兩個節點同時廣播不同的基於上一個區塊的新區塊,那麼其他節點在接收到該區塊的時間先後上將存在差別。在此情形下,它們將在率先收到的區塊基礎上進行工作,但也會保留另外一個鏈條,以防後者變成最長的鏈條。該僵局的打破要等到下一個區塊(工作量證明)被發現,當其中的一條鏈條被證實為是較長的一條時,在另一條分支鏈條上工作的(挖礦)節點將轉換陣營,開始在較長的鏈條上工作。
所謂“新交易的廣播”,實際上不需要抵達網路中的全部節點,只要交易資訊能夠抵達足夠多的節點,它們將很快被整合進一個新的區塊中。而區塊的廣播對被丟棄的資訊進行容錯處理。如果一個節點沒有收到某特定區塊,那麼該節點將會發現自己缺失了該區塊,就會向較長鏈的節點發出下載該缺失區塊的請求。
比特幣網路中的礦工們不停地在最新的區塊基礎上構造下一個區塊,通過算力競爭來爭取記帳權(將新區塊寫到比特幣的區塊鏈的機會),確認網路的轉帳交易,同時獲取區塊獎勵。由於每一個區塊都包含上一個區塊的雜湊值,通過這個前向的雜湊值,區塊以鏈條的形式進行相連,最終形成了由各個區塊組成的記帳系統——區塊鏈。而確保這一切運轉正常的正是我們接下來要講的共識演算法。
[1] 引自於https://bitcoin.org/bitcoin.pdf。
[2] 普通地址P2PKH 的版本預設值是0,P2SH 類型的地址版本預設值是5。
[3] 引用自https://bitcoin.org/bitcoin.pdf。
[4] 引用自https://en.bitcoin.it/wiki/Block。
共識演算法
要想整個P2P網路維持一份相同的資料,同時保證每個參與者的公平性,整個體系的所有參與者必須要有統一的協議,也就是我們這裡要講的共識演算法。比特幣所有的節點都遵循統一的協定規範。協定規範(共識演算法)由相關的共識規則組成,這些規則可以劃分為兩個大的核心:工作量證明與最長鏈機制。所有規則(共識)的最終體現就是比特幣的最長鏈。共識演算法的目的就是保證比特幣不停地在最長鏈條上運轉,從而保證整個記帳系統的一致性和可靠性。
工作量證明
工作量證明(POW)可簡單地理解為一份證明,用來確認你做過一定量的工作。監測工作的整個過程通常是極為低效的,而通過對工作的結果進行認證來證明完成了相應的工作量,則是一種非常高效的方式。比如現實生活中的畢業證、駕駛證等,也是通過檢驗結果的方式(通過相關的考試)取得證明。
1.起源
工作量證明系統(或者說協定、函數),是一種應對拒絕服務攻擊和其他服務濫用的經濟對策。它要求發起者進行一定量的運算,也就意味著需要消耗電腦一定的時間。這個概念由Cynthia Dwork和Moni Naor 1993年在學術論文中首次提出[1]。而工作量證明這個名詞,則是在1999年Markus Jakobsson和Ari Juels的文章[2]中才被真正提出。
雜湊現金[3]是一種工作量證明機制,它是亞當·貝克(Adam Back)在1997年發明的,用於抵抗郵件的拒絕服務攻擊及垃圾郵件閘道濫用。在比特幣之前,雜湊現金被用於垃圾郵件的過濾,也被微軟用於Hotmail/Exchange/Outlook等產品中(微軟使用一種與雜湊現金不相容的格式,並將之命名為電子郵戳)。
雜湊現金也被哈爾·芬尼以可重複使用的工作量證明(RPOW)的形式用於一種比特幣之前的加密貨幣實驗中。另外,戴偉的B-money、尼克·薩博的比特金(Bit-Gold),這些比特幣的先行者都是在雜湊現金的框架下進行挖礦的。
2.工作量證明的基本原理
工作量證明系統的主要特徵是用戶端需要做一定難度的工作得出一個結果,驗證方卻很容易通過結果來檢查用戶端是不是做了相應的工作。這種方案的一個核心特徵是不對稱性:工作對於請求方是適中的,對於驗證方則是易於驗證的。它與驗證碼不同,驗證碼的設計出發點是易於被人類解決而不易被電腦解決[4]。
下圖表示的是工作量證明的流程。
舉個例子[5],給定一個基本的字串“Hello,world!”,我們給出的工作量要求是,可以在這個字串後面添加一個叫作nonce(亂數)的整數值,對變更後(添加nonce後)的字串進行SHA-256雜湊運算,如果得到的雜湊結果(以十六進位的形式表示)是以“0000”開頭的,則驗證通過。為了達到這個工作量證明的目標。我們需要不停地遞增nonce值,對得到的新字串進行SHA-256雜湊運算。按照這個規則,需要經過4251次計算,才能找到恰好前4位為0的雜湊散列。
"Hello,world!0"=>1312af178c253f84028d480a6adc1e25e81caa44c749ec81976192e2ec934c64
"Hello,world!1"=>e9afc424b79e4f6ab42d99c81156d3a17228d6e1eef4139be78e948a9332a7d8
"Hello,world!2"=>ae37343a357a8297591625e7134cbea22f5928be8ca2a32aa475cf05fd4266b7
...
"Hello,world!4248"=>6e110d98b388e77e9c6f042ac6b497cec46660deef75a55ebc7cfdf65cc0b965
"Hello,world!4249"=>c004190b822f1669cac8dc37e761cb73652e7832fb814565702245cf26ebb9e6
"Hello,world!4250"=>0000c3af42fc31103f1fdc0151fa747ff87349a4714df7cc52ea464e12dcd4e9
通過這個示例我們對工作量證明機制有了一個初步的理解。有的人會認為如果工作量證明只是這樣一個過程,那是不是只需要記住nonce為4521使計算能通過驗證就行了?當然不是的,這只是一個例子。
下面,我們將輸入簡單地變更為“Hello,world+整數值”,整數值取1~1000,也就是說,將輸入變成一個由1000個值組成的陣列:Hello,world!1;Hello,world!2;…;Hello,world!1000。然後對陣列中的每一個輸入依次進行上面例子中要求的工作量證明——找到前導為4個0的雜湊散列。
由於雜湊值偽隨機的特性,根據概率論的相關知識容易算出,預期要進行216次嘗試,才能得到4個前導為0的雜湊散列。而統計一下剛才進行的1000次計算的實際結果會發現,進行計算的平均次數為66958次,十分接近216(65536)。在這個例子中,數學期望的計算次數就是要求的“工作量”,重複多次進行的工作量證明會是一個符合統計學規律的概率事件。
統計輸入的字串與得到對應目標結果實際使用的計算次數列表如下:
Hello,world!1=>42153
Hello,world!2=>2643
Hello,world!3=>32825
Hello,world!4=>250
Hello,world!5=>7300
...
Hello,world!995=>164819
Hello,world!996=>178486
Hello,world!997=>22798
Hello,world!998=>68868
Hello,world!999=>46821
比特幣體系裡的工作量證明機制與上述示例類似,但要比它更複雜一些。
3.比特幣中的工作量證明
對於比特幣網路中的任何一個節點,如果想生成一個新的區塊並寫入區塊鏈,則必須解出比特幣網路出的工作量證明的迷題。這道題的3個關鍵要素是工作量證明函數、區塊及難度值。工作量證明函數是這道題的計算方法,區塊決定了這道題的輸入資料,難度值決定瞭解這道題所需要的計算量。
比特幣網路中使用的工作量證明函數正是前文提及的SHA-256。已經講過區塊的資料結構,但並未具體描述區塊的產生過程。區塊其實就是在工作量證明環節產生的。礦工通過不停地構造區塊資料,檢驗每次計算出的結果是不是滿足工作量,從而判斷該區塊是不是符合網路難度。區塊頭即為比特幣的工作量證明的輸入資料。
難度值是礦工們挖礦的重要參考指標,它決定了礦工大約需要經過多少次雜湊運算才能產生一個合法的區塊。比特幣的區塊大約每10分鐘生成一個,如果要在不同的全網算力條件下,新區塊的產生都基本保持這個速率,難度值必須根據全網算力的變化進行調整。簡單地說,難度值被設定在無論挖礦能力如何,新區塊產生速率都保持在10分鐘一個。
難度值的調整是在每個完整節點中獨立自動發生的。每隔2016個區塊,所有節點都會按統一的公式自動調整難度值,這個公式是由產生最新2016個區塊的花費時長與期望時長(期望時長為20160分鐘,即兩周,是按每10分鐘一個區塊的產生速率計算出的總時長)比較得出的,根據實際時長與期望時長的比值,進行相應調整(或變難或變易)。也就是說,如果區塊產生的速率比10分鐘快,則增加難度,比10分鐘慢,則降低難度。
這個公式可以總結為如下形式:
新難度值=舊難度值*(過去2016個區塊花費時長/20160分鐘)
工作量證明需要有一個目標值。比特幣工作量證明的目標值(Target)的計算公式如下:
目標值=最大目標值/難度值
其中,最大目標值為一個恒定值:0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
目標值的大小與難度值成反比。比特幣工作量證明的達成就是礦工計算出來的區塊雜湊值必須小於目標值。
我們也可以將比特幣工作量證明的過程簡單理解成,通過不停地變換區塊頭(即嘗試不同的nonce值)並將其作為輸入,進行SHA-256雜湊運算,找出一個有特定格式的雜湊值的過程(即要求有一定數量的前導0)。而要求的前導0的個數越多,難度越大。
可以把比特幣礦工解這道工作量證明迷題的步驟大致歸納如下:
1)生成coinbase交易,並與其他所有準備打包進區塊的交易組成交易清單,通過Merkle Tree演算法生成Merkle Root Hash。
2)把Merkle Root Hash及其他相關欄位組裝成區塊頭,將區塊頭的80位元組資料作為工作量證明的輸入。
3)不停地變更區塊頭中的亂數(即nonce的數值),並對每次變更後的區塊頭做雙重SHA-256運算(即SHA256(SHA 256(Block_Header))),將結果值雜湊反轉並與當前網路的目標值對應的十進位字串做對比,如果小於目標值,則解題成功,工作量證明完成。
該過程可以用下圖表示:
比特幣的工作量證明,就是我們俗稱“挖礦”所做的主要工作。理解工作量證明機制,將為我們進一步理解比特幣區塊鏈的共識機制奠定基礎。
最長鏈機制
比特幣網路要求所有節點都遵循一個協議(共識),所有保存到本地的區塊鏈必須是被本地節點驗證通過的最長鏈。由於區塊鏈的每個區塊必須引用它的前一個區塊,所以最長鏈是最難推翻的。
理論上,礦工可以在任意區塊的基礎上開始計算下一個區塊。但只有最長區塊鏈上的區塊才能獲得系統的承認並得到挖礦獎勵。打包區塊獲得的獎勵在該區塊上增加99個新區塊(100個確認)之後才能使用。這是保證區塊鏈不發生分裂的重要機制。
算力攻擊
比特幣在設計之初是為了實現一個點對點的電子現金系統,而這一系統的難題是如何避免雙重支付問題。共識演算法的目標就是降低雙重支付的可能性。在中本聰的白皮書裡針對設計的比特幣體系做了一個數學推算,以驗證整個比特幣體系裡發生雙重支付的概率,這裡引用相關原文,讓大家來感受一下比特幣區塊鏈體系的安全性。
1.計算
設想如下場景:一個攻擊者試圖生成一條具有替代性的鏈,這條鏈的延長速度比誠實鏈的延長速度更快。即便這一目的達成了,也不意味著系統可以任攻擊者為所欲為,比如憑空製造幣或者拿走從來不屬於他的幣。節點不會接受一個無效的交易,而誠實節點永遠不會接受包含無效交易的區塊。攻擊者唯一能嘗試的是:改變一筆自己的交易,並嘗試把錢從他最近的花費中拿回來。
誠實鏈和攻擊鏈之間的競賽具有二項隨機漫步(Binomial Random Walk)的特點。成功事件意味著誠實鏈延長了一個區塊,領先加1,失敗事件意味著攻擊鏈延長了一個區塊,差距減1。
攻擊者成功填補某一既定差距的概率類似于賭徒破產問題(Gambler’s Ruin Problem)。假定一個賭徒擁有無限的透支信用,然後開始進行潛在次數為無窮的賭博,以試圖填補自己的虧空,那麼我們可以計算他補上虧空的概率,也就是該攻擊鏈趕上誠實鏈的概率,如下所示[6]:
假定p>q,那麼攻擊成功的概率就隨著攻擊者要追上的區塊數的增長而呈現指數下降。概率是攻擊者的敵人,如果他最開始不能獲得幸運的突破,那麼隨著他落後的越多,他成功的機會就會變得無限渺茫。
現在考慮一下,一個新交易的收款人需要等到多長時間,才能足夠確信發款人已經不可能改變這筆交易了。假設付款人是一個攻擊者,他希望收款人相信他已經付過款了,然後過一段時間將已支付的款項重新發回給自己。付款人希望就算屆時收款人會察覺這一點,也已經於事無補。
對此,收款人生成一個新的金鑰對,然後在交易簽署前不久將公開金鑰發送給付款人。這可以防止付款人預先準備好一個鏈,然後持續地對此區塊進行運算,直到他的鏈幸運地超越了誠實鏈,然後立即執行支付。在此情形下,只要交易一發出,攻擊者就開始悄悄地準備一條包含了該交易替代版本的平行鏈條。
收款人將等待交易出現在首個區塊中,然後等到z個區塊連接在其後。此時,他仍然不能確切地知道攻擊者已經進展了多少個區塊,但是假設誠實區塊產生一個區塊將耗費平均預期時間,那麼攻擊者的潛在進展就是一個泊松分佈,分佈的期望為
在此情形下,為了計算攻擊者追趕上的概率,將攻擊者取得進展區塊數量的泊松分佈的概率密度乘以在該數量下攻擊者依然能夠追趕上的概率:
將其簡化為如下形式,避免對無限數列求和:
轉化為C語言代碼[7]:
* * *
#include double attackersuccessprobability(double q, int z) { double p = 1.0 - q; double lambda = z * (q / p); double sum = 1.0; int i, k; for (k = 0; k <= z; k++) { double poisson = exp(-lambda); for (i = 1; i <= k; i++) poisson *= lambda / i; sum -= poisson * (1 - pow(q / p, z - k)); } return sum; }
* * *
對其進行運算,可以得到如下的概率結果,發現概率對z值呈指數下降。
當q=0.1時:
z=0 p=1.0000000
z=1 p=0.2045873
z=2 p=0.0509779
z=3 p=0.0131722
z=4 p=0.0034552
z=5 p=0.0009137
z=6 p=0.0002428
z=7 p=0.0000647
z=8 p=0.0000173
z=9 p=0.0000046
z=10 p=0.0000012
當q=0.3時:
z=0 p=1.0000000
z=5 p=0.1773523
z=10 p=0.0416605
z=15 p=0.0101008
z=20 p=0.0024804
z=25 p=0.0006132
z=30 p=0.0001522
z=35 p=0.0000379
z=40 p=0.0000095
z=45 p=0.0000024
z=50 p=0.0000006
求解令p<0.1%的z值,具體如下。
為使p<0.001,則
q=0.10 z=5
q=0.15 z=8
q=0.20 z=11
q=0.25 z=15
q=0.30 z=24
q=0.35 z=41
q=0.40 z=89
q=0.45 z=340
計算結果表明,不管攻擊者算力在整個網路的占比是多少,隨著區塊鏈裡區塊確認數增加,發生雙重支付的概率就越來越低。只有當你的算力占比比較高的時候才有成功的可能,而這個其實又可以通過增加確認數來避免。如果支付方與接收方調整相應的參數作為交易的條件,比如規定N個確認才算交易完成,那麼區塊鏈的雙花問題在這個體系下變得異常困難。
2.51%算力攻擊
雖然比特幣的體系在設計上已經大大降低了雙重支付的可能,但沒有絕對安全的系統。在攻擊者擁有超過整個網路一半算力的情況下,就有能力推翻原有已經確認過的交易,使惡意的雙花成為可能,業內形象地稱之為51%算力攻擊。攻擊者掌握了全網51%的算力後,可以用這些算力來重新計算已經確認過的區塊,使區塊產生分叉,完成雙花並獲得利益。攻擊者如果發動攻擊,則能做到:
1)控制自己的交易,一筆發給接收者,另一筆發送給自己,讓最終發給自己的交易成功而接收者的失效,欺騙接收者,實現雙花成功。
2)阻止別人的交易被打包到區塊,讓交易不能確認。
3)阻止別人生成新的區塊,獲得區塊獎勵。
不能做的事情如下:
1)控制別人發送的交易。
2)阻止別人發送交易。
3)更改每個區塊的獎勵數量。
4)憑空產生幣。
5)發送不屬於他自己的幣。
通過上述內容可很容易看出,攻擊者實施51%算力攻擊時唯一對自己有利的就是,完成對自己交易的雙花,騙取交易接收方的利益。
而從經濟學的角度去看這個攻擊問題,攻擊者通過攻擊來獲取利益,但這是需要成本的(算力成本),只有當攻擊獲取的收益大於成本,也大於他誠實工作所獲取的收益時,攻擊者才會自發動攻擊的意圖。假定的有理性的人,即為了獲得更大收益而發起攻擊的人,實際上是不會發動這樣的攻擊的。這樣就產生了51%攻擊的悖論,攻擊者發起攻擊要考慮自身利益,出於較高的成本,算力擁有者都會選擇誠實的工作。
除了上述的攻擊成本之外,攻擊其實也依賴于社區的理性選擇,這也讓攻擊的成功率很低。歷史上,Ghash.io曾經出現過算力接近於51%的情形,造成了社區恐慌,礦工選擇撤離,最終讓Ghash.io的算力急劇下降。而國內4家礦池也曾出現整體算力接近51%的情形。2015年,國內礦池聯盟合作,而且並未遵守社區軟分叉的協議,產生新版本號的區塊,造成區塊高度為36731~36736的相關區塊不符合社區的協議。另外,其他礦池基於36731產生新版本的區塊,而未選擇在國內產生的新區塊的鏈條上挖礦,此事件也同樣引起社區的熱議。最終,違背社區協議的國內幾大礦池將所挖的區塊作廢,在遵從社區協定的鏈條上挖礦產生新版本號的新區塊。歷史上的諸多事件證明,除了共識演算法,社區成員的理性選擇,也同樣是維護整個區塊鏈體系安全的保障。
共識演算法的探索
1.POW
POW使用的雜湊演算法原理上接近一個暴力破解的過程。隨著比特幣的發展及其市值的增加,市場上出現了ASIC礦機,它是專門針對比特幣使用的SHA-256演算法研發的,從而使系統總算力不斷上升。算力的快速上漲既降低了挖礦過程的去中心化,又帶來了越來越高的能源消耗。這種現象引發了社區的討論。於是有新的競爭幣嘗試使用不同的用於工作量證明的雜湊演算法。
競爭幣的鼻祖萊特幣,除了修改了比特幣的相關參數,最大的調整就是對共識演算法的更改,將比特幣工作量證明所使用的SHA-256雜湊演算法變更為Scrypt雜湊演算法,兩者的不同在於,Scrypt雜湊演算法本身不適宜進行平行計算,因此製造專業的ASIC礦機比較困難。在實踐中,隨著萊特幣市值的增加,人們也製造出了針對Scrypt的專業礦機。競爭幣Darkcoin後續所使用X11演算法,即讓11種雜湊演算法串聯起來作為工作量證明的雜湊函數,以防止專業的ASIC晶片礦機。再到後來又有出現了專門針對礦池挖礦的演算法SpreadX11,它的代表者則是競爭幣Spreadcoin。
2.POS
POS(Proof Of Stake,權益證明)是一種不同於工作量證明的共識機制,它不通過競爭性的雜湊計算,而是通過節點對所有權的證明來達成共識。有些人認為,隨著區塊獎勵的減少,工作量證明機制最終會導致系統出現“公地悲劇”,而權益證明機制對礦工的激勵機制,可以維持更好的系統安全。
真正將POS機制運用起來的數位貨幣是點點幣(PPC,PPCoin)。這裡首先要引入幣齡這一概念,在比特幣裡,UTXO所位於區塊的高度與當前最長鏈高度之間的差值決定著該筆Unspent幣齡的大小,差值越大,代表著幣齡越高。該Unspent的使用也就代表著幣齡的消耗。在POS機制裡,一筆交易可以消耗的幣齡被視為POS的一種形式,POS指的是一種對貨幣所有權的證明。擁有幣且幣齡越高的節點擁有著產生新區塊的權力。
3.小結
新共識演算法的發明常常是源於對工作量證明能源消耗的優化及對專業礦機挖礦的抵制,很多人都在尋找任意節點(通過GPU或者是CPU,也就是一台電腦)都可以參與整個網路挖礦的方法。乙太坊發明了自己的挖礦演算法ethash來抵制專業晶片的礦機,同時宣稱將會以POW+POS的機制來運行整個區塊鏈網路。
另外,大量的私有鏈都嘗試採用或發明了不同的共識演算法。有限的去中心化,使得我們可以採用更為高效且低成本的共識演算法。而類似于比特幣區塊鏈這樣的公有鏈,由於需要達成所有節點完全平等、自由加入等特性的完全去中心化,相應的一定規模的資源消耗幾乎是必然的。
[1] Dwork, Cynthia; Naor, Moni (1993).“ Pricing via Processing, Or,Combatting Junk Mail, Advances in Cryptology ”. CRYPTO ’92: Lecture Notes in Computer Science No. 740 (Springer): 139–147.
[2] Jakobsson, Markus; Juels, Ari (1999). “ Proofs of Work and Bread Pudding Protocols ”. Communications and Multimedia Security (Kluwer Academic Publishers): 258–272.
[3] 引用自https://en.wikipedia.org/wiki/Hashcash。
[4] 引用自https://en.wikipedia.org/wiki/Proof-of-work_system。
[5] 引用自https://en.bitcoin.it/wiki/Proof_of_work。
[6] W. Feller, An introduction to probability theory and its applications, 1957.
[7] 引用自https://bitcoin.org/bitcoin.pdf。
側鏈技術
側鏈
所謂“側鏈”(又稱楔入式側鏈),是相對於主鏈而言的,是平行於主鏈的另一條區塊鏈。它們通過“雙向錨定”(Two-Way Pegging)來建立關聯,實現主鏈與側鏈之間價值的雙向轉移。可以在側鏈上使用主鏈資產,並通過側鏈來彌補主鏈功能的不足。雖然它們具有雙向轉移的能力,但它們是隔離的,即使側鏈中的加密被破解(或惡意設計),所有的損害也都只限於側鏈本身。
側鏈作為主鏈新功能或新業務邏輯的“試驗田”,一方面幫助主鏈試行、擴展新功能,另一方面隨著各種主鏈本身無法具備的業務邏輯在側鏈上實現,圍繞主鏈可更進一步搭建起一個覆蓋各種業務需求的產業生態圈。比如新的擴展可以支持無數資產類型,例如股票、債券、金融衍生品、真實和虛擬的世界貨幣,還能夠實現智慧合約、安全處理機制和真實世界財產註冊。目前Blockstream以比特幣區塊鏈作為主鏈,正在做自己的側鏈項目[1]。
技術原理
側鏈區塊鏈使用的技術大體與主鏈相似,側鏈技術的核心在於與主鏈之間建立起橋樑。這一技術又被形象地稱為楔入,按楔入的實現方式,可將其劃分為多種類型,這裡主要瞭解雙向楔入和聯合楔入。
1.雙向楔入
雙向楔入是指將主鏈上的資產以一個固定的或者是確定的匯率在側鏈間轉入或輸出的機制。它的核心機制其實是將一條鏈上的部分資產鎖定,在側鏈上生成或者是解鎖一部分等價的資產。
雙向楔入方式是需要主鏈與側鏈都支持簡單支付驗證證明(Simplified Payment Verification proof,SPV),雙方資產的轉移是通過生成鎖定的SPV輸出來實現的,基於SPV協議的流程圖如下。
2.聯合楔入
另一種常被提及的楔入方式是聯合楔入,它的機制類似於比特幣多重簽名,鏈上的資產轉移到一個由多方公證人控制的多重簽名位址,並由多方的控制權來鎖定資產,進行資產的轉移,其動作原理如下圖所示。
[1] 引用自www.blockstream.com。
附錄1 比特幣:一種點對點的電子現金系統
中本聰 著
李志闊(網名:面神護法) 趙海濤 焦鋒 譯
satoshin@gmx.com
www.bitcoin.org
摘要
完全點對點的電子現金系統可以不通過金融機構,由一方直接發送線上支付給另一方。雖然數位簽章為此提供了大部分解決方案,但是如果這個系統(電子現金系統)仍然需要可信的協力廠商來阻止雙重花費(Double-Spending),那麼它的價值就會大打折扣。本文提出了一種使用點對點網路的解決方案來應對雙重花費。該(電子現金)網路通過對交易資訊進行雜湊運算,並將計算出的雜湊值記錄到一個不斷延長的基於雜湊運算工作量證明的鏈條上,從而為交易打上時間戳記。除非重新完成工作量證明,否則鏈條上記錄的資訊不可被更改。最長的鏈條不僅可以證明(交易)事件發生序列,也可以證明該序列來自最大的CPU算力池。只要掌握大多數CPU算力的節點沒有聯合起來攻擊網路,它們就將生成超過攻擊者的最長的鏈。整個網路採用最簡結構,資訊得到了最大限度的廣播,節點認同最長的工作量證明鏈條,可以隨時離開和重新加入網路。
引言
迄今為止,互聯網上的貿易所涉及的電子支付幾乎都需要金融機構作為可信的協力廠商來處理。儘管對絕大多數交易來說,這個系統的表現足夠良好,但這種基於信用的模式(Trust Based Model)天生具有一些弱點。(提供信任的)金融機構不可避免地要調解爭議,這導致無法實現完全不可逆的交易。調解成本增加了交易成本,限制了實際可行的最小交易額度,也減少了小額非正式交易發生的可能。有些服務是無法收回的,無法為這些服務提供不可逆支付的技術手段會(給我們)帶來更多的成本。支付回滾的可能性增加了人們對信用的需求,(這導致)商家必須對他們的顧客保持謹慎,索取顧客更多的個人資訊。儘管如此,商家仍然會將一定比例的(支付)欺詐列入不可避免的經營成本。雖然使用現金面對面交易可以避免這種成本以及支付過程的不確定性,但是目前在不需要可信協力廠商的前提下,還沒有通過通信通道來完成支付的機制。
我們需要一個基於密碼學驗證而不是基於信任的電子支付系統,可以允許任意雙方直接進行交易而不需要借助可信的協力廠商。如果交易回滾在計算上不可實現,就可以保護賣家免於支付欺詐,在此機制下,也很容易通過常規的協力廠商擔保機制來保護買家利益。本文中,我們提出一種解決雙重花費問題的方案:使用點對點的分散式時間戳記服務,對發生的交易按時間順序生成計算證明。只要由誠實節點控制的CPU算力總和大於由有合作關係的攻擊節點控制的CPU算力總和,這個系統就是安全的。
交易
我們將電子錢定義為一串由數位簽章組成的鏈條。每一位元電子錢的所有者通過下面的方式將它轉移給下一位所有者:對前一個交易和下一位元所有者的公開金鑰簽署一個數位簽章,並將這個簽名附加在交易的末尾。收款人通過驗證簽名,就可以驗證電子錢的所有者鏈條。
容易看出,通過這樣的支付方式,收款人並不能確認鏈條上的某位所有者有沒有進行過雙重花費。對此最常見的解決方法是引入一個可信的協力廠商權威,以承擔類似於“鑄幣廠”的職能:它會檢驗每一筆交易,以阻止雙重花費的出現。每一筆交易完成之後,交易涉及的電子錢就必須回到“鑄幣廠”(銷毀),同時發行等量的新幣,只有“鑄幣廠”直接發行的新幣才被相信不曾進行雙重花費。這種解決方案的問題在於,整個貨幣系統的命運取決於運行“鑄幣廠”的公司,每一筆交易必須通過它們檢驗,就像經過銀行檢驗一樣。
還需要一種方法:讓收款人可以知道前一位所有者沒有簽署過任何更早的交易(沒有雙重花費過)。為實現這個目標,我們只需要關注本交易之前發生的交易,而不需要關心之後的交易是否試圖進行雙重花費。只有知曉之前發生的所有交易,才能確認歷史中的交易記錄沒有缺失。在基於鑄幣廠的模式中,鑄幣廠知曉所有的交易,決定哪一筆交易更早發生。為了在沒有可信協力廠商的條件下實現這一點,交易必須被公開宣佈(Publicly Announced)[1],同時我們也需要這樣的一個系統,所有參與者對他們接收到的交易的歷史順序能達成共識。收款人需要獲得這樣的證明:大部分節點都同意,在時間順序上(鏈條上的)每一筆交易都是首次出現的。
時間戳記伺服器
我們提出的解決方案始於時間戳記伺服器(Timestamp Server)。時間戳記伺服器通過對交易事件組成的區塊進行雜湊運算,從而為區塊打上時間戳記,並像通過報紙或者Usenet發帖一樣,廣播該雜湊值[2][3][4][5]。通過獲得雜湊值的順序,時間戳記能證明特定資料在特定時間下是存在的。每個時間戳記應當將前一個時間戳記納入其隨機雜湊值中,每一個隨後的時間戳記都對之前的一個時間戳記進行增強,從而形成了一個鏈條。
工作量證明
為了在點對點的基礎上構建分散式的時間戳記服務,我們需要類似亞當·貝克(Adam Back)的雜湊現金[6]的工作量證明系統,而不是報紙或者Usenet新聞群組。在進行雜湊運算時,工作量證明引入了對特定結果的雜湊值的搜索,比如在SHA-256下,雜湊值要求以一定數量的零開始。隨著被要求的零的數目的變化,完成雜湊運算的平均工作量數目是呈指數級變化的。通過簡單的一次雜湊運算就可以驗證整個工作是否合格。
時間戳記網路完成工作量證明的過程是:在區塊中增加一項亂數,(變換該亂數)直到找到一個值,使區塊的雜湊值出現被要求數目的零。一旦CPU通過運算,完成了工作量證明,那麼除非重新完成相當的工作量,這個區塊就不能再被更改。之後隨著新的區塊被連接在該區塊後面,改變這個區塊所要完成的工作量也將包含重新計算所有新區塊所需要的工作量。
工作量證明在少數服從多數時,解決了如何決定誰來代表多數的問題。如果“多數”是基於一個IP一票選出的,那麼任何可以分配很多IP位址的人都可以破壞這個投票過程。而工作量證明在本質上是一個CPU投一票,最長鏈包含了最大的工作量證明投入,即為大多數決定的體現。如果大多數CPU算力被控制在誠實節點手中,誠實鏈條將延長地最快,超過所有的競爭性鏈條。想要改變一個過去的區塊,攻擊者必須重新完成該區塊以及之後的所有區塊的工作量證明,然後才能趕上和超過誠實節點的工作。
為了平衡硬體計算速度的提高和節點參與網路的興趣的變化(造成的全網算力的起伏),工作量證明的難度通過一個變化的平均值來調整,其目標是每小時總是產生平均數量的區塊。如果區塊生成的速度太快,難度就會上升。
網路
運行該網路的步驟如下:
1)新交易向全網進行廣播;
2)每個節點將接收到的新交易資訊納入一個區塊;
3)每個節點為自己的區塊尋找指定難度的工作量證明;
4)當一個節點找到了(要求的)工作量證明,它就將這個區塊向全網廣播;
5)只有當這個區塊包含的所有交易都是合法的且之前不曾進行消費,其他節點才會接受這個區塊;
6)其他節點表示接受這個區塊的方法是:使用這個被接受的區塊的雜湊為前導雜湊,在這個區塊的基礎上創造下一個區塊。
節點總是認為最長鏈就是正確的鏈條,並持續在它的基礎上工作以延長它。如果兩個節點同時廣播了不同版本的新區塊,其他節點可能會首先接收到其中一個。在這種情況下,他們會在首先接收到的區塊之上開始工作,但是也會保留另一個區塊,以防另一個鏈條會變成最長鏈。當一個區塊的工作量證明被找到,其中一個分支變得更長時,這種平行狀態才會被打破;在另一條分支上計算的節點將會切換到更長的鏈上來。
新交易的廣播不必到達每一個節點。只要到達了一定量的節點,它們在不久之後就會被打包進一個區塊中。區塊廣播同樣也可以耐受資訊的丟失。如果一個節點沒有接收到某區塊,那麼它在接收到下一個區塊時會發現自己丟失了區塊,並請求下載丟失的區塊。
激勵
我們約定,區塊裡的第一筆交易是一筆特殊交易,該交易產生由區塊創造者擁有的新幣,這增加了對節點支援網路的激勵。由於並沒有中央權威來負責幣的發行,這種激勵方式也提供了在流通中,電子錢最初分佈的分配方案。穩定的新幣固定數量的增加類似于金礦消耗資源(挖礦)並將黃金添加到流通領域中。在我們的方案中,所消耗的資源是CPU時間和電力。
激勵的另一個來源是交易費(Transaction Fee)。如果交易的輸出值小於交易的輸入值,它們的差值就是交易費。交易費被添加到包含該交易的區塊的獎勵內。一旦數量被設定的幣(2100萬)完全進入流通,激勵來源就可以完全轉化為交易費,整個電子錢系統會實現完全的零通脹。
激勵機制有助於鼓勵節點保持誠實。如果一個貪婪的攻擊者能夠控制比所有誠實節點更多的CPU算力,他將面臨選擇:是將已經付出的花費通過攻擊拿回來,還是使用自己的算力誠實地工作以生成新幣。他應該能發現,按照規則行事是更有利可圖的,這些規則會使他獲得比其他人更多的新幣,而不是破壞整個系統,降低自己財富的有效性。
回收硬碟空間
一旦最近的交易被納入足夠多的區塊之中,就可以丟棄它之前的交易資料,以節省硬碟空間。為實現這一點同時又不損害區塊的雜湊資料,交易資訊在雜湊運算時,被構建成一種Merkle樹[7]的形態,只有Merkle根被包含在區塊雜湊之中。通過將該樹的分支清除,就能將老區塊壓縮。內部的雜湊值是不必保存的。
不包含交易資訊的區塊頭大小約為80位元組。如果我們假設區塊每十分鐘生成一個區塊,那麼一年產生的區塊頭資料為4.2MB(80位元組*6*24*365=4.2MB)。2008年常見的電腦作業系統的記憶體為2GB,摩爾定律預測,電腦記憶體每年的增長約為1.2GB。因此,即便區塊頭必須被保存在記憶體中,存儲也不會成為一個問題。
簡化支付確認
在不運行全網路節點的情況下,確認支付也是可能的。通過不停地向網路節點發起詢問,使用者可以確認最長的鏈條,只要保存最長的工作量證明鏈條的區塊頭資料副本,並且獲得將待確認交易連接到相應區塊的Merkle樹分支,而儘管使用者自身無法確認交易,但是通過將交易連接在鏈條的某個位置,就可以看到網路節點接受了這個交易,並且隨著這個交易之後區塊的累加,他能進一步確認網路接受了這個交易。
只要誠實節點控制著網路,這種確認方式就是有效的,但是當網路被攻擊者控制時,這種方法就變得脆弱。全功能網路節點可以自行確認交易,如果攻擊者控制網路,簡化的交易確認方法就可能被攻擊者編造的交易欺騙。對抗這種情況的一種策略是,可以從全功能網路節點處收聽它們發現無效區塊時發出的警告資訊,鼓勵使用者去下載被警告區塊和交易的完整資訊,以明確不一致是否發生。接受頻繁支付的商業機構可能仍會希望運行自己的節點,以達到更獨立的安全性和更快的確認。
價值的組合與分割
儘管逐一地對電子錢進行處理也是可能的,但是為轉移中的每一分錢做獨立的交易顯然不明智。為了允許價值的組合與分割,交易可以包含多個輸入與輸出。通常,要麼是由前面的較大的交易構成單一的輸入,要麼是由前面的幾次小額交易合併為並行輸入。輸出最多有兩類,一類用於支付;而如果存在找零,另一類輸出則是返回給支付者的找零。
需要指出的是,當一筆交易會依賴之前的多筆交易,而被依賴的這些交易又會依賴更多之前的交易時,不會產生任何問題。因為這個機制永遠不用去提取交易歷史完全的獨立副本。
隱私
傳統的銀行模式通過可信的協力廠商和限制獲取相關當事方的資訊,實現一定程度的隱私性。而將所有交易公開宣佈的必要性排除了上述方法實現的可能。但是在這一過程中還是可以獲得隱私性的:保持公開金鑰的匿名性。公眾可以看到一些人將一些錢送給了另一些人,但是卻沒有資訊表示這些交易與哪些人有聯繫。這與股票交易所發佈資訊的隱私性是類似的,被公佈的資訊包括股票交易的時間與大小,“交易”是記錄在案且可查詢的,卻沒有表明交易者的身份資訊。
作為一個額外的預防措施,每次交易應該使用新的金鑰對,以確保金鑰對不會與某個使用者聯繫起來。但是由於並行輸入的存在,一些聯繫的發生依然是不可避免的,因為並行輸入會告訴別人這些幣屬於同一個所有者。其中的風險在於,如果一個秘鑰的所有者被洩露了,屬於同一個所有者的其他交易也可能被洩露。
計算
設想如下場景:一個攻擊者試圖生成一條具有替代性的鏈,這條鏈的延長速度比誠實鏈的延長速度更快。即便這一目的達成了,也不意味著系統可以任攻擊者為所欲為,比如憑空製造幣或者拿走從來不屬於他的幣。節點不會接受一個無效的交易,而誠實節點永遠不會接受包含無效交易的區塊。攻擊者唯一能嘗試的是:改變一筆自己的交易,並嘗試把錢從他最近的花費中拿回來。
誠實鏈和攻擊鏈之間的競賽具有二項隨機漫步的特點。成功事件意味著誠實鏈延長了一個區塊,領先+1;失敗事件則意味著攻擊鏈延長了一個區塊,差距-1。
攻擊者成功填補某一既定差距的概率類似于賭徒破產問題。假定一個賭徒擁有無限的透支信用,然後開始進行潛在次數為無窮的賭博,以試圖填補自己的虧空,那麼我們可以計算他補上虧空的概率,也就是該攻擊鏈趕上誠實鏈的概率,如下所示[8]:
假定p>q,那麼攻擊成功的概率就隨著攻擊者要追上的區塊數的增長而呈現指數下降。概率是攻擊者的敵人,如果他最開始不能獲得幸運的突破,那麼隨著他落後的越多,他成功的機會就會變得無限渺茫。
現在考慮一下,一個新交易的收款人需要等到多長時間,才能足夠確信發款人已經不可能改變這筆交易了。假設付款人是一個攻擊者,他希望收款人相信他已經付過款了,然後過一段時間將已支付的款項重新發回給自己。付款人希望就算屆時收款人會察覺這一點,也已經於事無補。
對此,收款人生成一個新的金鑰對,然後在交易簽署前不久將公開金鑰發送給付款人。這可以防止付款人預先準備好一個鏈,然後持續地對此區塊進行運算,直到他的鏈幸運地超越了誠實鏈,然後立即執行支付。在此情形下,只要交易一發出,攻擊者就開始悄悄地準備一條包含了該交易替代版本的平行鏈條。
收款人將等待交易出現在首個區塊中,然後等到z個區塊連接在其後。此時,他仍然不能確切地知道攻擊者已經進展了多少個區塊,但是假設誠實區塊產生一個區塊將耗費平均預期時間,那麼攻擊者的潛在進展就是一個泊松分佈,分佈的期望為
在此情形下,為了計算攻擊者追趕上的概率,將攻擊者取得進展區塊數量的泊松分佈的概率密度乘以在該數量下攻擊者依然能夠追趕上的概率。
將其簡化為如下形式,避免對無限數列求和:
轉化為C語言代碼[9]:
* * *
#include double attackersuccessprobability(double q, int z) { double p = 1.0 - q; double lambda = z * (q / p); double sum = 1.0; int i, k; for (k = 0; k <= z; k++) { double poisson = exp(-lambda); for (i = 1; i <= k; i++) poisson *= lambda / i; sum -= poisson * (1 - pow(q / p, z - k)); } return sum; }
* * *
對其進行運算,可以得到如下的概率結果,發現概率對z值呈指數下降。
當q=0.1時
z=0 p=1.0000000
z=1 p=0.2045873
z=2 p=0.0509779
z=3 p=0.0131722
z=4 p=0.0034552
z=5 p=0.0009137
z=6 p=0.0002428
z=7 p=0.0000647
z=8 p=0.0000173
z=9 p=0.0000046
z=10 p=0.0000012
當q=0.3時
z=0 p=1.0000000
z=5 p=0.1773523
z=10 p=0.0416605
z=15 p=0.0101008
z=20 p=0.0024804
z=25 p=0.0006132
z=30 p=0.0001522
z=35 p=0.0000379
z=40 p=0.0000095
z=45 p=0.0000024
z=50 p=0.0000006
求解令p<0.1%的z值,具體如下。
為使p<0.001,則
q=0.10 z=5
q=0.15 z=8
q=0.20 z=11
q=0.25 z=15
q=0.30 z=24
q=0.35 z=41
q=0.40 z=89
q=0.45 z=340
結論
我們在此提出了一種不依賴信任的電子交易系統。首先討論了源自數位簽章的常見的電子錢框架,這種架構提供了強有力的所有權控制,但是不足以防止雙重花費。為了解決這個問題,我們提出了一種採用工作量證明機制的點對點網路,以記錄公開的歷史交易資訊。只要誠實的節點能夠控制大多數的CPU計算能力,就能使攻擊者在事實上難以改變這些交易記錄。該網路的強健之處在於它簡潔的非結構化設計。節點之間的工作大部分是相互獨立的,只需要很少的協作。由於資訊只需要最大努力地傳播自身,而無任何特定的流動路徑要求,所以節點不需要驗證身份。節點可以隨時離開網路或加入網路,只需要下載工作量證明鏈條,並將其作為節點離開網路的時間內系統所發生的事件的證明。節點通過自己的CPU算力進行投票,以延長合法區塊的鏈條反映對合法區塊的接受,或以拒絕在無效區塊之後延長鏈條反映對無效區塊的拒絕。
在這個共識機制裡面,所需的任何規則和激勵措施都可以用本共識機制來執行。
[1] 戴偉,a scheme for a group of untraceable digital pseudonyms to pay each other with money and to enforce contracts amongst themselves without outside help,引自於http://www.weidai.com/bmoney.txt, 1998。
[2] H. Massias, X.S. Avila, and J.-J. Quisquater, Design of a secure timestamping service with minimal trust requirements,, In 20th Symposium on Information Theory in the Benelux, May 1999。
[3] S. Haber, W.S. Stornetta, How to time-stamp a digital document, In Journal of Cryptology, vol 3, No.2, p 99-111, 1991。
[4] D. Bayer, S. Haber, W.S. Stornetta, Improving the efficiency and reliability of digital time-stamping, In Sequences II: Methods in Communication, Security and Computer Science, p 329-334, 1993。
[5] S. Haber, W.S. Stornetta, Secure names for bit-strings, In Proceedings of the 4th ACM Conference on Computer and Communications Security, p 28-35,April 1997. on Computer and Communications Security, p 28-35, April 1997。
[6] A. Back, Hashcash–a denial of service counter-measure,引用自http://www.hashcash.org/papers/hashcash.pdf, 2002。
[7] R.C. Merkle, Protocols for public key cryptosystems, In Proc. 1980 Symposium on Security and Privacy, IEEE Computer Society, P 122-133,April 1980.
[8] W. Feller, An introduction to probability theory and its applications, 1957。
[9] 引用自https://bitcoin.org/bitcoin.pdf。
附錄2 乙太坊:下一代智慧合約和去中心化應用平臺(選譯)
乙太坊基金會 著
李志闊(網名:面神護法) 趙海濤 焦鋒 譯
中本聰2009年發明的比特幣經常被視作貨幣和通貨領域內一次激進的發展,這種激進首先表現為一種沒有資產擔保或內生價值[1],也沒有中央發行者或控制者的數位資產。然而,在比特幣這場實驗裡面,更重要的創新可能是其底層作為分散式共識實現機制的區塊鏈技術,它一出現,便迅速吸引了人們的注意力。常常被人們提及的區塊鏈技術的其他應用包括使用鏈上數位資產來代表定制貨幣和金融工具(彩色幣[2]),某種基礎物理硬體的所有權(智慧資產[3]),如功能變數名稱一樣的沒有可替代性的資產(功能變數名稱幣[4]),更複雜的應用包括數位資產直接被一段可以執行任意條款的代碼控制(智慧合約[5]),甚至還有基於區塊鏈的“去中心化自治組織”(DAOs[6])。乙太坊的目標就是提供一個內置成熟的圖靈完備語言的區塊鏈,用這種語言可以創建“合約”,編碼任意狀態轉換功能。乙太坊將允許使用者通過簡單的幾行代碼實現邏輯,創建上面提到的所有系統,以及更多的我們尚未想到的新系統。
乙太坊
乙太坊的目標是創建一個可實現去中心化應用的替代性協議,並提供一種不同的權衡模式,這在很多去中心化應用的實踐中是非常有用的。我們特別強調,時間快速發展的狀態、簡單稀有應用的安全性、不同應用有效地相互作用的能力都是很重要的。乙太坊通過圖靈完備程式設計語言的區塊鏈來實現這一點。乙太坊允許任何人編寫智慧合約和去中心化的應用,並允許在其中自訂所有權規則、交易格式和狀態轉換函數。要使用乙太坊,對於一個准功能變數名稱幣的系統,只需要兩行代碼就可以完成,而其他的諸如貨幣和信譽系統,也可以用不到二十行代碼完成。智慧合約(包含價值且只有達成某些條件時才能打開的加密“箱子”)也可以在乙太坊平臺上創建,由於增加了圖靈完備性(Turing-Completeness)、價值知曉(Value-Awareness)、區塊鏈知曉(Blockchain-Awareness)和狀態(State)等特點,乙太坊所能提供的智慧合約比比特幣腳本提供的(智慧合約)功能強大得多。
乙太坊帳戶
在乙太坊系統中,狀態是由被稱為“帳戶”(每個帳戶有一個20位元組的位址)的物件和在兩個帳戶之間轉移價值與資訊的狀態轉換構成的。乙太坊的帳戶包含4個部分:
1)亂數,用於確定一筆交易只能被處理一次的計數器。
2)帳戶目前的乙太幣餘額。
3)帳戶的合約代碼(如果有的話)。
4)帳戶的存儲(預設為空)。
乙太幣(Ether)是乙太坊內部的主要加密燃料(Crypto-Fuel),用於支付交易費用。一般來說,乙太坊有兩種類型的帳戶:外部所有者帳戶(由私密金鑰控制)和合約帳戶(由合約代碼控制)。外部所有者帳戶沒有代碼,人們可以通過創建和簽署一筆交易而從一個外部所有者帳戶發送消息;每當合約帳戶收到一條可以啟動其內部代碼的消息,就會允許它對內部存儲進行讀寫,發送其他消息或者創建新的相應合約。
注意,乙太坊中使用的“合約”不應該被看作某些應該被“完成”或者“遵守”的東西,它們更像是生活在乙太坊執行環境內部的“自動代理人”,當被某條消息或者交易“撥動”時,他們總是執行某個特定的代碼,對乙太幣餘額和秘鑰/價值存儲直接控制,對帳戶的變化持續追蹤。
交易和消息
交易
乙太坊中使用的“交易”是指從外部所有者的帳戶簽發包含消息的資料包。交易包括:
·消息的接收者。
·驗證發送者的簽名。
·從發送者到接收者轉移的乙太幣的數量。
·一個可選的資料區。
·一個STARTGAS值,代表交易執行過程中被允許的計算步驟的最大值。
·一個GASPRICE值,發送者為每一步計算支付的費用。
前三步在任何加密貨幣體系中都是可預期的標準步驟。可選的資料區目前並沒有任何預設功能,但是有這樣的操作碼,即允許合約引用這裡的資料。
在乙太坊抵抗拒絕服務攻擊的模式中,STARTGAS和GASPRICE欄位是關鍵的部分。為了防止代碼中出現計算浪費,乃至出現意外或者惡意定義的無限迴圈,每個交易被要求設定一個代碼執行過程可以使用的計算步驟的上限。計算的基本單位是“瓦斯”(gas),通常一步計算消耗1gas,但是有些計算由於更加複雜,或者增加了作為狀態的一部分而必需存儲的資料量,會消耗更多的瓦斯。每一個位元組的交易資料也會消耗5gas。費用系統的初衷在於要求攻擊者為他們消耗的資源支付相應的代價,比如計算能力、頻寬、存儲等。因此會帶來更多網路消耗的交易也要支付大致相應的交易費(瓦斯)。
消息
交易可以向其他合約發送“消息”,消息是虛擬的,永遠不會序列化,只存在於乙太坊執行環境中。一則消息包括:
·消息的發送者(隱式的)。
·消息的接收者。
·與消息同時傳遞的乙太幣的數量。
·一個可選的資料區。
·一個STARTGAS值。
基本上,除了消息是由一個合約而不是外部所有者帳戶發出之外,消息和交易類似。當一個合約執行“CALL”操作碼的時候,消息產生,該操作碼的功能就是生成和執行消息。像交易一樣,消息可以使接受消息的合約執行自己的代碼。因此合約可以和外部所有者的帳戶一樣,與其他帳戶發生關係。
乙太坊狀態轉換函數
乙太坊的狀態轉換函數:APPLY(S,TX)->S',可以定義如下:
1)檢查交易格式是否正確(比如數值是否正確等)、簽名是否有效、亂數是否與發送者帳戶的亂數匹配。如果不是,返回錯誤。
2)計算交易費用:fee=STARTGAS*GASPRICE,並從簽名中確定發送者位址。從發送者的帳戶中減去交易費用,增加發送者的亂數。如果帳戶餘額不足,返回錯誤。
3)初始值GAS=STARTGAS,按交易中的位元組數減去一定量的瓦斯值。
4)將交易價值從發送者的帳戶轉移到接收者帳戶。如果接收帳戶還不存在,則創建此帳戶。如果接收帳戶是一個合約,則運行該合約的代碼,直到代碼運行結束或者瓦斯用完。
5)如果因為發送者帳戶沒有足夠的錢或者代碼執行耗盡瓦斯,從而導致價值轉移失敗,則恢復除了交易費之外的初始狀態,交易費送至礦工帳戶。
6)如果沒有失敗,則將所有剩餘的瓦斯歸還給發送者,消耗掉的瓦斯作為交易費用發送給礦工。
例如,假設合約代碼如下:
* * *
if !self.storage[calldataload(0)]: self.storage[calldataload(0)] = calldataload(32)
* * *
需要注意的是,在現實中,合約代碼是用底層乙太坊虛擬機器(EVM)代碼寫成的。而為了清楚起見,上面的合約用的是高階語言Serpent語言寫成的,它可以被編譯成EVM代碼。假設合約記憶體在開始時是空的,交易發送值為10乙太,瓦斯數為2000,瓦斯價格為0.001乙太,整個資料大小為64位元組。0~31位元組代表號碼2,32~63位元組代表字串CHARLIE。交易發送後,狀態轉換函數的處理過程如下。
1)檢查交易是否有效、格式是否正確。
2)檢查交易發送者是否至少有2000×0.001=2個乙太幣。如果有,從帳戶中減去2個乙太幣。
3)初始設定gas=2000,假設交易長為170位元組,每位元組的費用是5,減去850,所以還剩1150。
4)從發送者帳戶減去10個乙太幣,為合約帳戶增加10個乙太幣。
5)運行代碼。在此案例中,運行代碼很簡單:它檢查合約存儲索引為2的位置是否已被使用,如果未被使用,將其值設為CHARLIE。假設這消耗187gas,於是剩餘瓦斯為1150-187=963gas。
6)向發送者的帳戶增加963×0.001=0.963個乙太幣,返回最終狀態。
如果交易的接收端沒有任何合約,那麼所有的交易費用就等於GASPRICE乘以交易的位元組長度,與交易同時傳遞的消息資料與交易費用無關。
代碼執行
乙太坊合約使用的代碼是低級的基於堆疊的位元組碼語言,被稱為“乙太坊虛擬機器代碼”或者“EVM代碼”。代碼由一系列的位元組構成,每一位元組代表一項操作。一般而言,代碼執行的是重複操作構成的無限迴圈,程式計數器(初始值為零)隨著每一次執行加1,直到代碼執行完畢或者遇到錯誤,或者發現STOP/RETURN指令。操作可以訪問3種存儲資料的空間:
1)堆疊,一種後進先出的資料存儲。
2)記憶體,可無限擴展的位元組佇列。
3)合約的長期存儲,一個秘鑰/數值的存儲,不像計算結束後將重置的堆疊和記憶體,該空間的存儲內容將長期保持。
代碼可以像訪問區塊頭資料一樣,訪問數值、發送者和接收到的消息資料,代碼還可以返回資料的位元組佇列作為輸出。
EVM代碼的正式執行模型驚人的得簡單。當乙太坊虛擬機器運行的時候,它的完整計算狀態可以由元組(block_state,transaction,message,code,memory,stack,pc,gas)來定義,這裡的block_state是包含所有帳戶餘額和存儲的全域狀態。每輪執行開始時,通過調出代碼的第pc(程式計數器)個位元組,找到當前指令。在如何影響元組上,每個指令都有自己的定義。例如,ADD使兩個元素出棧並將它們的和入棧,將gas減1並使pc加1,SSTORE使頂部的兩個元素出棧並將第二個元素插入由第一個元素定義的合約存儲位置,同樣減少最多200的瓦斯值並將pc加1,雖然通過即時編譯,有許多方法可以優化乙太坊虛擬機器的執行,但乙太坊的基本功能可以用幾百行代碼來實現。
區塊鏈和挖礦
雖然有一些不同,但乙太坊的區塊鏈在很多方面類似於比特幣區塊鏈。它們的區塊鏈架構的主要不同在於,乙太坊區塊不僅包含交易記錄還包括最近的狀態,除此之外,乙太坊區塊鏈還包含區塊序號和難度值。乙太坊中的基本的區塊確認演算法如下:
1)檢查區塊引用的上一個區塊是否存在和有效。
2)檢查區塊的時間戳記是否大於引用的上一個區塊,而且小於當前時間之後的15min。
3)檢查區塊序號、難度值、交易根,叔根和瓦斯限額(許多乙太坊特有的底層概念)是否有效。
4)檢查區塊的工作量證明是否有效。
5)將S[0]作為上一個區塊結束時的狀態。
6)將TX作為區塊的交易清單,設有n筆交易。對於屬於0~n-1之間的任意一筆交易i,令S[i+1]=APPLY(S[i],TX[i])。如果任何一個過程發生錯誤,或者程式執行到此處所花費的瓦斯超過了GASLIMIT,則返回錯誤。
7)用S[n]給S_FINAL賦值,向礦工支付區塊獎勵。
8)檢查S_FINAL狀態的Merkle根是否與區塊頭提供的狀態根一致。如果是,區塊有效,如果不是,區塊無效。
乍看起來,這一確認方法的效率似乎很低,因為它需要存儲每個區塊的所有狀態,但是事實上乙太坊的確認效率可以不低於比特幣。原因是狀態存儲在樹結構中,每經過一個區塊後,只需要改變樹結構的一小部分。因此,一般而言,兩個相鄰的區塊的樹結構絕大部分是相同的,因此存儲一次資料,可以利用指標(即子樹雜湊)引用兩次。一種被稱為“派特裡夏樹”(Patricia Tree)的樹結構可以實現這一點,其中包括對Merkle樹概念的修改,不僅允許改變節點,而且還可以插入和刪除節點。另外,因為所有的狀態資訊是最後一個區塊的一部分,所以不用存儲全部的區塊歷史——如果這一策略可以應用到比特幣系統中,則可以提供5~20倍的空間節省。
一個經常被問及的問題是,在物理硬體層面上,合約代碼在哪裡執行。簡單的回答是,合約代碼的執行過程是狀態轉換函式定義的一部分,是區塊確認演算法的一部分,所以如果一筆交易被加入到區塊B中,那麼這個交易引發的代碼執行將會在所有目前和將來會下載與驗證區塊B的節點中進行。
計算和圖靈完備
很重要的一點是,乙太坊虛擬機器是圖靈完備的,這意味著EVM代碼可以完成人們能想到的所有計算,包括無限迴圈。EVM允許兩種形式的迴圈:首先,有一個JUMP指令,允許程式跳回到代碼前面的某處,而JUMP1指令則可以實現有條件的跳轉,允許類似下面的語句:while x<27:x=x*2。其次,合約可以調用其他的合約,潛在地允許通過遞迴實現迴圈。這自然帶來一個問題:惡意用戶可以通過使礦工和全節點進入無限迴圈而令用戶不得不關機嗎?這個問題出現的原因是:一般意義上,我們沒有辦法預知一個程式是否會結束(電腦科學中的停機問題(Halting Problem))。
正如前面所述,解決方案是為每一個交易設定計算步驟的最大數量,如果執行超過設定的步驟,則將交易恢復成原狀但仍要支付費用。消息發送以同樣的方式工作。為顯示這一方案背後的動機,考慮下面的例子:
·攻擊者創建了一個運行無限迴圈的合約,然後發送一個啟動該迴圈的交易給礦工,礦工將處理交易,運行無限迴圈直到瓦斯耗盡。儘管瓦斯耗盡,交易半途停止,但交易依然是正確的(返回原狀),並且礦工依然從攻擊者那裡得到了每一步計算的費用。
·攻擊者創建一個非常長的無限迴圈,試圖令礦工長時間計算,在計算結束前,若干區塊已經產生,於是礦工無法收錄交易以賺取費用。然而,攻擊者需要發佈一個STARTGAS值以限制可執行步數,因而礦工將提前知道該計算將耗費過多的步數。
·為減少風險,一個金融合約靠提取9個專用資料發佈的中值來工作,攻擊者接管了其中一個資料發佈器,然後按可變位址調用機制將其更改為運行一個無限迴圈,試圖令任何使用此金融合約的嘗試都因瓦斯耗盡而中止。然而,該金融合約可以在消息裡設置瓦斯限制以防範此類問題。
此外,圖靈不完備甚至不是一個大的限制,在我們設想的所有合約例子中,至今只有一個需要迴圈,而且這一個迴圈也可以被26個重複的單行程式碼片段代替。既然圖靈完備會帶來很多潛在的麻煩並且益處有限,為什麼不簡單地使用一種圖靈不完備語言呢?事實上圖靈不完備並非一個簡潔的問題解決方案。為什麼?請考慮下面的合約:
C0:call(C1)call(C1)
C1:call(C2)call(C2)
C2:call(C3)call(C3)
...
C49:call(C50)call(C50)
C50:(運行程式中的每一個步驟並在存儲中記錄發生的變化)
現在,發送一個交易給A,這樣,在51個交易中,我們有了一個需要花費250步計算的合約,礦工可能會嘗試通過為每一個合約設置一個最高可執行步數,並且針對遞迴呼叫其他合約的合約計算可能執行的步數,從而預先檢測出這樣的邏輯炸彈,但是這會使礦工禁用可以創建其他合約的合約(因為上面26個合約的創建和執行可以很容易地放入一個單獨合約內)。另外一個問題是消息的位址欄位是一個變數,所以通常來講,幾乎無法預知一個合約將要調用哪一個合約。於是,最終我們得到一個令人驚詫的結論:對圖靈完備協議的管理很容易,而除非有相當的控制措施,圖靈不完備時的管理驚人得困難——那為什麼不讓協議圖靈完備呢?
[1] 引用自http://bitcoinmagazine.com/8640/an-exploration-of-intrinsic-value-whatit-is-why-bitcoin-doesnt-have-it-and-why-bitcoin-does-have-it/。
[2] 引用自https://docs.google.com/a/buterin.com/document/d/1AnkP_cVZTCMLIzw4DvsW6M8Q2JC0lIzrTLuoWu2z1BE/edit。
[3] 引用自https://en.bitcoin.it/wiki/Smart_Property。
[4] 引用自http://namecoin.org/。
[5] 引用自http://szabo.best.vwh.net/smart_contracts_idea.html。
[6] 引用自http://bitcoinmagazine.com/7050/bootstrapping-a-decentralized-autonomouscorporation-part-i/。
後記
對話作者:區塊鏈離我們還有多遠
隨著區塊鏈的熱度不斷上升,我在不同時間接受了不同人的採訪。每一次的訪談,同時也讓我對區塊鏈有了更深的理解。以下幾節內容是從我的這些訪談中整理出來的,希望能對大家有幫助。
1.區塊鏈的嬰兒時代
記者:最近區塊鏈很熱,那火幣區塊鏈研究中心最近在做哪方面的研究,或者比較看好哪方面的應用?
張健:我們現在主要做的是區塊鏈基礎理論的研究及基礎設施的構建,雖然我們也在應用層面做一些嘗試,但目前來說,應用或者說應用層還不是這個階段最大的機會。就像真正的互聯網在形成之前,網路還是割裂的,還沒有達到大範圍的互聯互通,基礎協議及設施也不健全,不具備產生大規模商業應用的機會。所以我們主要還是做一些基礎層面的研究,並嘗試跟各個行業一起做一些基礎層面的研究。
記者:那你覺得當前區塊鏈會在金融領域產生哪方面的影響?
張健:最近這個概念很熱,但金融領域有這樣一個特點——變化沒那麼快,而且在區塊鏈基礎設施真正成熟之前,對於傳統金融業現有的基礎設施的替代性還沒有那麼強,金融業還沒有充足的理由去依賴這樣一個技術。所以說,目前存在的核心阻礙在於,由於區塊鏈基礎設施不夠成熟,它給金融業帶來的價值還沒有那麼大。我的觀點是,隨著區塊鏈技術的演進與發展,它對於金融業的真正價值是提供了一個更大的想像空間。區塊鏈可以從本質上提升金融業的效率,創造新的價值連接和商業模式,這是一個更為宏大的未來,而不僅僅是改造或替代現有的系統。
目前區塊鏈技術在金融業的應用還處在探索階段。有影響力的應用還沒有誕生,大部分都處於理論研究及內部測試階段。比較有影響力的探索就是R3CEV的銀行聯盟,現在已經有40多家國際頂級銀行加入,以測試銀行間的清算、結算網路。
另外,納斯達克首次利用區塊鏈技術完成和紀錄了一項私人證券交易。德勤在近期已完成區塊鏈技術與愛爾蘭銀行的系統相關技術融合的驗模、驗證。你會發現這類的探索越來越多,但這些都還處在非常早期的概念驗證階段。所以說,就當前而言,或者從短期來看,區塊鏈對金融領域的影響會很有限。
記者:那你認為區塊鏈現處於概念宣揚階段嗎?
張健:是的。區塊鏈技術目前還處於概念宣揚階段。區塊鏈目前能解決什麼問題?有沒有什麼不可替代性?未來到底會怎樣?如果我們不談未來談現在的話,你會發現沒有或者很少。就像很多技術的早期一樣,最典型的是2000年前後的互聯網泡沫,泡沫破滅後,你會發現互聯網其實沒那麼神奇,不過爾爾,甚至連自身的商業化都有難度。並且早期的互聯網也遠沒有到能影響、滲透各行業的地步。不過真正偉大的互聯網公司的種子,也是在那時種下的。
當一種技術還沒有達到可以爆發大規模商業應用的時候,特別是基礎設施和普及程度都還很不成熟的時候,若基於很多很好的概念,認為大時代馬上要到來,其實是有點早了。對於未來的預期你認為現在就能實現,這就是一種過熱。
2.區塊鏈的創業機會
記者:您認為現在的區塊鏈還處於嬰兒時期,那麼在嬰兒階段,屬於創業公司的機會有多少?
張健:我認為在整個大的行業中,屬於創業公司的機會非常多。對於一項技術,特別是顛覆性技術而言,我們容易形成的誤判是,高估短期影響,低估長期影響。用同樣的道理去看創業機會,我認為,早期的機會遠沒有我們想像中那麼多,而中後期的機會卻會遠遠超出我們的想像。
雖然區塊鏈技術是一個比較新的東西,但它不是一個點的突破,而是一個面的突破,或者說是一種連線的技術,本身並不複雜,同時也利用了現有互聯網的技術基礎。因此,它不是一個超脫互聯網層面的東西,它仍然是在現有互聯網基礎上構建的層級。所以從這個角度來講,在互聯網方面有很深積累的公司,或者在IT領域非常有經驗的公司具有天然的優勢。舉個例子來說,銀行系統用的大都是IOE的設施,如果現在要用一個區塊鏈系統,那麼銀行怎麼可能會讓一個創業公司來擔此如此重要的開發角色?所以,從短期來說,區塊鏈創業公司對各個行業的影響較弱,針對私有鏈的建設等,也很難構建出什麼大的平臺。
從中長期來看,我認為這是一個非常巨大的機會,而且這個機會一定是新一代的公司能把握的。
記者:目前已經有一些創業公司即將或已開始專注于區塊鏈方面的創業,那你覺得如果要在未來勝出,最重要的是什麼?
張健:我認為最重要的是把握住時機。對於未來你是否能夠在一個恰當的時間點切入並把握住正好屬於你這個時間點的機會,除了能力之外,這還需要判斷力、勇氣、堅持,以及不可或缺的運氣。
2000年左右,國內有一家叫8848的電子商務公司,它是當年互聯網公司的翹楚之一,拿到過幾千萬美金的投資,一度聲勢很大,但最終沒有成功。導致其失敗的一個非常重要的客觀原因是,除了互聯網之外,其他和你配套的關鍵基礎設施都沒有——沒有成熟的支付體系和物流體系。在網上賣東西,但沒有便捷可靠的支付管道,也沒有高效的配送體系,用戶體驗非常差,怎麼能夠把這個做起來?它的規劃是沒有問題的,錯的是那個屬於你的成功階段還沒有到來。解決辦法是堅持到那個階段,或者也可以憑一己之力把整個基礎設施構建完,讓這個階段提前到來。但事實上,這種大規模的基礎設施構建往往不是一家公司就可以搞定的。這就是這一類新生事物發展成熟的規律,它需要依賴整個社會協作系統的建立,遠不止是技術突破的問題。
精確地抓住時機是非常難的。那麼從早晚來分析的話,如果做早了,只要方向對,還有堅持到爆發的可能;但如果做晚了,基本上你就和這個機會無緣了。正如你現在再去創建門戶網站、再去創造BAT這樣的平臺,是沒有任何機會的。因為屬於那個時代最好的創業機會已經一去不復返了。
記者:有些公司在區塊鏈應用上已有落地,那你覺得如果要建立壁壘,主要應從技術層面還是商業層面入手?
張健:我認為一定是技術層面與商業層面結合。如果你只是純粹的商業模式,而不考慮互聯網技術特徵的話,商業模式不可能給出什麼壁壘,可複製性非常高。而如果你僅僅認為這是一個技術問題,很大可能是,你做出的東西並沒有市場。
回到現在,雖然現在很多公司對外宣佈他們已經在區塊鏈實際應用中有了落地,但我認為區塊鏈技術在未來的應用將會超出你的想像,它將會是一個非常神奇、能帶來無數驚喜的東西。所以我認為,在如此早的階段,從應用角度看,早一點切入還是晚一點切入,並不會產生太大的差距。關鍵是能否構建你的壁壘。
目前所謂的一些落地應用,其實還沒有用到區塊鏈真正的價值。因為還沒有一個構建得非常好的區塊鏈基礎設施,各種各樣的資產還不能在此基礎設施上很好地運轉,完成轉換和交易。所以,我的觀點是:離互聯越遠,它的作用就越小,可替代性就越強。在這種情況下,它的概念性東西可能就會多一些,實際應用就會少一些。
比如企業內部可以做一個區塊鏈,用於內部清算,那這能算是區塊鏈嗎?我個人認為這不是區塊鏈,因為你沒有連任何東西,你只是在連你自己。正如同你不能說把自己家裡的3台電腦連起來就是互聯網。內部的區塊鏈系統只能算是資料庫——分散式資料庫。
因此,從目前來看,在大量基礎設施還沒搭建完善的情況下,想要在區塊鏈應用領域做出一番事業,難度還是非常大的。
3.區塊鏈離我們還有多遠
記者:從區塊鏈技術的誕生到大規模的應用,你覺得還需要多長的時間?
張健:目前離區塊鏈大規模應用還有很大的距離,基礎設施不夠成熟是目前的核心問題。加快基礎設施的建設很有必要。當區塊鏈的基礎設施成熟到能夠方便地將各種形式的價值連接起來、並能夠自由地和高效地傳輸的時候,基於區塊鏈的應用將會體現出強大的價值,這時候區塊鏈將得到更快的推廣。
這是一個符合市場規律的自然發展過程,無論我們現在對於區塊鏈應用有多麼熱切的期望,它還是會按照事物發展的客觀規律從小到大,經歷從不成熟到成熟再到繁榮的過程。
我認為大規模的爆發在未來一定會發生,那時區塊鏈會建立起真正的優勢。但預測未來是很難的,如果一定要預測的話,可以類比互聯網從誕生到發展再到繁榮的過程。區塊鏈目前的發展階段相當於20世紀90年代中期互聯網所處的階段。由於科技的發展和普及速度是加速狀態,所以我相信這個時間一定比互聯網經歷的時間要短。
大家談之《區塊鏈大革命》
2016年5月初,火幣在巴比特論壇發起了一個徵文活動[1]——區塊鏈第一書:#我眼中的中本聰和區塊鏈#。活動內容中提到“有獨到見解、品質優秀的作品將有機會入選本書,並收錄在“大家談”章節印刷出版。”
徵文活動獲得了踴躍的投稿,其中一篇“區塊鏈大革命”脫穎而出,它以獨到的見解及流暢的文風,獲得了一致好評。故筆者收錄此文於結語,以饗讀者。
區塊鏈大革命
文/魏然
一、互聯網&金融、資訊&信任
該怎麼判斷一個人所處的行業呢?主要看“氣質”!這並不完全是句玩笑話。我的朋友大多在互聯網、金融或互聯網金融行業工作,僅從氣質上感受一下,便可以發現兩者的價值取向截然不同。“碼農”的標配是T恤和拖鞋,而“金融民工”都是西裝革履。
為什麼會這樣呢?
這得從金融的本質談起:金融是人們跨越時間、空間對價值進行交換的活動,而價值交換的前提是“資訊”和“信任”。最原始的交換是以物易物,比如用一頭羊換一隻雞,可是供需很難直接匹配,於是人們開始尋找貝殼、金銀等作為價值交換的載體。再後來,由於金銀等物質攜帶起來不夠安全方便,紙幣及銀行應運而生,雖然紙幣本身沒有價值,但由可靠的銀行為其背書,一張薄薄的紙也成了價值的載體。到了互聯網時代,連紙都變得可有可無了,支付簡化成單純的“記帳”行為。用刷卡、支付寶或Apple pay時,我們並沒有付出任何實物,只是雲端帳本裡的數字發生了變化。由此可見,金融的演進遵循3個邏輯:①金融創新來源於商業和技術創新;②資訊不對稱、分散風險等因素促使金融仲介產生,但其物理形態不斷演變,最終可能被數字取代;③金融創新的目的是覆蓋更多的交易主體,更好地滿足他們的需求。
而互聯網的本質又是什麼呢?最初,它只是資訊的搬運工,我們可以通過互聯網迅速將資訊複製到全世界,但無法解決價值轉移的問題。互聯網所依託的TCP/IP協定不能實現資訊確權,這讓資產的交換變得很困難。比如,大家可以在網上隨意下載mp3格式的歌曲,這使得唱片業受到很大的衝擊。在互聯網上,若連一首歌曲的產權都無法得到保護,那更不用提涉及更大價值的其他金融資產的轉移了。
現在回到最初的問題,為什麼金融民工都會穿得西裝革履,但互聯網巨頭馬克·紮克伯格卻仍然穿著T恤拖鞋呢?
金融民工穿西服和銀行的樓蓋得金碧輝煌的原理是一致的,因為需要增加客戶對中心化機構的信任。如果人們不相信銀行的償付能力,可能就會發生擠兌,從而導致銀行破產;如果政府沒有公信力,法幣便會貶值如廢紙。這種基於對單點的信任而建立起來的信用共識,逼迫金融仲介去維護高大上的形象。
同時,按照金融演進的邏輯,傳統的金融仲介來源於線下商業活動,最初依賴抵押物來做典當式的借貸,後來隨著資料技術的發展,開始嘗試無抵押的消費貸款。然而,這種依靠資產抵押和收入狀況來評估信用的模式,使富人、大企業比窮人、初創企業更容易獲得融資支持。金融長期以來是偏向高端客戶的服務業,這也是金融民工打扮得光鮮亮麗的原因。
互聯網企業為什麼會涉足金融呢?因為線上商業場景出現,在主戰場上做起金融自然得心應手。其突出優勢在於可以依靠線上資料來低成本地做信用評估。阿裡、京東掌握了線上商城的交易資料,可以廉價地為小商戶和個人進行信用畫像,降低了服務門檻,滿足了中低端客戶的長尾需求。這可能是互聯網企業更親民的原因所在。
按這種說法,互聯網企業不端、不裝又劫富濟貧的羅賓漢形象躍然紙上。然而,業內的各種亂象卻擊碎了我們烏托邦式的幻夢。當我們無法掌控自己的信用資料,而監管又不夠給力時,互聯網企業也可能依靠強大的資訊掠奪能力建立起新的壟斷,或變成跑路的P2P平臺和販賣虛假資訊的“惡人”。
由此可見,單純地利用互聯網技術去除傳統金融中心並不一定就是好事。傳統仲介和互聯網公司在不同的領域有自己的比較優勢,金融的完全去仲介是不太可能也沒有必要的,發展的趨勢應是向開放的多仲介和服務型的弱中心演變。
二、互聯網革命之路——區塊鏈
自誕生之日起,互聯網便被寄予了美好願望,我們期待代碼將自由、平等的價值觀變得程式化和可執行化。於是有人認為,如果互聯網企業控制個人資料和資訊入口形成新的壟斷並取代舊的中心,便是在叛變“革命”,是人性最大的“惡”。
但我認為,這不僅是商業倫理問題,也是一個技術問題。這些年來,資訊互聯網賦予每個線民權力,每個人都可以成為資訊的接收者和發出者,一篇微信文章可以擁有10萬+的閱讀量,一個公眾號可以聚集成千上萬的粉絲。閱讀、點贊、留言都是一種公共參與。但由於資訊未被確權,流動無據可查,許多罪惡都可以假自由之名而行,而且網路應用層的HTTP協定是中心化的,資訊都集聚在公司手裡,這可能造成了互聯網巨頭的原罪。
當市場失靈時,人們自然會想到依靠監管來維護互聯網世界的規範,但依靠協力廠商監管來維護資訊安全的效果也不盡如人意,過濾和審查資訊的邊界常常不由我們控制。要安全還是要自由,這是一個糾結的問題。
演變至今日,互聯網必須要升級成對資訊負責,給資訊確權的信用互聯網,而這個過程不能僅由政府、企業來完成,每個線民都應參與進來,一同決定互聯網的前途。
在信用互聯網上,每個節點都會成為信用公證員和監督者,而我們需要的是一套類似於互聯網協議的制度安排,區塊鏈便是應運而生的一種嘗試。
2008年11月1日,一個自稱中本聰的人在網路上發表了《比特幣白皮書:一種點對點的電子現金系統》,在這篇報告裡,中本聰闡述了他對比特幣這一電子錢的構想,而區塊鏈就是比特幣的公共帳本。
以區塊鏈為基礎,人們正在互聯網上建立起一整套信用互聯網治理機制,包括①工作量證明機制(如果要篡改區塊鏈上的資料,需要擁有超過全網51%的算力,這會使得作偽的成本高於預期利益);②互聯網共識機制(無需甄別好壞,以共識來確保正確);③智慧合約機制(以可編譯的程式代替合同,網路自動執行合約);④互聯網透明機制(帳號全網公開而戶名匿藏);⑤密碼學,非對稱加密和公私密金鑰等技術等。
依靠這些制度安排,區塊鏈可以讓參與者在不建立信任關係的情形下,通過一個統一的帳本系統確保資金和資訊安全,這項技術顯然很合金融行業的胃口。利用區塊鏈開源、透明的特性,參與者能夠驗證帳本歷史的真實性,這可以規避當前P2P借貸平臺的跑路、欺詐等事件;而且,區塊鏈交易被確認的過程就是清算、交收和審計的過程,可以提升效率。由於所有檔或資產都能夠以代碼的形式體現,智慧合約及自動交易可以在區塊鏈上實現。最後,區塊鏈比單點中心的容錯性高很多,具備安全性。除了金融領域外,區塊鏈還是一個關於信任的底層協定,可以對社會生活的各個方面造成衝擊。根據梅蘭妮·斯萬的觀點,區塊鏈技術的發展可以分為三個階段:1.0是貨幣(如比特幣);2.0是合約(如乙太坊);3.0是超越金融經濟外,特別是在政府、文化、健康等領域的應用。
而在我的眼裡,區塊鏈最大的魅力倒不在於其改變世界運作規則的能量,而在於其延展我們個體自由的潛力。
三、區塊鏈的人文和社會價值
中本聰是誰真的重要嗎?在區塊鏈世界的邏輯裡,中心、權威、首創者、精神領袖都不應該成為關注的焦點。關注區塊鏈的人的動機各不相同,有想靠其投機賺錢的商人,也有金融從業人員與碼農極客,還有自由主義者等熱愛區塊鏈背後所蘊含的意識形態的人。
信任,其實就是彼此相信對方不會做出傷害到我的欺詐和違約行為。信任的產生包含三個層面,一是對方沒有欺詐的動機;二是對方有欺詐的動機卻不敢或不願真的去行動;三是對方不僅有動機,還真的做出欺詐行為,但由於各種原因,不會對我造成傷害。
傳統的防止欺詐的方法針對這3個層面佈局了一些制度設計。一是防心魔,即靠道德教化,不讓你產生違約的動機;而是靠中心化強權,即不管是法律還是暴力,都在提升違約成本而阻止你開展行動;三是外部補償,如買保險,由協力廠商補償來規避風險。
但我們發現,這些制度設計都在一定程度上損害了個人的自由意志。我們得去遵守一些有局限性的“道德規範”,活在他人的評價體系裡;我們要依賴協力廠商權威,否則無人幫我們申冤和規避風險。這依賴的是一種中心化的思維方式。
而區塊鏈技術是對個體自由的極大伸展。個體不僅可以保留欺詐的動機,甚至可以真的採取欺詐行動,然而最後一道防火牆(區塊鏈機制)可以消解節點的欺詐和違約對他人造成傷害的可能性。
解除協力廠商權威是一件很刺激的事情,就像聽到尼采說“上帝死了”一樣令人激動。在19世紀,便有人說:“上帝是一個無用而且很花錢的假設,因此我們不需要他。”儘管沒有了上帝,我們依舊要共同遵循某些規則,只是這些規則不再來源於“超驗”的上帝,而是基於對科學和個人理性的共識。
擺脫對他人的信任而達成合作也是一件很刺激的事情,仿佛給“他人即地獄”的困境找到了出口。人在群體生活中為了達成共識必須主動(基於道德、同情等)或被動(迫於法律、暴力)地妥協。很多公共美德,如“誠信””寬容““互助”,本質上只是為了減少人們在交往中產生摩擦而進行的制度設計。個人不得不出讓一部分自由意志來達成合作。
為了整體的“和諧”,我們都得戴上面具示人。有沒有可能通過設計一個機制,讓我們更真實地面對自己的“私心”和“雜念”,在交往中“少一點套路,多一點真誠”呢?
我認為是可能的,在“私心”方面,亞當·斯密假設每個人都只是最大限度地追求效用的“自私的人”,我們不需要偽裝成“禁欲系”或無私奉獻的“螺絲釘”。只要搭建了市場和價格機制這一基礎協議,個體就有內生的動力來創造價值。我國的改革開放便是認同了市場這個“基礎協議”的偉大嘗試,事實證明“群集智慧”遠遠超過了“中心智慧”的財富創造能力。
這給了我們一個很大的啟發,是不是只要能開發出另一套基礎協議,便有可能解放人類的“雜念”——主觀的道德判斷(Moral Core),我們不必與他人達成價值判斷上的共識,也不會傷害別人,更不妨礙整體的合作呢?有無可能不僅消解了協力廠商權威的背書,也不依賴海誓山盟或“人品”(一種基於口碑的信用憑證)而實現陌生人之間的合作呢?
有人可能會問,為什麼要這樣呢?聽媽媽的話,做一個講誠信的好人難道不是我們該做的嗎?這也是一個很有趣的問題,因為這關係到“善”“惡”的標準究竟是什麼,“誠信”是不是在任何情境下都是正確的,道德是絕對的還是相對的等哲學問題。
如果我們一輩子都待在一個小村莊裡,這種道德哲學上的爭論可能毫無價值。但在互聯網將全球人類聯繫在一起,跨國跨種族跨文化交流成為常態的時代,我們會發現所謂的“道德”“習俗”甚至“法律”都有很大的時代與地域局限性,無法滿足大規模的陌生人之間協作的要求。薩特在《存在主義是一種人道主義》中說,如果我們沒有選擇的自由,便不需為自己的行為負責,因為哪怕我做了惡,也不是出於我自由意志的選擇,那麼我何罪之有?必須首先保證人能真實地表達自己,有自由選擇和行動的權利,他才能達致“善”或“惡”,否則他只是一個空殼式的道德模範罷了。因此,存在主義是一種人道主義,取消對個人價值判斷的干涉是在恢復人的尊嚴。因此,在這種時代背景下,已經沒有固定的“好”人的標準,尊重個性化和多元的價值觀更為重要。
存在主義進一步說,人在為自己做出選擇時,也為所有的其他人做出選擇。比如我決定結婚,儘管這一決定只是根據我的處境和情感做出的,但我不僅在為自己承擔責任(Commitment),而且表達了我對婚姻制度的認可,從而影響了他人。每個人都是一個節點,代表一個“主觀性”,而世界便是“主觀性”林立的分散式世界。區塊鏈制度保證了每個節點都能平等地參與治理和表決,當每個人(Person)都成為具備表達和表決權的人(Man)時,由此組成的集合體(Collectivity)也開始富有人性。過去,在提到古雅典的城邦民主時常要強調其小國寡民的地理特點是實現直接民主的前提,而在科技高速發展的今天,我們完全有望突破物理條件的限制,將全世界的人接入網路社區實現民主投票和協同治理。
在傳統經濟學中,資源稀缺是基本假設,競爭並攫取資源所有權是主題。而如今,認知與資源盈餘出現,合作並共用資源的使用權是大勢所趨。而共用經濟形態急需建立全球性的信用共識,因此我們尋找到人類文明最大的公約數——數學。區塊鏈是一個對人性悲觀卻非常真誠的協議。既然沒有辦法逃避選擇,不選擇也是一種選擇,人就必須為自己的存在和一切行為”承擔責任“,與其信權威、信上帝、信他人,還不如信數學、信自己、信理性。
如果說市場機制這個基礎協議解放了個體“私欲”,通過價格和競爭激發了每個節點創造財富的能動性,那麼區塊鏈機制這個基礎協議便通過分散式的信用公證,使互不信任的節點進行大規模協作成為可能,這可以激發共用經濟和協同治理的巨大潛能。可以運用區塊鏈基礎協議的領域從經濟、金融向政治、社會拓展,比較突出的領域有共用經濟、物聯網、去中心化社會(DAS)、區塊鏈婚姻認證(可用於有爭議性的LGBT婚姻)等概念,這是一場正在發生的革命。
以婚姻為例,婚姻一般意味著雙方通過合約綁定在一起,他們共用帳戶、地契,通過制定育兒、養老合約等確保未來安全地在一起。2015年10月,在美國佛羅里達的迪士尼樂園,全球第一例比特幣婚姻被提交到區塊鏈上,誓言被寫入文本注釋欄位,並嵌入了0.1比特幣的交易中,因此將永遠記錄在區塊鏈帳本裡。區塊鏈代替了政府的見證功能,在某種程度上更加公平和自由。
然而,我們也要注意到,區塊鏈的演算法信任只可以用於婚姻合約,卻無法保證愛情的忠貞,比如對精神出軌的違約行為它是無能為力的。世界的實相是流動的事件,而不是靜止的物件,一段關係的生滅常斷,依賴不同的緣起條件,而人的心理活動(受、想、行、識)更是無常,想簽訂演算法合約來維繫情感關係本就是該破除的“我執”,能在分開之後說一句“愛過”已是仁至義盡。真實的情感交易也許從未發生,所以無法由他人為你見證、蓋戳。互聯網和人工智慧的確給人類帶來很多變革,但問世間情為何物,機器人如何能懂?
本書由“行行”整理,如果你不知道讀什麼書或者想獲得更多免費電子書請加小編微信或QQ:2338856113 小編也和結交一些喜歡讀書的朋友 或者關注小編個人微信公眾號名稱:幸福的味道 id:d716-716 為了方便書友朋友找書和看書,小編自己做了一個電子書下載網站,網站的名稱為:周讀 網址:http://www.ireadweek.com
參考文獻
[1]梅蘭妮·斯萬.區塊鏈-新經濟藍圖及導讀[M].韓鋒,龔鳴,等譯.北京:新星出版社,2015.
[2]秦誼.區塊鏈衝擊全球金融業[J].當代金融家,2016.
[3]韓鋒.未來區塊鏈銀行會是什麼樣[R].“數位貨幣與區塊鏈技術:前景、挑戰與影響”主題論壇,2016.
[4]楊濤.從去中心化金融來看區塊鏈[R].全球共用金融100人論壇,2016.
[5]謝平,等.互聯網金融報告2014——通往理性繁榮[OL].http://business.sohu.com/20140425/n398824348.shtml.
[6]陳龍.互聯網金融不會顛覆傳統金融[R].第二屆互聯網金融全球峰會,2015.
[7]保羅·薩特.存在主義是一種人道主義[M].周煦良,湯永寬,譯.上海:上海譯文出版社,2005.
[8]劉保禧.林夕、填詞與佛學[R].林夕X愛情X佛學討論會,2009.
[1] 引用自http://8btc.com/thread-32885-1-1.html。
如果你不知道讀什麼書,
就關注這個微信號。
公眾號名稱:幸福的味道
公眾號ID:d716-716
小編:行行:微信號和QQ:2338856113
為了方便書友朋友找書和看書,小編自己做了一個電子書 下載網站,網站名稱:周讀 網址:www.ireadweek.com 小編也和結交一些喜歡讀書的朋友
“幸福的味道”已提供120個不同類型的書單
1、 25歲前一定要讀的25本書
2、 20世紀最優秀的100部中文小說
3、 10部豆瓣高評分的溫情治癒系小說
4、 有生之年,你一定要看的25部外國純文學名著
5、 有生之年,你一定要看的20部中國現當代名著
6、 美國亞馬遜編輯推薦的一生必讀書單100本
7、 30個領域30本不容錯過的入門書
8、 這20本書,是各領域的巔峰之作
9、 這7本書,教你如何高效讀書
10、 80萬書蟲力薦的“給五星都不夠”的30本書
……
關注“幸福的味道”微信公眾號,即可查看對應書單
如果你不知道讀什麼書,就關注這個微信號。
沒有留言:
張貼留言