深入比特币原理(一)——比特币白皮书总结与点评
2008年,中本聰發(fā)布了比特幣白皮書《一種點對點的電子現(xiàn)金系統(tǒng)》,從此開啟了區(qū)塊鏈技術(shù)的新天地,雖然中本聰在2011年后銷聲匿跡,但白皮書中涵蓋了中本聰最希望傳遞的比特幣的世界觀,對于每一個區(qū)塊鏈入門者都是必讀,以下為個人的總結(jié)與點評
1.介紹(Introduction)
基于信任模型的交易:
(1)傳統(tǒng)金融中介增加成本
(2)支付交易可逆,欺詐不可避免
基于密碼學(xué)原理:
(1)點對點交易,不存在金融中介
(2)不可回滾的支付交易,防止欺詐
個人點評:本節(jié)強調(diào)的是目前傳統(tǒng)的中心化金融模型有許多不可避免的問題,可以通過密碼學(xué)保證的分布式賬本解決。
2.交易(Transactions)
每一位電子貨幣所有者通過對前一次交易和貨幣接受者的公鑰(pubilc key)簽署一個hash數(shù)字簽名,然后發(fā)送給下一位所有者。
(1)收款人使用付款人的公鑰(public key)校驗,是否是正確的付款人發(fā)送
(2)由于交易中有收款人的公鑰,所以只有收款人使用自己的私鑰才能解鎖并將該貨幣傳遞下去
但以上過程仍然有問題,無法解決雙重支付問題,即貨幣所有者將同一電子貨幣簽名后發(fā)送給多個收款人。
傳統(tǒng)金融:通過中介機構(gòu)判斷并確認(rèn)用戶是否進(jìn)行雙重支付
比特幣:通過公開宣布貨幣的所有交易,形成唯一公認(rèn)的歷史交易序列,由系統(tǒng)內(nèi)所有參與者認(rèn)同交易
個人點評:通過非對稱加密的公私鑰,可以解決虛擬貨幣的歸屬權(quán)問題,但是同一個貨幣可以由歸屬人付給多個人,也就是雙重支付,僅使用加密在貨幣體系里是不夠的。(這里其實隱含了貨幣體系必須要有人記賬)
3.時間戳服務(wù)器(Timestamp server)
對區(qū)塊形式存在的一組數(shù)據(jù)實施隨機散列(HASH)加上時間戳,將區(qū)塊連成一個鏈條,形成區(qū)塊鏈
個人點評:本節(jié)實際上給出了比特幣賬本的雛形,也是區(qū)塊鏈(Blockchain)名稱的來源,每一個區(qū)塊就是一頁賬本,他們的順序是由時間戳來決定,由Hash函數(shù)保障賬本的真實性。
4.工作量證明(Proof-of-Work)
計算一個隨機數(shù)(Nonce),將隨機數(shù)與區(qū)塊頭一起計算隨機散列值(Hash),該散列值要滿足以N個0開頭(N為變量,可通過N來控制計算難度,N越大,難度越大),此即為“挖礦”的內(nèi)部原理。
工作量證明的用途:
(1)保證區(qū)塊鏈(Blockchain)的不可篡改性,由于區(qū)塊形成了鏈條,如果要修改區(qū)塊,必須重新完成之前所有的工作量,所以隨著區(qū)塊鏈高度越高,越舊的區(qū)塊越難以篡改。
(2)工作量證明的本質(zhì)是一CPU一票(與傳統(tǒng)的一IP一票不同,攻擊者要獲得更多的票數(shù)需要投入大量的成本),如果大多數(shù)的CPU為誠實節(jié)點,那么正確的鏈條將以最快的速度延長。
個人點評:上一節(jié)的模型能保證賬本的順序和真實性,但是無法阻止人為的創(chuàng)造多個賬本,而這些賬本中只能有一個是被大家認(rèn)可的,所以必須創(chuàng)造一種共識機制。比特幣的共識機制即為工作量證明(POW),即工作量(Hash計算)最大的那個賬本是大家公認(rèn)的正確賬本。
5.網(wǎng)絡(luò)(Network)
網(wǎng)絡(luò)的運行步驟如下:
(1) 新的交易向全網(wǎng)進(jìn)行廣播;
(2) 每一個節(jié)點都將收到的交易信息納入一個區(qū)塊中;
(3) 每個節(jié)點都嘗試在自己的區(qū)塊中找到一個具有足夠難度的工作量證明;
(4) 當(dāng)一個節(jié)點找到了一個工作量證明,它就向全網(wǎng)進(jìn)行廣播;
(5) 當(dāng)且僅當(dāng)包含在該區(qū)塊中的所有交易都是有效的且之前未存在過的,其他節(jié)點才認(rèn)同該區(qū)塊的有效性;
(6) 其他節(jié)點表示他們接受該區(qū)塊,而表示接受的方法,則是在跟隨該區(qū)塊的末尾,制造新的區(qū)塊以延長該鏈條,而將被接受區(qū)塊的隨機散列值視為先于新區(qū)快的隨機散列值。
兩個節(jié)點如果同時完成了工作量證明,并進(jìn)行廣播,由于網(wǎng)絡(luò)傳輸?shù)脑颍赡艹霈F(xiàn)兩條一樣長度(工作量)的鏈條,該情況要等下一個工作量證明被發(fā)現(xiàn)來判斷哪一條最長。
個人點評:全網(wǎng)的節(jié)點(礦工),將通過努力完成工作量證明來爭奪將新區(qū)塊寫入?yún)^(qū)塊鏈的權(quán)利(記賬),如果有人先完成并被確認(rèn)有效,所有節(jié)點就會轉(zhuǎn)向爭奪下一個區(qū)塊的寫入權(quán)。
6.激勵(incentive)
(1)通過完成工作量證明,可以獲得一定量新的電子貨幣作為激勵
(2)另外一個激勵為交易費,如果比特幣(2100萬枚)全部已進(jìn)入流通,激勵將完全依靠交易費,使貨幣免于通貨膨脹
激勵系統(tǒng)也有助于鼓勵節(jié)點保持誠實,如果一個攻擊者擁有大量的算力,他利用這些算力進(jìn)行挖礦收益很可能高于攻擊比特幣網(wǎng)絡(luò)。
個人點評:網(wǎng)絡(luò)節(jié)點(礦工)爭奪記賬權(quán)相應(yīng)的必須有一定的激勵,否則沒有人有動力去記賬,這種激勵就是記賬人可以獲得一定量的新比特幣和交易費。(比特幣的產(chǎn)出量為記錄一個塊50枚比特幣,每4年減半,2018年已經(jīng)經(jīng)過兩次減半,目前為12.5枚)
7.回收硬盤空間
交易信息構(gòu)成Merkle樹的形態(tài),通過merkle樹的原理可知,只需要根節(jié)點(root)與路徑即可驗證交易的正確性,使得用戶只需要存儲區(qū)塊頭(含有Merkle root),在需要時獲取Merkle樹路徑即可校驗一筆交易。
不含全部交易信息的區(qū)塊頭(Block header)僅80字節(jié),區(qū)塊生成速率約為10分鐘一個,每一年只產(chǎn)生數(shù)據(jù)4.2MB
個人點評:比特幣的區(qū)塊頭始終只有80字節(jié),卻可以包含交易相關(guān)信息,即是利用梅克爾樹記錄交易,在區(qū)塊頭放入梅克爾根(梅克爾樹我們在后面章節(jié)會詳細(xì)討論)。
8.簡單的支付確認(rèn)
在不運行完整網(wǎng)絡(luò)節(jié)點的情況下,也能夠?qū)χЦ哆M(jìn)行校驗。節(jié)點只需保留區(qū)塊頭,通過merkle的分支校驗?zāi)炒谓灰资欠翊嬖诩纯伞?/p>
個人點評:早期的比特幣賬本數(shù)據(jù)量較小,全網(wǎng)節(jié)點實際都是全節(jié)點(存儲賬本所有數(shù)據(jù)),但是中本聰在設(shè)計初已經(jīng)預(yù)見到賬本容量隨著時間持續(xù)膨脹,全節(jié)點的負(fù)擔(dān)將會越來越重。此時可以使用只保留區(qū)塊頭的方式,利用梅克爾樹來驗證交易,這樣可以大大減少節(jié)點的存儲占用空間。
9.價值的組合與分割(Combining and Splitting Value)
每次發(fā)起一次交易,輸入可以有多個,輸出只有兩個:一個用于支付,另一個用于找零
個人點評:比特幣作為貨幣,需要具備可靈活分割合并使用的特性,通過輸入輸出的分割與合并使交易變的非常靈活。
10.隱私(Privacy)
傳統(tǒng)模型:金融中介提供一定的隱私保護(hù)
比特幣:通過公鑰生成的地址,交易雖然在全網(wǎng)廣播,但公眾能得到的信息僅為某人將一定數(shù)量的比特幣發(fā)給了另外一個人,但無法確認(rèn)這些人是誰。
個人點評:由于比特幣的賬本是全網(wǎng)公開的,所以隱私保護(hù)是一個重要課題,比特幣利用公鑰Hash作為交易地址來對外表現(xiàn)交易的輸入輸出過程,這里有兩個好處:
(1)由于公私鑰是隨機生成的,僅知道公鑰Hash并不能知道具體是誰做了交易
(2)某公鑰地址的私鑰持有人,能隨意支配該地址上鎖定的貨幣,但沒有人知道誰是真實的私鑰持有人
11.計算
攻擊者即使擁有了巨大的算力,也僅能更改他自己的交易信息,試圖拿回他剛付給別人的錢(雙重支付)或者拒絕別人的交易信息。無法憑空創(chuàng)造價值或掠奪別人的貨幣。
--后面內(nèi)容涉及較多數(shù)學(xué)計算,不再詳述,有興趣的自行翻閱白皮書。
個人點評:工作量證明有一個風(fēng)險,就是有人如果控制了全網(wǎng)大量的算力(如超過51%),實際上他可以控制大部分的記賬權(quán),對于比特幣網(wǎng)絡(luò)將產(chǎn)生風(fēng)險。但是比特幣的設(shè)計將這種風(fēng)險產(chǎn)生的后果降到了較低的水平:
(1)由于僅有算力,沒有私鑰,無法隨意掠奪別人的貨幣。
(2)雖然他可以拒絕別人的交易計入賬本,但這種破壞實際并不會對別人造成貨幣的損失。
(3)他還可以試圖進(jìn)行雙重支付,但如果在大額交易中對方進(jìn)行多個塊(如6個以上)確認(rèn)來驗證交易,仍然很難完成雙重支付。并且這種攻擊發(fā)生會很容易被察覺,比特幣社區(qū)可以快速做出應(yīng)對。
綜上所述,進(jìn)行51%算力攻擊需要花費巨大的成本,但是獲益其實并不大,如果能掌握51%算力,進(jìn)行攻擊的收益可能遠(yuǎn)不如成為一個誠實節(jié)點進(jìn)行挖礦的收益。當(dāng)然如果有人以破壞比特幣網(wǎng)絡(luò)為目的,并完成51%算力攻擊,勢必會對比特幣產(chǎn)生影響,但并不可能殺死比特幣。
白皮書鏈接:https://github.com/GammaGao/bitcoinwhitepaper/blob/master/bitcoin_en.pdf
作者:Aaron
總結(jié)
以上是生活随笔為你收集整理的深入比特币原理(一)——比特币白皮书总结与点评的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 骈文的特点(什么是骈文)
- 下一篇: 被抽阴作文(按考试分数体罚)