官术网_书友最值得收藏!

第五章 比特幣和以太坊

◇比特幣

關于比特幣

1.比特幣是什么

(1)比特幣出現(xiàn)的背景。2007年,“中本聰”提出:“我相信存在一種不依賴信用的貨幣,我無法阻止自己去思考它?!?/p>

2008年11月1日,一封不起眼的帖子出現(xiàn)在論壇的“密碼學郵件組”里,帖子中直言:“我正在開發(fā)一種新的電子貨幣系統(tǒng),采用完全點對點的形式,而且無須授信第三方的介入?!碧邮鹈恰爸斜韭敗薄?/p>

2009年1月3日,“中本聰”把自己的思考落地,在赫爾辛基的一個服務器上創(chuàng)建、編譯、打包了第一份開源代碼;當日18時15分,創(chuàng)建了比特幣世界的第一個區(qū)塊(Block),這一天被稱為“創(chuàng)世日”,而該區(qū)塊也被稱為“創(chuàng)世塊”。

(2)比特幣解決了何種痛點?為什么要創(chuàng)建這么一個比特幣呢?“中本聰”指出:我們非常需要這樣一種電子支付系統(tǒng),它基于密碼學原理而不是基于信用。換句話說,比特幣能夠讓交易不再需要中間機構,直接用密碼學就能實現(xiàn)人和人之間流暢的交易。

也就是說,比特幣其實是一個電子支付系統(tǒng),是一個基于密碼學原理而不是基于信用的數(shù)據(jù)庫,不需要第三方中介。怎么實現(xiàn)的呢?就是通過多個電腦(節(jié)點)分布式存儲所有的交易信息,形成一個去中心化的、完全公開透明的、不可篡改的賬本。

2.比特幣的工作原理

比特幣是怎么實現(xiàn)去中心化、公開透明、不可篡改呢?我們看看它的工作原理:

(1)比特幣記賬與挖礦。傳統(tǒng)的交易,除了線下可以直接一手交錢、一手交貨,不需要第三方,而遠距離不見面的交易則必須要一個中介機構。比如,在淘寶上買東西,就是把錢先交到支付寶平臺,經(jīng)過雙方都確認后,支付寶再把錢打給另一方。轉賬也是這樣。把錢打給一個金融機構,該機構把這筆錢打給需要交易的人,金融機構就是第三方。

比特幣是怎樣運行的呢?可以把比特幣理解成一個軟件,它在計算機上運行,核心功能就是維護一個賬本。該賬本與現(xiàn)實中賬本的不同之處在于,所有的賬本都是一樣的。所有的交易都記在一個賬本上,不會有人提出異議。

但是,誰來負責記賬呢?“中本聰”使用了一個天才的方法把這個問題解決了,這個方法就是“挖礦”。挖礦的礦機就是一臺能進行高速計算的電腦,每臺裝有相關軟件的電腦都可以通過競爭的方法來記賬;記賬的過程就是把一批交易進行打包,形成一個區(qū)塊,這些區(qū)塊一個個首尾相接,就形成了區(qū)塊鏈。

為了獎勵這些為交易打包的行為,比特幣會對記賬的礦工進行獎勵。另外,該區(qū)塊里所有的交易手續(xù)費都歸這個區(qū)塊所有。記完賬后,迅速地把這個消息通告到全網(wǎng),還沒完成記賬的電腦,要放棄當前的記賬工作,轉而進入下一次競爭。也正是因為這個原因,很多人都說挖礦就是在消耗電能。其實,消耗電能是達成交易共識必須付出的代價,不消耗這些電能,就需要一個龐大的金融組織來運作,消耗會更大。

(2)這么多礦機,誰來負責記賬呢?這就涉及一個概念——PoW(Proof of Work),也就是工作量證明。

礦工所做的工作其實就是為了產(chǎn)生一個隨機的哈希值,這個值是Nounce,也就是隨機數(shù)。該數(shù)的生成是一道算術題,只有將這個問題解出來,才能生成這個數(shù)字并添加進區(qū)塊里,獲得該區(qū)塊的獎勵和所有的交易手續(xù)費。

因為有獎勵,想挖礦的電腦越多,算力就越大,所以挖礦的難度一直在增加。剛開始難度非常低,只要使用電腦CPU,就可以挖礦,獲得獎勵。后來有人發(fā)現(xiàn),用顯卡挖礦的效率比CPU高幾百倍。比特幣就采用這種方法,保證了人與人之間構建起安全的交易,不需要第三方也能建立起信任。

(3)記賬有什么好處?可以把比特幣網(wǎng)絡看成一個大的賬本,大約每10分鐘出一頁賬單,賬單上記錄著這段時間網(wǎng)絡的來往交易,一頁賬單叫一個“區(qū)塊”,把所有的區(qū)塊鏈接起來,就叫作“區(qū)塊鏈”。那么,這個區(qū)塊由誰來記錄呢?礦工。

比特幣網(wǎng)絡中,哪個礦工擁有的算力最大,他就擁有該區(qū)塊的記賬權。礦工為什么要來幫比特幣記賬呢?因為礦工每記一個區(qū)塊,就會獲得該區(qū)塊上的比特幣獎勵和手續(xù)費。由此,比特幣把記賬和幣的發(fā)行聯(lián)系起來,人人都有記賬權,這就叫作“去中心化”。

比特幣是在2009年出現(xiàn)的,當時礦工只要挖出一個區(qū)塊,就能得到50個比特幣的獎勵,到2012年減半了一次,2016年再次減半,現(xiàn)在挖出一個區(qū)塊的比特幣獎勵是12.5個。這也是比特幣的供給增加機制,流通中新增的比特幣都是這樣誕生的。

每4年獎勵減半,到2140年,礦工將得不到任何獎勵,比特幣的數(shù)量也將停止增加。這時,礦工的收益就完全依靠交易手續(xù)費了。所謂交易手續(xù)費就是礦工可以從每筆交易中抽成,具體的金額由支付方自愿決定。

目前,由于交易數(shù)量猛增,手續(xù)費已經(jīng)水漲船高,一個區(qū)塊2000多筆交易的手續(xù)費總額可以達到3~10個比特幣。手續(xù)費太低,很可能過了一個星期,交易還沒確認。一個區(qū)塊獎勵12.5個比特幣,再加上手續(xù)費,收益就相當可觀了。

3.比特幣的創(chuàng)新與特性

(1)全球性。向地球另一端轉賬比特幣,就像發(fā)送電子郵件一樣簡單,成本低,無任何限制。比特幣也因此被用于跨境貿(mào)易、支付、匯款等領域。

(2)不可篡改。比特幣的區(qū)塊鏈賬本具有不可篡改的特性,不會為了弄虛作假而對賬本進行惡意修改。這套系統(tǒng)中有相應的機制來保證。

(3)去中心化。即非中心化,是比特幣的一個重要特性。經(jīng)過改革,由礦工組織記賬就是“去中心化”的做法。

(4)匿名性。比特幣之間的轉賬是匿名的,賬戶根本看不出屬于哪個人,除非那個人曾公布過自己的比特幣賬戶。

4.比特幣的核心價值

比特幣的核心價值是什么?

政治經(jīng)濟學是這樣定義貨幣的:“貨幣的本質(zhì)是一般等價物?!蓖瑫r,還有一句話,金銀天然是貨幣。為什么金銀天然是貨幣呢?因為金銀是稀缺的,人們愿意拿來作為等價物。

回到區(qū)塊鏈的世界。比特幣是第一個成功的區(qū)塊鏈運用,核心價值就是共識。從技術進步角度來說,現(xiàn)在所謂的“第三代或第N代加密貨幣”,技術上應該遠超比特幣,為什么它們的價值還無法跟比特幣相比?除了比特幣首創(chuàng)的特性,還有以下幾個原因:

(1)比特幣足夠簡潔,除了貨幣屬性,沒有其他任何屬性。

(2)比特幣是創(chuàng)世貨幣,沒有任何的ICO(首次幣發(fā)行),擁有它的受眾是足夠分散的。

5.團隊介紹,比特幣的前世今生

其實,我們提到的“中本聰”,只是眾多技術的一個集大成者。他雖然在2007年提出了“數(shù)字貨幣”的概念,但是早在20世紀30年代,加密貨幣的最初設想就已經(jīng)出現(xiàn)了。

1982年,大衛(wèi)·喬姆提出了“不可追蹤的密碼學網(wǎng)絡支付系統(tǒng)”。

1991年,Stuart haber和Scott stornetta發(fā)表論文How To TimeStamp A Digital Document,提出“用時間戳確保數(shù)字文件安全的協(xié)議”,這也是區(qū)塊鏈鏈條的雛形。同年,基于RSA公鑰加密體系,菲爾·齊默爾開發(fā)了一個郵件加密系統(tǒng)PGP,能夠保證郵件內(nèi)容不被篡改。

1997年,亞當·拜克發(fā)明了一種哈?,F(xiàn)金算法機制,而在的《比特幣白皮書》中,哈希算法就被“中本聰”用來解決了零信任基礎的共識問題。

1998年,戴維提出了匿名的、分布式的電子加密貨幣系統(tǒng)B-money。在比特幣的官網(wǎng)上,B-money被認為是比特幣的精神先導。

比特幣的誕生其實是20多年密碼和數(shù)字技術的積累和不斷演進的結果。

創(chuàng)建比特幣賬戶

對于比特幣的交易用戶,客戶端會自動為他們生成錢包,類似于在銀行開戶,用戶也需要一個賬戶密碼來保護自己的數(shù)字資產(chǎn)。如此,專屬密鑰也就成了使用錢包中比特幣的必要條件。而用戶的密鑰不同于銀行卡密碼,短小精悍,方便記憶。密鑰對是經(jīng)過特殊處理的長串隨機數(shù)列,很難記憶,為了保證其安全性和隱匿性,通常會將密鑰存儲在數(shù)字錢包中。

1.密鑰對

比特幣是一種數(shù)字資產(chǎn),并不存在實體,網(wǎng)絡通過密鑰、比特幣地址和數(shù)字簽名等來確認比特幣的所有權;用戶通過客戶端或錢包,自動生成密鑰文件,存儲在本地,密鑰為自己獨有,不用進行區(qū)塊鏈的網(wǎng)絡連接。數(shù)字簽名證明了交易的有效性,交易只有攜帶有效的數(shù)字簽名,才能讓存儲在區(qū)塊鏈中的密鑰對成為比特幣地址和數(shù)字簽名的基礎。

比特幣錢包可以包含一系列密鑰對,一個密鑰對包含私鑰和公鑰。其中,私鑰是系統(tǒng)生成的隨機數(shù),可以用來產(chǎn)生支付時的數(shù)字名;公鑰是私鑰使用橢圓曲線算法產(chǎn)生的,主要用于接收比特幣。公鑰是公開的,不會對用戶錢包的安全性造成影響。用戶必須對私鑰進行保密儲存,還要對私鑰文件進行多重備份。私鑰一旦丟失,就很難復原,所有的比特幣也會跟著一起消失。

2.比特幣地址

人們可以根據(jù)E-mail地址互相發(fā)送郵件,通過對應的密碼,讀取郵件內(nèi)容。比特幣網(wǎng)絡中的交易是根據(jù)比特幣地址發(fā)送比特幣,擁有某個比特幣地址的私鑰,就能獲得該比特幣地址中的比特幣。

比特幣地址是由數(shù)字和字母組成的字符串,公鑰通過一系列哈希算法和編碼算法生成比特幣地址,可以簡單地將比特幣地址理解為公鑰的摘要表示。

公鑰產(chǎn)生地址,主要利用了單向哈希算法,不具備可逆性,地址不能反推出公址,錢包則能針對不同的交易產(chǎn)生不同的地址,從而保證賬戶的安全性。為了提高地址的可讀性和魯棒性(即健壯性和強壯性),公鑰哈希還會經(jīng)過Base58Chek編碼生成最終的比特幣地址。

3.數(shù)字錢包

私鑰是隨機產(chǎn)生的毫無規(guī)律的隨機數(shù),僅憑用戶大腦記憶,很容易產(chǎn)生私鑰錯誤或遺忘,因此在具體使用過程中,錢包不僅能生成密鑰對和地址,還能幫助用戶存儲他們錢包中可以存儲的多個私鑰。但是,錢包客戶端可能也會出現(xiàn)數(shù)據(jù)丟失或其他遺失私鑰的可能,因此,如何安全方便地生成、保存和備份是判斷錢包性能好壞的關鍵。

為了完善這些因素,數(shù)字錢包共經(jīng)歷了3個階段:非確定性(隨機)錢包、確定性(種子)錢包和分層確定性錢包。私鑰之間沒有任何聯(lián)系,只要出現(xiàn)新的私鑰,用戶就能重新將所有私鑰文件再備份一遍,每次備份后都要再次導入,工作重復且煩瑣,無法獲得良好的用戶體驗。

為了方便用戶操作,解決經(jīng)常性備份的問題,出現(xiàn)了確定性(種子)錢包。在種子錢包中,所有私鑰都是通過公鑰的種子文件生成的,種子能夠回收所有已經(jīng)產(chǎn)生的私鑰,用戶只要備份種子,就能完成對所有私鑰的備份。如果想更換錢包,只要將種子文件導入即可。

