談談區塊鏈的理解 -- 讀《區塊鏈:技術驅動金融》

今年網上關於數字貨幣和區塊鏈的文章和討論汗牛充棟,但我一直狐疑的是,有說的那麼厲害嗎,特別是看到「從新定義了金融」,「從新定義世界」,「顛覆金融業」,「重建信用機制」。有些人的誇大之聲像賣保健品的宣傳同樣「能治百病」。正由於對這些的質疑纔想找書來看。這本書雖然名字裏面帶有金融(英文名爲Bitcoin and Cryptocurrency Technologies),實則是一本很實在的講解比特幣和區塊鏈技術的書。並且做者也沒有描繪區塊鏈的「繪圖偉業」。因此若是你對此有興趣,真推薦讀一讀這本。程序員

說到比特幣,首先讓人想到的就是那讓人咋舌的暴漲速度,中本聰從2007年5月份開始編寫比特幣,09年開始發行,到2017年末,比特幣8年漲了1000萬倍。單價最高高達近2萬美圓。但隨後一路下挫,到今天仍是6400美圓左右。2萬個比特幣買24美圓披薩的故事讓人們津津樂道,多少人買了比特幣卻由於忘記了私鑰或者U盤壞了而扼腕痛惜。正是這些個故事不斷的發酵,推波助瀾,催生了不少新的數字貨幣和前赴後繼的韭菜。而說到區塊鏈,卻讓人皺起了眉頭。特別是公衆號的文章裏面不斷的甩出「去中心化」,「共識機制」,「智能合約」,或者是「挖礦」,「公鑰、私鑰」時,讓人有種不明覺厲的感受。講區塊鏈不得不說比特幣,畢竟這是區塊鏈目前應用的最成功案例。算法

01 數字貨幣是旁氏騙局嗎?

巴菲特還有郎鹹平都有說過數字貨幣(ICO)是龐氏騙局,這個問題要從貨幣的本質來看,什麼是貨幣,亞當斯密在《國富論》中提出:「貨幣是流動資本的一部分,是商業的上大工具,是貨物藉以流通的手段」,白話點來講就是隻要你們達成共識,選定某一種物品做爲媒介就能夠來買賣。哪怕是一塊石頭,只要你們都承認,它就能用來交易,達成共識的人越多,它的流通價值越高。如今太平洋中雅普島居民就把下圖這種石頭當貨幣。咱們偉大的祖先使用了貝殼,金銀銅鐵鑄幣,到交子(四川缺銅礦,鑄幣是鐵,揹着幾十貫錢有幾十斤重走蜀道,因此宋朝出現了紙幣)。數據庫

 到如今咱們出門不帶錢包,錢也不過是帳戶裏面的一個數字。像比特幣這樣的數字貨幣,使用者已達千萬,有不少銀行或者商家接受,交易量也大,它實質上就是一種貨幣,只是它不屬於某個國家,沒有法律和國家信用的背書;什麼是龐氏騙局呢,就是把一個沒價值或者價值很低的東西吹噓的天花爛墜,好賣給下一個接手的以從中獲利,這是那些賣保健藥騙老人的慣用伎倆。可是要注意的是,由於比特幣的火爆,新起了不少新的數字貨幣,光2015年發行的新幣都有八百多種,坊間稱發幣最難的就是取名字。並且90%以上就是直接用的比特幣的源碼,沒有任何創新,發行方鼓吹以後,拉高出貨,收割韭菜,那就是名副其實的龐氏騙局。編程

這裏還想講一下虛擬貨幣和法幣的區別,法幣由各國政府發行,依據國家的生產總值,有國家信用和稅收的背書,是宏觀經濟的調控的重要手段,好比故意形成輕微的通貨膨脹(多印錢)來刺激經濟,讓你以爲錢拿在手裏還不如花了它,但數字貨幣不受任何中央政府控制,並且數量都是既定的,但能夠做爲各類法幣的中介。因此法幣和數字貨幣有各自不一樣的市場。網絡

 02 什麼是區塊鏈,比特幣爲何須要它

