細看區塊鏈如何「從零到一」

區塊鏈是分佈式數據存儲、點對點傳輸、共識機制、加密算法等計算機技術的新型應用模式。所謂共識機制是區塊鏈系統中實現不同節點之間建立信任、獲取權益的數學算法。其特點為去中心化存儲、信息高度透明、不易篡改等。再通俗一點說,區塊鏈就是利用計算機程序在全網的終端節點記錄所有交易信息的“公開大賬本”。

這項技術的出現,則是辦隨著計算機技術的不斷迭代,由眾多的計算機科學家不斷的研究、改進、積累而實現的。下面就講一講區塊鏈如何從零到一。

細看區塊鏈如何“從零到一”


一、技術積累期

1976年,BaileyW.Diffie和MartinE.Hellman發表了論文《密碼學的新方向》。論文覆蓋了未來幾十年密碼學所有的新的進展領域,包括非對稱加密、橢圓曲線算法、哈希等一些手段,奠定了迄今為止整個密碼學的發展方向,也對區塊鏈的技術和比特幣的誕生起到決定性作用。

1977年,著名的RSA算法誕生,三位發明人也因此在2002年獲得了圖靈獎。該算法就是利用了對一個大整數進行因數分解困難,驗證因子組成某個大整數容易的原理而編寫的。如要破解RSA,只需要能夠快速分解大整數即可,顯然這是破解RSA最簡單最快速的辦法。但要分解大整數是極不容易的(數學上叫做NP-Hard問題),這也就是RSA能保證其不能被破解的原因。目前網銀系統主要使用的RSA加密方案。

1982年,Lamport提出拜佔廷將軍問題,標誌著分佈式計算的可靠性理論和實踐進入到了實質性階段。

1985年,Koblitz和Miller各自獨立提出了著名的橢圓曲線加密(ECC)算法,在這種加密算法中,需要產生一對密鑰。其中一個密鑰稱為私鑰,需要保密;另一個密鑰稱為公鑰,是可以公開讓別人知道的。私鑰和公鑰在數學上的關係是不可逆的,也就是通過某個數學函數,我們可以從私鑰計算出公鑰,但是不能從公鑰反向推導出私鑰(或者說從計算上是不可行的)。

1997年,HashCash方法,也就是第一代POW(Proof Of Work)算法出現了。當時發明出來主要用於做反垃圾郵件。在隨後發表的各種論文中,具體的算法設計和實現,已經完全覆蓋了後來比特幣所使用的POW機制。

1998年,密碼學貨幣的完整思想終於破繭而出,密碼學家戴偉(Wei Dai)和尼克·薩博同時提出密碼學貨幣的概念。其中戴偉的B-Money被稱為比特幣的精神先驅,而尼克·薩博的Bitgold(比特黃金)提綱和中本聰的比特幣論文裡列出的特性非常接近,以至於有人曾經懷疑薩博就是中本聰。而這,這距離比特幣的誕生還有整整10年時間。

二、去中心特性的實現

1999年,P2P網絡資源共享先驅Napster由Shawn Fanning在美國東北大學讀書時創立了,通過共享MP3的服務席捲了全美。它有一個服務器用於存儲mp3文件的鏈接位置並提供檢索,而真正的mp3文 件則存放在千千萬萬的個人電腦上,搜索到的文件通過P2P方式直接在個人電腦間傳播共享。這種方式的缺點就是需要一臺服務器,在mp3文件版權之爭火熱的年代,Napster很快就成為眾矢之的,被眾多唱片公司訴訟侵犯版權而被迫關閉。而服務器關閉後Napster也就不復存在了。

2001年4月,Buffalo大學學生BramCohen設計併發布了BitTorrent協議,並在7月發佈了第一個可用版本。BitTorrent協議是架構於TCP/IP協議之上的一個P2P文件傳輸協議,處於TCP/IP結構的應用層。BitTorrent協議本身也包含了很多具體的內容協議和擴展協議,並在不斷擴充中。

2005年同年,王曉雲等人正式宣佈MD5、SHA-1碰撞算法。到2005年2月,據王小云教授的研究報告,他們已經研究出了搜索SHA-1碰撞的一系列新技術。他們的分析表明,SHA-1的碰撞能在小於2^69次Hash操作中找到。對完整的80輪SHA-1的攻擊,這是第一次在小於2^80次Hash操作這個理論界限的情況下找到碰撞。根據他們的估計,對於縮減到70輪的SHA-1能夠用現在的超級計算機找出“實碰撞”。他們的研究方法,能自然地運用到SHA-0和縮減輪數的SHA-1的破譯分析上。 2005年3月6日,Arjen Lenstra,王小云,Benne de Weger 宣佈,他們構造出一對基於MD5 Hash函數的X.509證書,產生了相同的簽名。

2007年,BitTorrent正式超越eDonkey2000網絡,成為互聯網的文件共享系統。

細看區塊鏈如何“從零到一”


三、區塊鏈的誕生和發展