對比確定性錢包,二者的共同之處就在于:二者的所有私鑰都是通過一個公共種子文件生成的,但父密鑰可以衍生一系列子密鑰(例如,私鑰1、私鑰2、私鑰3……),各子密鑰又可以衍生出一系列孫密鑰(例如,私鑰2-1、私鑰2-2、私鑰2-3……),以此類推。

比如,在企業(yè)環(huán)境中,不同職能部門可以被分配使用不同分支的密鑰,也可以用一個特定的分支子密鑰來接收交易收入,用另一個分支的子密鑰來支付花費。另外,在不安全的環(huán)境下進行交易,分層確定性錢包保證了在不同的交易中能夠發(fā)行不同的公鑰,而不需要訪問對應的私鑰,保證了賬戶的安全。

4.比特幣的賬戶安全

從本質(zhì)上來說,比特幣就是區(qū)塊鏈上的一串字符,記錄了比特幣誕生以來的所有交易。

區(qū)塊鏈屬于分散結構,用戶只能通過公開地址知道密鑰。從一定意義上來說,只要掌握了密鑰,就能在地址中擁有相應的比特幣資產(chǎn)。

區(qū)塊鏈的防篡改功能,是指比特幣交易記錄不能被篡改。正是因為區(qū)塊鏈不能被篡改,密鑰一旦丟失,僅修改區(qū)塊鏈記錄是無法取回比特幣的。在比特幣被盜的背后,一些交易平臺也發(fā)生了被盜的情況,但是惡意交易平臺畢竟是少數(shù),更多的盜竊案源于黑客行為,因此交易平臺需要加強系統(tǒng)安全防護。

比特幣的擴容方案

比特幣剛出現(xiàn)的時候,“中本聰”并沒有特意限制區(qū)塊的大小,在自身數(shù)據(jù)結構的控制下,它們最大可以達到32MB。當時,平均被打包的區(qū)塊大小為1K~2KB。有人認為,區(qū)塊鏈上限過高容易造成計算資源的浪費,還容易發(fā)生DDOS攻擊。因此,為了保證比特幣系統(tǒng)的安全和穩(wěn)定,“中本聰”決定臨時將區(qū)塊大小限制在1MB。

如果每筆交易占250B,平均每10分鐘產(chǎn)生1個區(qū)塊,比特幣網(wǎng)絡理論上每秒最多可以處理7筆交易。那時,比特幣的用戶數(shù)量少,交易量也很小,該交易速度并不會造成區(qū)塊鏈網(wǎng)絡的擁堵。直到2013年后半年,比特幣價格才直線飆升,用戶體量越來越大,比特幣網(wǎng)絡擁堵、交易費用上升等問題才逐漸涌現(xiàn)。

現(xiàn)在,比特幣區(qū)塊鏈上最高時有上萬筆交易積壓,平均交易費用較2010年9月上漲了300多倍,每秒只能處理7筆交易,無法滿足用戶需求,擴容問題也就成了比特幣社區(qū)議論的熱點。

1.什么是擴容

各區(qū)塊的大小約有1MB,可容納的交易信息最多只有1000多條。如果比特幣的網(wǎng)絡轉賬次數(shù)很多,很多交易就無法在第一個發(fā)生的區(qū)塊被打包和確認,如此就需要再等幾個區(qū)塊或更長的時間。如今,比特幣網(wǎng)絡的正常轉賬量已經(jīng)遠超自身承受力,而要想擴大比特幣區(qū)塊的容量,突破現(xiàn)有1MB大小的限制,就要擴容。

比特幣網(wǎng)絡是“去中心化”的,所有事情的進行都要依賴社區(qū)的協(xié)商。對于擴容,各團隊的理念都不同,推進效率也比較低。比如,2015年年底,比特幣礦開發(fā)團隊和礦工召開了圓桌會議,彼此達成共識,但很快流產(chǎn);2017年,紐約比特幣社區(qū)再一次通過協(xié)商達成共識,從2017年上半年開始,比特幣系統(tǒng)正式實現(xiàn)升級和部署。

2.為何需要擴容

2009年比特幣剛出現(xiàn)在人們視野的時候,“中本聰”并沒有對區(qū)塊的大小進行限制,借助自身的數(shù)據(jù)結構,最大可以達到32MB??墒?,區(qū)塊鏈上限太高,不僅會浪費掉大量的計算資源,還容易受到DDOS攻擊(Distributed Denial of Service Attack”的簡稱,即分布式拒絕服務攻擊)。因此,為了保證比特幣系統(tǒng)的安全性和穩(wěn)定性,“中本聰”便臨時將區(qū)塊大小限制在1MB。也就是說,如果每筆交易占250B,平均每10分鐘就會產(chǎn)生1個區(qū)塊。當時,比特幣的用戶數(shù)不多,交易量也很小,按照這種交易速度,區(qū)塊鏈網(wǎng)絡很順暢,不會造成擁堵。

2013年下半年,比特幣價格直線上升,用戶體量逐漸加大,比特幣網(wǎng)絡開始出現(xiàn)擁堵,交易費用也迅速提高。發(fā)展到今天,最高時會出現(xiàn)數(shù)萬筆交易的積壓,平均交易費用比2010年上漲了300多倍,每秒只能處理7筆交易,用戶需求無法得到滿足,擴容也就成了比特幣亟待解決的問題。

3.擴容的主要分類

概括起來,擴容可以分為如下幾類:

4.擴容方案

為了解決比特幣的網(wǎng)絡擁堵問題,可以采用以下三種擴容方案:

(1)隔離見證。把交易記錄和簽名信息隔離開來,通過隔離見證,可實現(xiàn)技術性擴容,但要想真正實現(xiàn),需要花費很大的人力和物力。在設計新規(guī)則時進行一定的妥協(xié),不僅能提高區(qū)塊空間的應用率,還能在區(qū)塊鏈中接收并存儲實際見證的數(shù)據(jù)。

(2)區(qū)塊擴容。這種方案直接導致的結果就是社區(qū)被分裂,區(qū)塊內(nèi)存被擴大,增加了打包的交易數(shù)量和總手續(xù)費;缺點是,降低了傳播效率,提高了全網(wǎng)的孤塊率和空塊率。

(3)閃電網(wǎng)絡。如果所有參與方都在線、大額交易的成功率較低、比特幣的“去中心化”特性被削弱,就能采取這種擴容方案。這種方案,支付速度可以用毫秒來計算,交易費用較低,適合小額交易。

區(qū)塊鏈和比特幣的關系

從本質(zhì)上來說,區(qū)塊鏈就是一種分布式賬本,其最大特點是“去中心化”,可以解決信任問題。區(qū)塊鏈的“去中心化”特性,依賴于用多人協(xié)作的方式記錄信息,做到“全網(wǎng)認證”,確保信息透明公正、無法輕易被篡改。因此,區(qū)塊鏈可以被成功地運用于證據(jù)存證、信息共享、高效協(xié)作等領域,具體包括版權保護、產(chǎn)品溯源、投票、政務等。比如,IVoter便是一款“區(qū)塊鏈+投票”的工具,由明星公鏈平臺TT鏈提供技術支持,實現(xiàn)了投票數(shù)據(jù)可公開驗證且無法被篡改。

比特幣是一種點對點(P2P)虛擬的加密數(shù)字貨幣,不是由特定的貨幣機構發(fā)行的,而是由特定的算法經(jīng)過大量的計算生成的。這種加密數(shù)字貨幣數(shù)量眾多,TT鏈的TT幣就是其中一種。比特幣轉賬或交易跟網(wǎng)銀類似,只需要錢包地址(網(wǎng)銀賬號)和私鑰(網(wǎng)銀密碼)即可進行。

區(qū)塊鏈技術應用領域非常廣泛,比特幣是區(qū)塊鏈第一個,也是最成功的應用。如果說區(qū)塊鏈技術是水,比特幣就是水里的一種魚;如果區(qū)塊鏈是森林,比特幣就是森林里的一棵樹。因此,比特幣不是區(qū)塊鏈,區(qū)塊鏈也不是比特幣或其他數(shù)字貨幣。正確區(qū)分這兩者,有利于正確認識區(qū)塊鏈技術的商業(yè)應用,謹慎看待幣圈數(shù)字貨幣投資。

主站蜘蛛池模板: 政和县| 高阳县| 古浪县| 隆德县| 赣州市| 贡觉县| 廊坊市| 莱芜市| 兴安县| 莎车县| 长岭县| 青浦区| 宁陵县| 大竹县| 思茅市| 周口市| 庆云县| 舞阳县| 邓州市| 怀宁县| 象山县| 屯门区| 邻水| 凤阳县| 南宫市| 神木县| 筠连县| 抚远县| 灵寿县| 许昌县| 玛曲县| 兴业县| 怀仁县| 凤山县| 民乐县| 怀柔区| 绥宁县| 玛沁县| 三明市| 远安县| 宁强县|