中本聰打造比特幣的一個初衷就是想讓比特幣接近現金體系,現金有什麼好處?第一點就是確保了匿名性,咱們拿錢到商店買東西,只要錢是真的,商家不會管你是誰。但若是你用信用卡或者支付寶,店主就能知道你的信息。第二點就是支持線下交易,不須要第三方批准。若是你的錢在銀行,可能由於某種緣由被凍結,好比賈躍亭。要作到這兩點,前者就須要一套合理的加密技術,後者就須要去中心化,支持點對點交易,擺脫對中央政府、企業或者我的的控制。數據結構

而區塊鏈是中本聰爲了解決比特幣去中心化而發明的,網上廣泛解讀成一種分佈式的數據庫(或帳本),它的數據結構以下所示。每個區塊的內部經過二叉樹保存了相關交易記錄。每一個區塊經過一個哈希值指向上一個區塊的地址,造成區塊鏈。那麼究竟是怎麼作到去中心化的呢?分佈式

思考這點,咱們就要考慮三個問題:誰負責這些數據的存儲?誰決定每一筆交易有效?誰負責建立新的比特幣?函數

若是這些數據的存儲和交易由某一個組織或者我的控制,那麼就存在做弊的可能,並且容易被攻破,爲杜絕這樣的事情發生,對於第一個問題,中本聰讓全部的區塊鏈數據存儲在每個礦工節點上,你們都保留一份完整的數據,新的節點加入的時候,首先就是經過鏈接到另外一個最近的節點下載最新的數據。到2015年末這部分數據已經有五十G了。這樣的話,數據一旦寫入區塊,將是不可逆的,由於你沒法去修改全部的數據,何況你修改一個節點的數據會致使它的哈希值發送變化,本來指向它的區塊也要修改;工具

對於第二個問題,一筆交易有效,意味着交易被寫入了區塊,且這個區塊最終加入的主鏈。誰負責這件事呢,總不須要全部的節點來參與,由於全世界不一樣的地方,有着不一樣的延遲,有的上線有的不上線,並且怎麼保證節點就願意正確的幹這件事呢?這就涉及到一個共識機制,就像拋繡球同樣,比特幣每隔十分鐘公佈一個隨機數,哪一個節點產生的哈希值和這個隨機數一致(接住了繡球),那麼這個幸運的節點就被選中建立這個區塊。爲何說它是幸運的呢,由於比特幣系統給予這個節點必定數量的比特幣做爲獎勵。最開始每建立一個區塊有50個比特幣獎勵,如今是25個,基本上每四年減小一半,上限是2100萬個比特幣,理論上到2140年這種獎勵就會發完。這個拋繡球的過程就是所謂的工做量證實PoW。專門從事計算隨機數的機器叫礦機,專門爲此掏幣的人就叫礦工,礦機計算隨機數的過程就叫挖礦。這也解釋了第三個問題。誠然實際算法實現的過程比我講的要複雜。區塊鏈

這就是比特幣實現去中心化的方式,沒有任何人能決定誰能夠提交下一個區塊。還想說的一點是,區塊鏈的交易記錄都是公開的,打個比方,若是有一家公司用比特幣發工資的話,別人能夠經過你的公鑰查到你收到的工資。若是可能的話,這一點看上去比較適合作慈善或者記錄財政開支~

 03 挖礦這件事怎麼看

首先要說的是挖礦是一件很難的事情,在2014年年末,產生一個區塊平均要作10^20次哈希運算。換言之,目標區域僅僅是整個輸出範圍的1/10^20。這是超大的計算量,普通我的電腦沒法勝任,打個比方,假如你是個炮兵,礦機算出的哈希值就是炮彈,哈希函數就是大炮,你想擊中的目標,好比一個指揮所,它確定在你的射程範圍內,但很是小,並且其實根本不知道在哪裏(哈希值的計算是無序的)。擊中目標的惟一辦法是狂轟濫炸,這就是比特幣工做量的概念,炸的越多,擊中的機率越高。若是這個指揮所的目標區域是轟擊區域1%大的話,你大概平均要發出100枚炮彈纔可能擊中目標,並且越日後越難。正所以致使了大量能源(電力)的和算力的浪費。這也是比特幣被人詬病的問題之一。

可是目前沒有更好的辦法,若是沒有挖礦的過程如何保證去中心化的實現?就看成是比特幣產生必須付出的代價吧。因此誰想得到更多的比特幣,那他就得擁有至關可觀的算力。這就催生了各類礦機的誕生。甚至造成了礦池這樣的挖礦組織,散戶們一塊兒抱團挖礦,有錢同享,按算力比例分配。

 

相似於淘金熱,產生了不一樣的礦機,一度形成市場上顯卡漲價,最後產生了專用的集成電路技術ASIC來挖礦,簡直催生了一個產業。賣阿瓦隆礦機的嘉楠耘智已經準備在香港上市了。而除了浪費電力和算力以外,咱們要注意的一點是,每一個區塊大小限定在1MB,每一個交易大約是250字節,因此每塊最多容納420000個交易。平均每隔10分鐘,有一個礦工得到記帳權利,因此每秒鐘只能處理7個交易,這就是比特幣網絡的交易處理能力!而支付寶在雙十一的時候峯值交易量可達25.6萬筆!因此這就像一個哲學問題,公平(民主)和效率不可兼得。

 04 什麼是智能合約

 智能合約是區塊鏈相關書籍和文章裏面提到不少的一個特色,其實這要從比特幣的交易機制提及,先說一個比較有意思的點,平時咱們花錢,根據手裏的錢咱們想花多少就花多少,而比特幣倒是要麼花光要麼不花。好比張三有5個比特幣,要轉給李四1個比特幣,張三須要一次性將1個比特幣轉給李四,其餘4個再轉給本身。這麼作的目的是爲了方便查最後一次的交易記錄就能知道張三到底擁有多少個比特幣,而不用去回溯全部的交易記錄。

而讀取交易記錄這些用的是Forth腳本語言,也就留出可編程的可擴展的餘地。假設A在網上買東西,想要貨到付款,就能夠發起這樣的一個交易,並規定,三我的中有兩我的簽名了,資金就能被提取,這三我的是A,和商家B,以及仲裁C。這個規定就是一個智能合約。其實程序員很好理解這件事,智能合約就是條件語句,所以比特幣能夠實現多種場景支付。 

但我想的是,平時是看條款或者合約,比特幣上得會看代碼才行,並且這個擴展性是受編程環境約束的。

 05 區塊鏈應用

 區塊鏈應用的討論愈來愈多,其實我以爲有一部分的緣由是ICO投機的方式在國內被嚴格限制,致使這部分的「熱情」轉移到了區塊鏈上了。各大銀行,互聯網企業都紛紛表示加入區塊鏈的研究。其實這是很正常的一件事情,畢竟ICO掀起了這麼大的浪,金融業和互聯網出於防範也要投入精力去研究它,但這並不說明區塊鏈真的適合別的其餘領域。

說起比較多領域是金融、認證、數字版權、物聯網等領域。金融業很好理解,發行代幣以及交易的過程和股票很是類似,並且股票交易有佣金,ICO交易也有手續費。彷佛是任何能夠數字化的東西均可以像比特幣同樣在區塊鏈上被記錄和流通。這一點貌似給了不少人想象的空間。但我想的問的是,有這個需求和必要嗎?咱們能夠回顧一下比特幣的區塊鏈,是經過很有爭議的共識算法作到去中心化的,若是接下來的各類區塊鏈沒有作到這一點,而只是用了區塊鏈的結構和加密方式,這仍是個中心化的系統,至關於換了一種數據庫的分佈式系統。因此若是隻是說使用了區塊鏈,或者說智能合約如何強大(編程也須要環境支持),而沒有一套去中心化的體系,加上現有體系並無多大的問題時,各類鏈恐怕難以獲得社會的共識。

小結:其實不少想講還沒講完,區塊鏈誕生的時間並不久,還在不斷的發展,更多的仍是要理性的去看。瞭解到上面的這些知識以後,我以爲區塊鏈自己並不神祕也不是有多厲害的創新,但確實提供了一種新的思路。中心化或者去中心化自己都有各自的場景,並不表明好壞。

ps:這是書山有路第27期分享閱讀書目,由@山東_可樂同窗歷時一個月分享完,喜歡閱讀的朋友能夠關注下下面的二維碼,咱們一塊兒去下一個探索。

相關文章
相關標籤/搜索