2008年11月,中本聰發表論文《btc:一種點對點的電子現金系統》提出了BlockChain這種數據結構。能在不具信任的基礎之上,建立一套去中心化的電子交易體系。

2009年1月3日,btc網絡正式上線,版本開源客戶端發表。比特幣的創始人中本聰製作了比特幣世界的第一個區塊“創世區塊”。中本聰在創世區塊裡留下一句永不可修改的話:“The Times 03/Jan/2009 Chancellor on brink of second bailout for banks(2009年1月3日,財政大臣正處於實施第二輪銀行緊急援助的邊緣)當時正是英國的財政大臣達林被迫考慮第二次出手紓解銀行危機的時刻,這句話是泰晤士報當天的頭版文章標題。第一個收到比特幣轉賬的人是發明了RPOW的Hal Finney,他在比特幣客戶端上線當天就下載了,並從中本聰那裡收到了10個比特幣。

2011年10月,萊特幣(Litecoin)誕生。萊特幣受到了比特幣(BTC)的啟發,並且在技術上具有相同的實現原理,萊特幣的創造和轉讓基於一種開源的加密協議,不受到任何中央機構的管理。萊特幣旨在改進比特幣,與其相比,萊特幣具有三種顯著差異。第一,萊特幣網絡每2.5分鐘(而不是10分鐘)就可以處理一個塊,因此可以提供更快的交易確認。第二,萊特幣網絡預期產出8400萬個萊特幣,是比特幣網絡發行貨幣量的四倍之多。第三,萊特幣在其工作量證明算法中使用了由Colin Percival首次提出的scrypt加密算法代替了比特幣採用的SHA-256,這使得相比於比特幣,在普通計算機上進行萊特幣挖掘更為容易。

細看區塊鏈如何“從零到一”

2012年9月, Rippllepay公的創立者Ryan Fugger和Jed McCaleb 以及Chris Larsen合夥成立了openCoin公司,並研發了Ripple協議,Ripple是一個開源、分佈式的支付協議。它讓商家和客戶乃至開發者之間的支付幾乎免費、即時而不會拒付,它支持任何貨幣 - 包括美元,日元,歐元,甚至是比特幣。

2013年3月,比特幣發佈了0.8的版本,這是比特幣歷史上最重要的版本,它整個完善了比特幣節點本身的內部管理、網絡通訊的優化,引入了Leveldb、新的索引機制和查詢方式,以及Bloomfilter方式縮減SPV節點傳輸量等特性。也就是在這個時間點以後,比特幣才真正支持全網的大規模交易,成為中本聰設想的電子現金,真正產生了全球影響力。

2014年4月,與Vitalik 合作的Gavin Wood博士發表了可以被視作以太坊的技術聖經的以太坊黃皮書,將以太坊用於執行智能合約的虛擬機(EVM)等重要技術規格化並加以說明。按照黃皮書中的具體說明,以太坊客戶端已經用7種編程語言實現(C++, Go, Python, Java, JavaScript, Haskell, Rust),使軟件總體上更加優化。

2015年,經濟學人發佈了封面文章《重塑世界的區塊鏈技術》後,區塊鏈技術在全球掀起一股金融科技狂潮,世界各大金融機構、銀行爭相研究區塊鏈技術,僅2016年就有數十億美元投資到區塊鏈相關企業當中。

2017年6月,BM(Daniel Larimer)領導開發的EOS項目開始眾籌,眾籌採用在ETH網絡上部署的ERC-20 token的形式來進行。被人稱為區塊鏈3.0的EOS類似操作系統的區塊鏈架構平臺,旨在實現分佈式應用的性能擴展。EOS提供帳戶,身份驗證,數據庫,異步通信以及在數以百計的CPU或群集上的程序調度。該技術的最終形式是一個區塊鏈體系架構,允許用戶快速和輕鬆的部署去中心化的應用。該區塊鏈每秒可以支持數百萬個交易,同時普通用戶無需支付使用費用。EOS採用石墨烯和DPoS技術大大提升了系統的吞吐量,按照規劃,EOS有望達到每秒百萬次的交易量。

2018年6月,EOS結束眾籌主網上線運行。

2018年9月Sunny King宣佈將在VEE中引入全新共識機制 “超級節點PoS”("supernode proof-of-stake"簡稱為“SPoS”)。SPoS要運行在特殊的硬件上。King解釋道SPoS有點類似DPoS,但會簡化區塊鏈的開發和維護。SPoS能在經過優化的硬件中流暢的運行,這種特殊的硬件類似PoW中的ASIC礦機,但和PoW的ASIC礦機不同的是,這種特殊硬件沒有那麼耗電。這個系統在設計上看起來更加中心化,但King也設計出了一套機制保障網絡的安全,確保每一個超級節點(supernode)都有平等的權力,防止某個節點權力過大。

2019……

2020……

2021……

區塊鏈的故事還在繼續,你我都是見證者!


分享到:


相關文章: