比特幣設(shè)計(jì)起源與論文解讀

1. 設(shè)計(jì)起源

美國有美國的文化抒痒,中國有中國的文化,一樣?xùn)|西的誕生必然有其文化和背景基礎(chǔ)颁褂。學(xué)習(xí)先進(jìn)技術(shù)與理念也需要一定程度上對(duì)其背景與起源有所了解故响。

中本聰研究所的文獻(xiàn)列表上面有一句話寫得很好:

Bitcoin was not forged in a vacuum. These works serve to contextualize Bitcoin into the broader story of cryptography and freedom.

比特幣不是在真空中創(chuàng)造的“涠溃基于這些工作(文獻(xiàn)列表中的所有論文)使比特幣融入到了更廣泛的密碼學(xué)和自由的歷史之中彩届。

1.1. 背景

下面主要來自長(zhǎng)鋏發(fā)表在8bit上的文章:

關(guān)于密碼朋克

追求一個(gè)匿名的獨(dú)立的數(shù)字貨幣、可以保護(hù)買家和賣家的隱私的夢(mèng)想在比特幣誕生很早以前就開始了誓酒,不管福布斯樟蠕、無線、大西洋等雜志多少次宣布這個(gè)夢(mèng)想的訃告靠柑,但它還離真的死去還遠(yuǎn)著呢寨辩。

追求創(chuàng)造一個(gè)獨(dú)立的數(shù)字貨幣的思想始于1992年,蒂莫西·梅歼冰,一個(gè)退休的物理學(xué)家靡狞,邀請(qǐng)一群朋友到他加州圣克魯斯的家里討論剛剛誕生的互聯(lián)網(wǎng)與隱私。在過去的十年里隔嫡,威菲·迪菲的公鑰加密和菲爾·齊默爾曼的PGP加密已經(jīng)被證明用于控制數(shù)字信息訪問權(quán)方面很有效甸怕。由于世界各國政府擔(dān)心失去對(duì)權(quán)力與信息的控制,開始威脅要禁止這些加密工具被公眾使用腮恩。

梅和他的朋友們所做的正是政府所擔(dān)心的梢杭,他說:“正如印刷術(shù)改變中世紀(jì)社會(huì)權(quán)力結(jié)構(gòu),削弱了行會(huì)權(quán)力庆揪,加密法也將從根本上改變企業(yè)的性質(zhì)和政府對(duì)經(jīng)濟(jì)行為的干預(yù)式曲。”在這次會(huì)議結(jié)束時(shí)缸榛,這個(gè)小組為自己取了個(gè)名字:密碼朋克吝羞,就像是捍衛(wèi)數(shù)字世界公民隱私的超級(jí)英雄。短短一周后内颗,聯(lián)合創(chuàng)立人埃里克·休斯就寫了個(gè)程序钧排,可以接收加密郵件,擦除所有身份標(biāo)記均澳,并將它們發(fā)送回用戶列表恨溜,當(dāng)你簽名后符衔,你會(huì)得到休斯的回信。

密碼朋克認(rèn)為隱私是一個(gè)好東西糟袁,并希望能在更多的領(lǐng)域保護(hù)個(gè)人隱私判族。密碼朋克認(rèn)識(shí)到那些想要保護(hù)個(gè)人隱私的人必須創(chuàng)造自己的加密法,而不是使用政府项戴、公司或大型公共機(jī)構(gòu)免費(fèi)提供的加密工具形帮。

1.2. 中本聰及比特幣的開發(fā)

以下翻譯自wiki, 引文標(biāo)號(hào)代表wiki原文中的索引鏈接標(biāo)號(hào)

1.2.1. 歷史

在P2P Foundation 的個(gè)人資料信息中,中本聰自稱是一個(gè)人住在日本周叮,出生于1975年4月5日辩撑。[3]猜測(cè)中本的真實(shí)身份大多集中在一些密碼學(xué)和計(jì)算機(jī)科學(xué)的非日本血統(tǒng)的專家,生活在美國和歐洲仿耽。[4] Satoshi Nakamoto也創(chuàng)建了bitcointalk論壇合冀,在2009年以假名satoshi發(fā)布了第一條消息。[5]

1.2.2. 比特幣的開發(fā)

在2008年10月项贺,中本發(fā)表了一篇論文[6] [7]處的metzdowd.com加密郵件列表中[8]描述的比特幣數(shù)字貨幣君躺。它被命名為“比特幣:對(duì)等電子現(xiàn)金系統(tǒng)”。2009年1月开缎,Nakamoto發(fā)布了第一款啟動(dòng)網(wǎng)絡(luò)的比特幣軟件和比特幣加密貨幣的第一批單位晰洒,稱為比特幣。[9] [10] Satoshi Nakamoto于2009年1月9日在Sourceforge發(fā)布了0.1版比特幣軟件啥箭。

Nakamoto聲稱,編寫代碼的工作始于2007年治宣。[11]比特幣的發(fā)明者知道急侥,由于其本質(zhì),核心設(shè)計(jì)必須能夠支持廣泛的交易類型侮邀。實(shí)施的解決方案從一開始就通過使用謂詞 腳本啟用了專用代碼和數(shù)據(jù)字段坏怪。[12]

Nakamoto創(chuàng)建了一個(gè)域名為bitcoin.org的網(wǎng)站,并繼續(xù)與其他開發(fā)者合作開發(fā)比特幣軟件绊茧,直到2010年中铝宵。在此期間,他將源代碼存儲(chǔ)庫和網(wǎng)絡(luò)警報(bào)密鑰的控制交給了Gavin Andresen华畏,[13]將幾個(gè)相關(guān)的域轉(zhuǎn)移給了比特幣社區(qū)的各個(gè)知名成員鹏秋,并停止了他參與該項(xiàng)目。在他離開和移交前不久亡笑,Nakamoto自己對(duì)源代碼進(jìn)行了所有修改侣夷。

發(fā)明人在第一塊開采的礦區(qū)留言中寫道:“泰晤士報(bào)2009年1月3日在第二輪救助銀行的邊緣”。文中提到2009年1月3日發(fā)布的“泰晤士報(bào)”的標(biāo)題仑乌。這是一個(gè)有力的跡象表明百拓,第一個(gè)區(qū)塊是在此日期之前開采的琴锭。[14] 2009年1月3日,發(fā)生區(qū)塊的時(shí)間戳為格林威治標(biāo)準(zhǔn)時(shí)間18:15:05衙传。該區(qū)塊與所有其他區(qū)塊不同决帖,因?yàn)樗鼪]有上一個(gè)區(qū)塊可供參考。[14]這需要使用自定義代碼來挖掘它蓖捶。后續(xù)區(qū)塊的時(shí)間戳表明Nakamoto并沒有試圖單獨(dú)為自己挖掘所有早期區(qū)塊地回。[14]

作為唯一的,主要的早期礦工腺阳,發(fā)明者在創(chuàng)世紀(jì)之后和10天之后被授予比特幣落君。[15]除測(cè)試交易外,這些交易從2009年1月中旬開始仍然沒有結(jié)束亭引。[15]公共比特幣交易日志顯示Nakamoto已知的地址包含大約100萬比特幣绎速。截至2017年12月17日,這價(jià)值超過190億美元焙蚓。[16] [17]這使他成為地球上第44富有的人纹冤。[18]

郵件組里中本聰發(fā)布的郵件:Bitcoin v0.1 released
宣布比特幣的第一個(gè)版本,這是一種使用點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)來防止雙重支出的新電子現(xiàn)金系統(tǒng)购公,它完全分散萌京,沒有服務(wù)器或中央權(quán)威。
鏈接: http://www.metzdowd.com/pipermail/cryptography/2009-January/014994.html

1.3. 關(guān)于郵件組宏浩,相關(guān)密碼學(xué)專家及中本聰

以下來自infoQ公證號(hào)上張健的文章:
密碼朋克本身就是數(shù)字貨幣最早的傳播者知残,在其電子郵件組中,常見關(guān)于數(shù)字貨幣的討論比庄,并有一些想法付諸實(shí)踐求妹。在比特幣之前,有很多失敗的嘗試佳窑。在這里我們簡(jiǎn)要列舉一些之前探路者制恍。

亞當(dāng)·貝克(Adam Back)是一位英國的密碼學(xué)家,1997 年神凑,他發(fā)明了哈暇簧瘢現(xiàn)金(hashcash),其中用到了工作量證明機(jī)制(proof of work)溉委。這個(gè)機(jī)制的原型是用于解決互聯(lián)網(wǎng)垃圾信息問題的 [ii]鹃唯。工作量證明機(jī)制后來成為比特幣的核心要素之一。
哈伯和斯托尼塔(Haber and Stornetta)在 1997 年提出了一個(gè)用時(shí)間戳的方法保證數(shù)字文件安全的協(xié)議 [iii]薛躬,這個(gè)協(xié)議成為比特幣區(qū)塊鏈協(xié)議的原型俯渤。

戴偉(W Dai)是一位興趣廣泛的密碼學(xué)專家,他在 1998 年發(fā)明了 B-money型宝,B-money 強(qiáng)調(diào)點(diǎn)對(duì)點(diǎn)的交易和不可更改的交易記錄八匠。不過在 B-money 中絮爷,每臺(tái)計(jì)算機(jī)各自單獨(dú)書寫交易記錄,這很容易造成系統(tǒng)被賬本的不一致梨树。戴偉為此設(shè)計(jì)了復(fù)雜的獎(jiǎng)懲機(jī)制以防止作弊坑夯,但是并沒有能從根本上解決問題。中本聰發(fā)明比特幣的時(shí)候抡四,借鑒了很多戴偉的設(shè)計(jì)柜蜈,并和戴偉有很多郵件交流。

哈爾·芬尼(Hal Finney)是 PGP 公司的一位頂級(jí)開發(fā)人員指巡,也是密碼朋克運(yùn)動(dòng)早期和重要的成員淑履。2004 年,芬尼推出了自己版本的電子貨幣藻雪,在其中采用了可重復(fù)使用的工作量證明機(jī)制(RPOW)秘噪。哈爾·芬尼是第一筆比特幣轉(zhuǎn)賬的接受者,在比特幣發(fā)展的早期與中本聰有大量互動(dòng)與交流勉耀。由于身患絕癥指煎,哈爾·芬尼已于 2014 年去世。


長(zhǎng)鋏:

中本聰在密碼郵件組中是一個(gè)年輕后輩(可能30歲出頭)便斥,但地位十分顯赫至壤,在這個(gè)郵件組中,有菲爾·齊默爾曼(PGP技術(shù)的開發(fā)者)枢纠、約翰·吉爾摩(太陽微系統(tǒng)公司的明星員工)像街、斯蒂文·貝洛文(美國貝爾實(shí)驗(yàn)室研究員,哥倫比亞大學(xué)計(jì)算機(jī)科學(xué)教授)晋渺、布拉姆·科恩(BT下載的作者)宅广、蒂姆希·C·梅(英特爾公司前首席科學(xué)家)些举、阿桑奇(維基解密創(chuàng)始人)這樣的大牛。

中本聰對(duì)這些失敗者的反省是俭厚,Beenz户魏、Flooz、E-cash挪挤、B-money等虛擬貨幣先驅(qū)嘗試的失敗主要是由其中心化的組織結(jié)構(gòu)所造成的叼丑。這是因?yàn)橐坏樘摂M貨幣信用背書的公司倒閉,或保管總賬的中央服務(wù)器被黑客攻破扛门,該虛擬貨幣即面臨信用破產(chǎn)與內(nèi)部崩潰的風(fēng)險(xiǎn)鸠信。2009年2月,中本聰在IRC頻道寫道:“政府擅長(zhǎng)擊潰Napster那樣擁有中央控制的網(wǎng)絡(luò)论寨,但是Gnutella 和Tor 這樣完全P2P的網(wǎng)絡(luò)看起來依舊安枕無憂星立∷睿” (《比特幣:一個(gè)虛幻而真實(shí)的金融世界》,巴比特成員合著)

中本聰?shù)拿艽a學(xué)造詣十分精湛绰垂,許多曾經(jīng)被認(rèn)為是冗余設(shè)計(jì)的錯(cuò)誤室奏,后來被證明都是正確的,比如精心挑選的Koblitz曲線劲装,避開了美國國安局在加密標(biāo)準(zhǔn)中暗藏的后門胧沫。比如在橢圓曲線數(shù)字簽名算法加密的基礎(chǔ)上,再哈希兩次占业,足以應(yīng)付量子計(jì)算機(jī)的威脅……

1.4. 戴偉與比特幣

以下內(nèi)容來自戴偉的維基百科:

中本聰論文中的第一個(gè)參考文獻(xiàn)就是戴偉的bmoney文章绒怨。
Wei Dai和Adam Back是中本聰在2008 年開發(fā)比特幣時(shí)與他聯(lián)系的頭兩個(gè)人[2],而b-money論文在隨后的比特幣白皮書中被引用谦疾。[14]

在2011年5月的一篇文章中南蹂,密碼學(xué)家Nick Szabo指出:
我本人,魏岱和哈爾芬尼是我認(rèn)識(shí)的唯一一個(gè)喜歡這個(gè)想法的人(或者戴的情況下他的相關(guān)想法)餐蔬,足以在很大程度上追求它碎紊,直到中本(假設(shè)中本不是真正的芬尼或戴)。[15]

然而樊诺,戴偉在一個(gè)文章下面討論的提出b-money對(duì)比特幣的影響:

you should know that I didn't create Bitcoin but only described a similar idea more than a decade ago. And my understanding is that the creator of Bitcoin, who goes by the name Satoshi Nakamoto, didn't even read my article before reinventing the idea himself. He learned about it afterward and credited me in his paper. So my connection with the project is quite limited.

......我的理解是仗考,比特幣的創(chuàng)造者,名叫Satoshi Nakamoto的名字词爬,甚至沒有閱讀我的文章秃嗜,然后再重新發(fā)明這個(gè)想法。之后他才知道了這件事顿膨,并在他的論文中記入了我的觀點(diǎn)锅锨。所以我與這個(gè)項(xiàng)目的聯(lián)系非常有限。[16]

1.4.1. Bmoney 對(duì)比特幣的影響

Described as "money which is impossible to regulate",[12] Dai's b-money described the core concepts later implemented in Bitcoin[13] and other cryptocurrencies:
對(duì)比特幣發(fā)展的影響形容為“無法規(guī)制的資金”恋沃,[12]戴的B幣描述了隨后在比特幣[13]和其他加密貨幣中實(shí)施的核心概念:

  • Requires a specified amount of computational work (aka Proof of work).
    需要指定數(shù)量的計(jì)算工作(即工作量證明)必搞。
  • The work done is verified by the community who update a collective ledger book.
    完成的工作由更新集體賬本的社區(qū)進(jìn)行驗(yàn)證。
  • The worker is awarded funds for their effort.
    因工作量而獲得獎(jiǎng)勵(lì)資金囊咏。
  • Exchange of funds is accomplished by collective bookkeeping and authenticated with cryptographic hashes.
    資金交換是通過集體賬本協(xié)同記錄和完成的恕洲,并使用加密哈希進(jìn)行驗(yàn)證。
  • Contracts are enforced through the broadcast and signing of transactions with digital signatures (i.e., public key cryptography).
    通過使用數(shù)字簽名(即公鑰密碼術(shù))進(jìn)行廣播和簽署交易來強(qiáng)制執(zhí)行合同梅割。

需要說明的是以上概念并不能完全覆蓋比特幣的所有概念霜第,但是包含其中一部分的概念元素。

1.4.2. 戴偉的設(shè)計(jì)理念原文

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

1.4.3. BMoney的google翻譯版

我對(duì)蒂姆·梅的密碼無政府狀態(tài)感到著迷户辞。不像社區(qū)傳統(tǒng)上與“無政府狀態(tài)”這個(gè)詞相聯(lián)系泌类,在一個(gè)加密無政府狀態(tài)中
政府不會(huì)暫時(shí)摧毀,而是永久禁止和永久不需要底燎。這是一個(gè)暴力威脅無能為力的社區(qū)刃榨,因?yàn)楸┝κ遣豢赡艿牡猓┝κ遣豢赡艿?br> 因?yàn)樗膮⑴c者不能與他們的真實(shí)姓名或身體掛鉤位置。

到目前為止喇澡,還不清楚迅栅,即使在理論上,這樣的社區(qū)如何操作晴玖。一個(gè)社區(qū)由其參與者的合作來定義读存,
高效的合作需要一種交流媒介(金錢)和一種方式執(zhí)行合同。傳統(tǒng)上這些服務(wù)只能是由政府提供或政府資助的機(jī)構(gòu)合法實(shí)體呕屎。在這篇文章中我描述了一個(gè)這些服務(wù)的協(xié)議让簿,可以提供給不可追蹤的實(shí)體。

我將實(shí)際描述兩種協(xié)議秀睛。第一個(gè)是不切實(shí)際的尔当,
因?yàn)樗鼤?huì)大量使用同步和不可匿名匿名廣播頻道。然而它會(huì)激勵(lì)第二個(gè)蹂安,更實(shí)際
協(xié)議椭迎。在這兩種情況下,我都會(huì)假定存在一個(gè)無法追蹤的東西網(wǎng)絡(luò)田盈,發(fā)送者和接收者只能通過數(shù)字識(shí)別
假名(即公鑰)畜号,每個(gè)消息都由發(fā)件人簽名并加密到它的接收器屋休。

在第一個(gè)協(xié)議中研铆,每個(gè)參與者都維護(hù)一個(gè)(單獨(dú)的)數(shù)據(jù)庫
多少錢屬于每個(gè)假名坦敌。這些帳戶統(tǒng)稱
定義貨幣的所有權(quán)造烁,以及這些賬戶如何更新
本協(xié)議的主題。

1.創(chuàng)造金錢沪哺。任何人都可以通過廣播創(chuàng)造金錢
解決之前未解決的計(jì)算問題阿迈。唯一的
條件是確定多少計(jì)算工作量必須很容易
它解決了這個(gè)問題典蜕,否則解決方案就無法解決問題
價(jià)值畦韭,無論是實(shí)際還是知識(shí)疼蛾。貨幣單位的數(shù)量
創(chuàng)造出來的成本等于計(jì)算工作的成本
標(biāo)準(zhǔn)一攬子商品。例如艺配,如果問題需要100個(gè)小時(shí)
在最經(jīng)濟(jì)地解決它的計(jì)算機(jī)上解決据过,并且需要3個(gè)
標(biāo)準(zhǔn)籃子可以在該計(jì)算機(jī)上購買100小時(shí)的計(jì)算時(shí)間
在公開市場(chǎng)上,然后在廣播解決方案
每個(gè)人都會(huì)將廣播公司的帳戶記為3個(gè)單位妒挎。

2.錢的轉(zhuǎn)移。如果Alice(化名K_A的擁有者)希望
將X部分錢轉(zhuǎn)移給Bob(化名K_B的擁有者)西饵,她播放
由K_A簽署的消息“我給X個(gè)單位的錢”酝掩。經(jīng)
這個(gè)消息的廣播中,每個(gè)人都會(huì)將X個(gè)單位和X個(gè)單位的K_A的帳戶記入借方
將K_B的賬戶記入X單位眷柔,除非這會(huì)造成負(fù)值
在K_A的賬戶中平衡期虾,在這種情況下該消息被忽略原朝。

3.合同的效力。有效合同必須包含最高限額
在每個(gè)參與方違約的情況下進(jìn)行賠償镶苞。這應(yīng)該
還應(yīng)包括一方當(dāng)事人應(yīng)履行仲裁協(xié)議
爭(zhēng)議喳坠。包括仲裁員在內(nèi)的所有合同當(dāng)事人必須進(jìn)行廣播
它的簽名在它生效之前。在廣播之后
合同和所有簽名茂蚓,每個(gè)參與者借記賬戶
每一方通過其最高賠償額度和特別獎(jiǎng)勵(lì)
由合同的安全散列標(biāo)識(shí)的帳戶最大總和
賠償壕鹉。如果借款成功,合同就會(huì)生效
每一方都沒有產(chǎn)生負(fù)的余額聋涨,否則就是合同
被忽略并且賬戶被回滾晾浴。示例合同可能看起來
喜歡這個(gè):

K_A同意在0:0:0 1/1/2000之前將K_B的解發(fā)送給問題P.
K_B同意在0:0:0 1/1/2000之前支付K_A 100 MU(貨幣單位)。K_C
同意在發(fā)生爭(zhēng)議時(shí)進(jìn)行仲裁牍白。K_A同意支付一個(gè)
默認(rèn)情況下最大為1000 MU脊凰。K_B同意支付最多200
MU默認(rèn)情況下。K_C同意最多支付500 MU
默認(rèn)茂腥。

4.合同結(jié)論狸涌。如果合同無爭(zhēng)議地結(jié)束,
每一方都會(huì)廣播一個(gè)簽名消息“與SHA-1哈希H簽訂合同
在沒有賠償?shù)那闆r下結(jié)束最岗∨恋ǎ“或可能”與SHA-1哈希合同
H總結(jié)以下賠償:......“在所有的廣播
簽名,每個(gè)參與者通過信用評(píng)估每個(gè)方的帳戶
然后仑性,他的最高賠償金額惶楼,解除合同帳戶
根據(jù)賠償信用或借記每一方的帳戶
如果有的話。

5.合同的執(zhí)行诊杆。如果合同雙方不能達(dá)成一致
即使在仲裁員的幫助下歼捐,也可以得出適當(dāng)?shù)慕Y(jié)論
派對(duì)廣播建議的賠償/罰款時(shí)間表以及任何爭(zhēng)論或
有利于他的證據(jù)。每個(gè)參與者都會(huì)做出決定
實(shí)際賠償和/或罰款晨汹,并相應(yīng)地修改其賬戶豹储。

在第二議定書中,誰擁有多少錢的帳戶
參與者的一個(gè)子集(從現(xiàn)在起稱為服務(wù)器)而不是
大家淘这。這些服務(wù)器通過Usenet風(fēng)格的廣播頻道鏈接剥扣。
在這個(gè)頻道上廣播的交易信息的格式仍然是
與第一個(gè)協(xié)議相同,但每個(gè)參與者都受影響
交易應(yīng)驗(yàn)證消息已收到铝穷,并且
由隨機(jī)選擇的服務(wù)器子集成功處理钠怯。

由于服務(wù)器必須在一定程度上被信任,因此需要一些機(jī)制
保持誠實(shí)曙聂。每臺(tái)服務(wù)器都需要存放一定數(shù)量的
在特殊賬戶中的錢用作潛在的罰款或獎(jiǎng)勵(lì)
不當(dāng)行為證明晦炊。另外,每臺(tái)服務(wù)器都必須定期發(fā)布和
致力于目前的貨幣創(chuàng)造和貨幣所有權(quán)數(shù)據(jù)庫。每
參與者應(yīng)該確認(rèn)自己的賬戶余額是正確的
賬戶余額的總和不大于總額
創(chuàng)造的錢断国。這可以防止服務(wù)器贤姆,甚至在共謀的情況下
永久和無成本地?cái)U(kuò)大貨幣供應(yīng)量。新的服務(wù)器可以
還可以使用已發(fā)布的數(shù)據(jù)庫與現(xiàn)有服務(wù)器進(jìn)行同步稳衬。

本文中提出的協(xié)議允許不可追蹤的假名
實(shí)體通過提供它們更有效地相互合作
用交換媒介和執(zhí)行合同的方法霞捡。該
協(xié)議可能會(huì)更有效率和安全,但我希望這一點(diǎn)
是加密無政府組織在實(shí)踐和理論上邁出的一步
可能性薄疚。


附錄A:替代性B貨幣創(chuàng)造

金錢協(xié)議中更有問題的部分之一是金錢創(chuàng)建碧信。協(xié)議的這一部分要求所有帳戶
飼養(yǎng)員決定并同意特定計(jì)算的成本。不幸的是输涕,因?yàn)橛?jì)算技術(shù)趨于快速發(fā)展
并不總是公開的音婶,這些信息可能不可用,不準(zhǔn)確莱坎,或者過時(shí)衣式,所有這些都會(huì)給協(xié)議帶來嚴(yán)重的問題。

所以我提出了一個(gè)替代性的貨幣創(chuàng)造子協(xié)議檐什,在這個(gè)賬戶中
(第一個(gè)協(xié)議中的每個(gè)人或第二個(gè)協(xié)議中的服務(wù)器)
協(xié)議)碴卧,而是決定并同意要?jiǎng)?chuàng)建的B貨幣數(shù)量每個(gè)時(shí)期的成本都是由創(chuàng)造這個(gè)資金決定的
拍賣。每個(gè)貨幣創(chuàng)造期分為四個(gè)階段乃正,如如下:

1.計(jì)劃住册。賬戶保持者計(jì)算并彼此協(xié)商確定下一期貨幣供應(yīng)量的最佳增長(zhǎng)。
他們每個(gè)人是否可以達(dá)成共識(shí)廣播他們的貨幣創(chuàng)造配額和任何宏觀經(jīng)濟(jì)計(jì)算完成支持這些數(shù)字瓮具。

2.招標(biāo)荧飞。任何想要?jiǎng)?chuàng)造B錢的人都會(huì)在廣播中競(jìng)標(biāo)<x,y>的形式名党,其中x是他想創(chuàng)建的b錢的數(shù)量叹阔,y
是來自預(yù)定問題類別的未解決的問題。中的每個(gè)問題這個(gè)類應(yīng)該有一個(gè)名義成本(以MIPS年為單位)
公開同意传睹。

3.計(jì)算耳幢。看到投標(biāo)后欧啤,那些誰在投標(biāo)招標(biāo)階段現(xiàn)在可以解決他們的投標(biāo)中的問題并播出
解決方案睛藻。

4.創(chuàng)造金錢。每個(gè)賬戶管理人都接受最高的出價(jià)(例如那些實(shí)際上廣播解決方案的人)按名義成本計(jì)算
B貨幣單位創(chuàng)建并相應(yīng)地記入投標(biāo)人的賬戶邢隧。

1.5. Adam的Hashcash與比特幣

1.5.1. 維基百科上的說明

Hashcash是一個(gè)用于限制電子郵件垃圾郵件和拒絕服務(wù)攻擊的工作證明系統(tǒng)店印,最近由于其在比特幣(和其他加密貨幣)中的使用而成為挖掘算法的一部分。Cynthia Dwork和Moni Naor以及Eli Ponyatovski在1992年的論文“通過處理或打擊垃圾郵件定價(jià)” 中首次提出了最初的想法倒慧。[1]后來按摘,Adam Back在1997年提出了一個(gè)名為Hashcash的類似提案讥邻。[2]

工作機(jī)制:

How it works
Hashcash is a proof-of-work algorithm that requires a selectable amount of work to compute, but the proof can be verified efficiently. For email uses, a textual encoding of a hashcash stamp is added to the header of an email to prove the sender has expended a modest amount of CPU time calculating the stamp prior to sending the email. In other words, as the sender has taken a certain amount of time to generate the stamp and send the email, it is unlikely that they are a spammer. The receiver can, at negligible computational cost, verify that the stamp is valid. However, the only known way to find a header with the necessary properties is brute force, trying random values until the answer is found; though testing an individual string is easy, if satisfactory answers are rare enough it will require a substantial number of tries to find the answer.

Hashcash是一種工作量證明算法,需要可選擇的工作量進(jìn)行計(jì)算院峡,但驗(yàn)證可以非常有效率。對(duì)于電子郵件使用系宜,將電子郵件頭添加文本編碼的hashcash戳記照激,以證明發(fā)件人在發(fā)送電子郵件之前已經(jīng)花費(fèi)了適量的CPU時(shí)間來計(jì)算郵票。換句話說盹牧,由于發(fā)件人花了一定的時(shí)間來生成郵票并發(fā)送郵件俩垃,因此他們不太可能是垃圾郵件發(fā)送者。接收器可以以可忽略的計(jì)算成本驗(yàn)證郵票是否有效汰寓。然而口柳,找到具有必要屬性的頭部的唯一已知方式是暴力遍歷攻擊,嘗試隨機(jī)值直到找到答案; 雖然測(cè)試一個(gè)單獨(dú)的字符串很容易有滑,但如果滿意答案非常罕見跃闹,則需要大量嘗試才能找到答案。

The hypothesis is that spammers, whose business model relies on their ability to send large numbers of emails with very little cost per message, will cease to be profitable if there is even a small cost for each spam they send. Receivers can verify whether a sender made such an investment and use the results to help filter email.

這個(gè)假設(shè)是毛好,如果垃圾郵件發(fā)送者的商業(yè)模式依賴于他們發(fā)送大量電子郵件的能力望艺,并且每封郵件的成本很低。 那么如果發(fā)送每個(gè)垃圾郵件有個(gè)小的成本肌访,那么垃圾郵件發(fā)送者將不再有利可圖找默。接收者可以驗(yàn)證發(fā)件人是否進(jìn)行了此類成本投入并用來幫助過濾電子郵件。

1.5.2. Hashcash的主頁上的說明

http://www.hashcash.org/

Hashcash is a proof-of-work algorithm, which has been used as a denial-of-service counter measure technique in a number of systems.

Hashcash是一種工作驗(yàn)證算法吼驶,它已被用作許多系統(tǒng)中的拒絕服務(wù)對(duì)抗措施技術(shù)惩激。

A hashcash stamp constitutes a proof-of-work which takes a parameterizable amount of work to compute for the sender. The recipient (and indeed anyone as it is publicly auditable) can verify received hashcash stamps efficiently. Hashcash was invented by Adam Back in 1997

hashcash圖章構(gòu)成了一個(gè)工作證明,它為發(fā)送者計(jì)算可參數(shù)化的工作量蟹演。收件人(實(shí)際上任何人都可以公開審核)可以高效地驗(yàn)證收到的hashcash郵票风钻。Hashcash是在 1997年由Adam Back發(fā)明的

At this point it is most widely used as the bitcoin mining function.

當(dāng)前,它被廣泛應(yīng)用于比特幣的挖礦函數(shù)中轨帜。

1.6. 比特幣論文相關(guān)參考文獻(xiàn)

文獻(xiàn)來自中本聰?shù)恼撐?br> Bitcoin: A Peer-to-Peer Electronic Cash System, Satoshi Nakamoto
https://bitcoin.org/bitcoin.pdf

比特幣白皮書:一種點(diǎn)對(duì)點(diǎn)的電子現(xiàn)金系統(tǒng) 中文翻譯版, 中本聰
http://www.8btc.com/wiki/bitcoin-a-peer-to-peer-electronic-cash-system

其論文中提到的文獻(xiàn)包括:

References
W. Dai, "b-money," http://www.weidai.com/bmoney.txt, 1998. ?

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. ? ?

S. Haber, W.S. Stornetta, "How to time-stamp a digital document," In Journal of Cryptology, vol 3, no 2, pages 99-111, 1991. ?

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, pages 329-334, 1993. ?

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. ? ?

A. Back, "Hashcash - a denial of service counter-measure," http://www.hashcash.org/papers/hashcash.pdf, 2002. ?

R.C. Merkle, "Protocols for public key cryptosystems," In Proc. 1980 Symposium on Security and Privacy, IEEE Computer Society, pages 122-133, April 1980. ?

W. Feller, "An introduction to probability theory and its applications," 1957. ?

除了白皮書中列出的魄咕,更多的參考文獻(xiàn)可以看中本聰研究所列出的文獻(xiàn)列表:
http://nakamotoinstitute.org/literature/

2. 比特幣白皮書解讀

2.1. 郵件宣布發(fā)表

中本聰于2018年11月1日在密碼學(xué)郵件列表里宣布了Bitcoin P2P e-cash paper的發(fā)表。
原文如下:

Bitcoin P2P e-cash paper
Satoshi Nakamoto satoshi at vistomail.com 
Fri Oct 31 14:10:00 EDT 2008

I've been working on a new electronic cash system that's fully
peer-to-peer, with no trusted third party.

The paper is available at:
http://www.bitcoin.org/bitcoin.pdf

The main properties:
 Double-spending is prevented with a peer-to-peer network.
 No mint or other trusted parties.
 Participants can be anonymous.
 New coins are made from Hashcash style proof-of-work.
 The proof-of-work for new coin generation also powers the
    network to prevent double-spending.

Bitcoin: A Peer-to-Peer Electronic Cash System

Abstract.  A purely peer-to-peer version of electronic cash would
allow online payments to be sent directly from one party to another
without the burdens of going through a financial institution.
Digital signatures provide part of the solution, but the main
benefits are lost if a trusted party is still required to prevent
double-spending.  We propose a solution to the double-spending
problem using a peer-to-peer network.  The network timestamps
transactions by hashing them into an ongoing chain of hash-based
proof-of-work, forming a record that cannot be changed without
redoing the proof-of-work.  The longest chain not only serves as
proof of the sequence of events witnessed, but proof that it came
from the largest pool of CPU power.  As long as honest nodes control
the most CPU power on the network, they can generate the longest
chain and outpace any attackers.  The network itself requires
minimal structure.  Messages are broadcasted on a best effort basis,
and nodes can leave and rejoin the network at will, accepting the
longest proof-of-work chain as proof of what happened while they
were gone.

Full paper at:
http://www.bitcoin.org/bitcoin.pdf

Satoshi Nakamoto

---------------------------------------------------------------------
The Cryptography Mailing List

主要內(nèi)容翻譯:

無需信任第三方蚌父,端到端的新電子貨幣系統(tǒng)(a new electronic cash system)主要屬性:

  • 通過點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)防止雙重支出哮兰。
  • 沒有造幣廠或其他信任方。
  • 參與者可以是匿名的苟弛。
  • 新幣的制造來自 Hashcash 類型的工作量證明(proof-of-work)喝滞。 (Hashcash意指論文中提到的第6篇文獻(xiàn)Hashcash - a denial of service counter-measure)
  • 新幣產(chǎn)生的工作量證明也防止了雙重支付。

比特幣:對(duì)等電子貨幣系統(tǒng)

摘要:
純對(duì)等版本的電子貨幣的允許在線支付從一方直接發(fā)送到另一方膏秫,無需經(jīng)過一個(gè)金融機(jī)構(gòu)右遭。
數(shù)字簽名是解決方案的一部分,但是主要的效益在于無需信任一個(gè)第三方就能阻止雙重支付問題。
論文基于端到端網(wǎng)絡(luò)(a peer-to-peer work)提出了雙重支出的解決方案窘哈。
通過對(duì)基于網(wǎng)絡(luò)時(shí)間戳的交易進(jìn)行哈希并追加到一個(gè)不斷增長(zhǎng)的鏈條上吹榴,鏈?zhǔn)腔诠5墓ぷ髁孔C明,由此構(gòu)成了無法修改的記錄滚婉,而要想修改記錄除非重新做工作量證明图筹。 最長(zhǎng)的鏈不僅證明了事件(events)發(fā)生的順序,也證明了它來自最大的CPU工作量让腹。只要誠實(shí)的節(jié)點(diǎn)控制了網(wǎng)絡(luò)上大多數(shù)的CPU算力远剩,它們可以產(chǎn)生最長(zhǎng)的鏈并且超過任何攻擊者。
網(wǎng)絡(luò)本身只需要最小的基礎(chǔ)結(jié)構(gòu)骇窍。消息以盡力而為的方式廣播瓜晤,節(jié)點(diǎn)可以隨意離開并重新加入網(wǎng)絡(luò),然后只需接受他們離開期間最長(zhǎng)的工作量證明鏈條即可腹纳。

2.2. p2p基金會(huì)論壇宣布開源bitcoin的發(fā)布

http://p2pfoundation.ning.com/forum/topics/bitcoin-open-source

I've developed a new open source P2P e-cash system called Bitcoin. It's completely decentralized, with no central server or trusted parties, because everything is based on crypto proof instead of trust. Give it a try, or take a look at the screenshots and design paper:

Download Bitcoin v0.1 at http://www.bitcoin.org

The root problem with conventional currency is all the trust that's required to make it work. The central bank must be trusted not to debase the currency, but the history of fiat currencies is full of breaches of that trust. Banks must be trusted to hold our money and transfer it electronically, but they lend it out in waves of credit bubbles with barely a fraction in reserve. We have to trust them with our privacy, trust them not to let identity thieves drain our accounts. Their massive overhead costs make micropayments impossible.

A generation ago, multi-user time-sharing computer systems had a similar problem. Before strong encryption, users had to rely on password protection to secure their files, placing trust in the system administrator to keep their information private. Privacy could always be overridden by the admin based on his judgment call weighing the principle of privacy against other concerns, or at the behest of his superiors. Then strong encryption became available to the masses, and trust was no longer required. Data could be secured in a way that was physically impossible for others to access, no matter for what reason, no matter how good the excuse, no matter what.

It's time we had the same thing for money. With e-currency based on cryptographic proof, without the need to trust a third party middleman, money can be secure and transactions effortless.

One of the fundamental building blocks for such a system is digital signatures. A digital coin contains the public key of its owner. To transfer it, the owner signs the coin together with the public key of the next owner. Anyone can check the signatures to verify the chain of ownership. It works well to secure ownership, but leaves one big problem unsolved: double-spending. Any owner could try to re-spend an already spent coin by signing it again to another owner. The usual solution is for a trusted company with a central database to check for double-spending, but that just gets back to the trust model. In its central position, the company can override the users, and the fees needed to support the company make micropayments impractical.

Bitcoin's solution is to use a peer-to-peer network to check for double-spending. In a nutshell, the network works like a distributed timestamp server, stamping the first transaction to spend a coin. It takes advantage of the nature of information being easy to spread but hard to stifle. For details on how it works, see the design paper at http://www.bitcoin.org/bitcoin.pdf

The result is a distributed system with no single point of failure. Users hold the crypto keys to their own money and transact directly with each other, with the help of the P2P network to check for double-spending.

Satoshi Nakamoto
http://www.bitcoin.org

重要內(nèi)容翻譯:

這樣的系統(tǒng)的一個(gè)基礎(chǔ)是數(shù)字簽名痢掠。 一個(gè)數(shù)字貨幣包含所有者的公鑰。為了支付它只估,所有者對(duì)下一位所有者的公鑰和這個(gè)數(shù)字貨幣進(jìn)行簽名志群。任何人都可以檢查簽名來驗(yàn)證所有權(quán)。這對(duì)于所有權(quán)的安全很好蛔钙,但是留下了一個(gè)大的問題沒解決:雙重支付問題锌云。任何所有者都可以通過將它再一次簽名給另外一位所有者的方式來重新再花費(fèi)一次這個(gè)貨幣。
比特幣的解決方案是使用一個(gè)p2p網(wǎng)絡(luò)來檢查多重支付問題吁脱。簡(jiǎn)單說桑涎,網(wǎng)絡(luò)就像一個(gè)分布式的時(shí)間戳服務(wù)器,花費(fèi)一個(gè)貨幣時(shí)兼贡,給第一個(gè)交易打上一個(gè)時(shí)間戳攻冷。它采用了信息易于傳播不易被扼殺的特點(diǎn)。具體看論文遍希。

Some Relpys

Reply by Sepp Hasslberger on February 18, 2009 at 14:41
I have two questions, Satoshi.

the first one ties in with Joerg's doubts about the trusted supply of tokens/coins.

As far as I understand, there will be a limit of the total amount of tokens that can be created, and a changing gradient of difficulty in making the tokens, where the elaboration gets more and more difficult with time. Is that correct?

It is important that there be a limit in the amount of tokens/coins. But it is also important that this limit be adjustable to take account of how many people adopt the system. If the number of users changes with time, it will also be necessary to change the total amount of coins.

Is there a formula to decide on what should be the total amount of tokens, and if so, what is the formula?

If there is no formula, who gets to make that decision and based on what criteria will it be made?

I will keep my second question for later. One thing at a time...


 Permalink Reply by Satoshi Nakamoto on February 18, 2009 at 20:50
It is a global distributed database, with additions to the database by consent of the majority, based on a set of rules they follow:

- Whenever someone finds proof-of-work to generate a block, they get some new coins
- The proof-of-work difficulty is adjusted every two weeks to target an average of 6 blocks per hour (for the whole network)
- The coins given per block is cut in half every 4 years

You could say coins are issued by the majority. They are issued in a limited, predetermined amount.

As an example, if there are 1000 nodes, and 6 get coins each hour, it would likely take a week before you get anything.

To Sepp's question, indeed there is nobody to act as central bank or federal reserve to adjust the money supply as the population of users grows. That would have required a trusted party to determine the value, because I don't know a way for software to know the real world value of things. If there was some clever way, or if we wanted to trust someone to actively manage the money supply to peg it to something, the rules could have been programmed for that.

In this sense, it's more typical of a precious metal. Instead of the supply changing to keep the value the same, the supply is predetermined and the value changes. As the number of users grows, the value per coin increases. It has the potential for a positive feedback loop; as users increase, the value goes up, which could attract more users to take advantage of the increasing value.

中本聰回復(fù)內(nèi)容翻譯:

這是一個(gè)全球分布式數(shù)據(jù)庫等曼,基于下列規(guī)則大多數(shù)節(jié)點(diǎn)取得數(shù)據(jù)的一致性。

  • 每當(dāng)有人通過工作量證明(proof-of-work)產(chǎn)生一個(gè)數(shù)據(jù)塊時(shí)凿蒜,他們就會(huì)得到一些新幣
  • 每?jī)芍苷{(diào)整一次proof-of-work難度禁谦,以平均每小時(shí)6個(gè)區(qū)塊為單位(對(duì)于整個(gè)網(wǎng)絡(luò))
  • 每塊區(qū)塊獎(jiǎng)勵(lì)的幣每四年減半。

你可以說幣是由大多數(shù)人發(fā)放的废封。它們以有限的預(yù)定數(shù)量發(fā)放州泊。

舉個(gè)例子,如果有1000個(gè)節(jié)點(diǎn)漂洋,并且每個(gè)小時(shí)有6個(gè)幣遥皂,那么在你得到任何東西之前可能需要一個(gè)星期力喷。

對(duì)于謝普的問題,事實(shí)上沒有人會(huì)充當(dāng)中央銀行或聯(lián)邦儲(chǔ)備銀行演训,隨著用戶人口增長(zhǎng)而調(diào)整貨幣供應(yīng)量弟孟。這將需要一個(gè)值得信賴的方面來決定價(jià)值,因?yàn)槲也恢酪环N讓軟件知道事物真實(shí)世界價(jià)值的方法样悟。如果有一些聰明的方法披蕉,或者我們想要相信某人主動(dòng)管理貨幣供應(yīng)以將其固定在某物上,那么規(guī)則就可以被編程乌奇。

從這個(gè)意義上講,它更典型的是貴重金屬眯娱,不是供應(yīng)改變礁苗,以保持價(jià)值相同。供應(yīng)是預(yù)先確定的徙缴,價(jià)值改變试伙。隨著用戶數(shù)量的增長(zhǎng),每個(gè)幣的價(jià)值也在增加于样。它具有積極的反饋循環(huán)的潛力; 隨著用戶增加疏叨,價(jià)值增加,這可能吸引更多的用戶利用增加的價(jià)值穿剖。

2.3. 白皮書解讀:

一個(gè)自行通過cpu的計(jì)算進(jìn)行獎(jiǎng)勵(lì)比特幣蚤蔓,依靠對(duì)交易打包形成區(qū)塊并進(jìn)行數(shù)字簽名和哈希,不斷延伸的具有算力支持的區(qū)塊鏈條形成了全網(wǎng)一致的賬本記錄糊余,支持了p2p網(wǎng)絡(luò)的特性秀又,形成完全自治系統(tǒng),很好地解決了沒有中心化節(jié)點(diǎn)的情況下端到端在互聯(lián)網(wǎng)上直接交易支付的問題贬芥。

2.3.1. 預(yù)備知識(shí)

密碼學(xué)中 哈希/散列計(jì)算, 公鑰私鑰機(jī)制吐辙, 數(shù)字簽名機(jī)制 的了解
計(jì)算機(jī)數(shù)據(jù)結(jié)構(gòu)中的 鏈條,樹 的概念
計(jì)算機(jī)網(wǎng)絡(luò)的p2p概念
數(shù)學(xué)中的概率計(jì)算

2.3.2. 特點(diǎn):

  • 端到端蘸劈,無需第三方中介昏苏。
  • 可以匿名(來自公鑰私鑰的密碼學(xué)算法特性)。
  • 交易記錄公開威沫。
  • 即使不斷產(chǎn)生新交易贤惯,全網(wǎng)的記賬數(shù)據(jù)保持一致(以最長(zhǎng)鏈為準(zhǔn))。

2.3.3. 從不同層面來講:

  • 交易者層面: 通過密碼學(xué)的公私鑰機(jī)制和哈希算法生成賬號(hào)地址壹甥,同時(shí)也確保了匿名性救巷。
  • 交易層面:通過未花費(fèi)的交易記錄和數(shù)字簽名及可讀的全網(wǎng)數(shù)據(jù)解決了雙重支付問題。句柠。浦译。棒假。
  • 記賬層面:基于哈希計(jì)算的工作量證明 +不斷串聯(lián)的包含交易的區(qū)塊的順序哈希計(jì)算 解決了區(qū)塊交易不可修改,即使修改也需要超過51%算力支持的機(jī)制精盅。 同時(shí)也解決了全網(wǎng)數(shù)據(jù)一致的難題帽哑,即所謂共識(shí)算法Pow.
  • 新幣發(fā)行:對(duì)基于工作量證明的成功的交易打包者進(jìn)行獎(jiǎng)勵(lì),放在區(qū)塊頭部叹俏,即挖礦妻枕。因?yàn)閿?shù)量有限也避免了通貨膨脹。
  • 交易費(fèi)用:通過交易費(fèi)對(duì)打包者進(jìn)行獎(jiǎng)勵(lì)粘驰。
  • p2p網(wǎng)絡(luò)層面:通過每個(gè)節(jié)點(diǎn)都接受基于工作量證明的最長(zhǎng)鏈條為正確鏈條并再其后進(jìn)行追加最新區(qū)塊屡谐,確保任意節(jié)點(diǎn)離開加入都不會(huì)影響對(duì)全網(wǎng)賬本的持續(xù)加載。
  • 節(jié)點(diǎn)激勵(lì): 通過對(duì)挖礦者發(fā)行新幣以及收取交易費(fèi)用進(jìn)行激勵(lì)蝌数,同時(shí)也從經(jīng)濟(jì)層面鼓勵(lì)誠實(shí)節(jié)點(diǎn)愕掏,避免了51%算力的重復(fù)支付攻擊。

從技術(shù)角度而言:

  • p2p網(wǎng)絡(luò)確保了分布式的特點(diǎn)顶伞,沒有中心化節(jié)點(diǎn)饵撑,可以自由加入和離開。
  • 哈希算法特點(diǎn)唆貌,工作量證明以及基于交易的區(qū)塊鏈條直接和間接地確保了全網(wǎng)數(shù)據(jù)的一致滑潘,達(dá)成共識(shí),不易篡改的特性锨咙。
  • 密碼學(xué)的數(shù)字簽名以及全網(wǎng)數(shù)據(jù)一致解決了計(jì)算機(jī)容易復(fù)制不易傳遞價(jià)值的雙重支付問題语卤,解決了價(jià)值傳遞。

2.3.4. 核心概念與思路解釋

目前的計(jì)算與互聯(lián)網(wǎng)體系下酪刀,信息很容易被復(fù)制和傳遞粱侣,作為金錢,可以通過計(jì)算機(jī)產(chǎn)生蓖宦,但是卻很容易復(fù)制齐婴,很難確保唯一性。接下來就說下重點(diǎn)的概念和解決思路稠茂。

2.3.4.1. 總體核心思路

通過數(shù)字簽名對(duì)交易來確認(rèn)所有權(quán)的方法解決了電子貨幣本身的定義柠偶,然而無法解決復(fù)制簽名的重復(fù)支付問題,為了解決這個(gè)問題睬关,就需要對(duì)之前所有的交易記錄進(jìn)行訪問和驗(yàn)證诱担,就引發(fā)了全網(wǎng)公開且統(tǒng)一的數(shù)據(jù)問題,而通過區(qū)塊加上鏈和工作量證明機(jī)制解決了誰來生成最新的區(qū)塊并傳播到全網(wǎng)的問題电爹,同時(shí)即使存在有不誠實(shí)的節(jié)點(diǎn)修改已經(jīng)進(jìn)入最長(zhǎng)區(qū)塊鏈的交易記錄的情況蔫仙,也可以推導(dǎo)出其需要控制全網(wǎng)51%的算力。

image

2.3.4.2. 電子貨幣定義與重復(fù)支付的解決

首先要定義什么是一個(gè)電子貨幣丐箩。

We define an electronic coin as a chain of digital signatures. Each owner transfers the coin to the
next by digitally signing a hash of the previous transaction and the public key of the next owner
and adding these to the end of the coin. A payee can verify the signatures to verify the chain of
ownership.

什么是電子貨幣摇邦? 數(shù)字簽名鏈構(gòu)成了一個(gè)電子貨幣恤煞。
每一個(gè)貨幣所有者把幣轉(zhuǎn)移(交易)給下一個(gè)人,需要做的事是對(duì)前一筆交易的哈希加上下一個(gè)所有者的公鑰一起做數(shù)字簽名施籍,然后追加到這個(gè)幣的后面居扒。
收款人可以通過驗(yàn)證簽名來驗(yàn)證所有權(quán)構(gòu)成的鏈。

這句話的關(guān)鍵是數(shù)字簽名丑慎,鏈喜喂,交易。 數(shù)字簽名簽的內(nèi)容是上一筆交易和金額的接收者竿裂,簽名者是金額的發(fā)送者玉吁。哈希是數(shù)字簽名的技巧,避免簽過大的數(shù)據(jù)腻异。 接收者只需拿發(fā)送者的公鑰進(jìn)行簽名即可驗(yàn)證诈茧。由此金額的所有權(quán)從發(fā)送者到了接受者手里。
發(fā)送者的私鑰進(jìn)行簽名確保了交易是本人簽署的捂掰,接受者的公鑰確保了接收者既公開地址又不失去其所有權(quán),同時(shí)又方便了下一次交易發(fā)送給其他人的權(quán)利曾沈。


image

如圖中所示这嚣, Owner1 發(fā)送給 Owner2 一定數(shù)量的貨幣,構(gòu)成了一個(gè)交易塞俱, 這個(gè)交易本身就是一個(gè)貨幣姐帚,貨幣的可靠性來自于前一筆交易的接收者Owner1 的公鑰以及Owner1對(duì)中間這筆交易的簽名的認(rèn)可, 貨幣的新的所有權(quán)所有者Owner2 同樣通過自己的公鑰和私鑰可以將其交易給下一位所有者Owner3.

從技術(shù)細(xì)節(jié)上來講:至于驗(yàn)證公鑰與數(shù)字簽名的合法性障涯,則是由系統(tǒng)統(tǒng)一的代碼來驗(yàn)證罐旗,每個(gè)節(jié)點(diǎn)上運(yùn)行的都是一致的,不通過則交易失敗唯蝶,無法進(jìn)入賬本九秀。

但是,有一個(gè)問題沒有解決粘我,那就是如果Owner1 簽署了多份交易鼓蜒,也就是重復(fù)支付問題怎么辦? 在有造幣廠的角色存在時(shí)征字,是有造幣廠來保證每個(gè)貨幣的唯一性的都弹。 如果沒有中心節(jié)點(diǎn),那么就需要另辟捷徑匙姜。
也就需要保證Ower1沒有對(duì)之前的交易進(jìn)行過簽名畅厢,從未花費(fèi)過,也就是bitcoin.org上提到的UTXO(Unspent Transaction Output)概念氮昧。 從這點(diǎn)來說框杜,那么就必須知道所有的交易浦楣,全部檢查一遍。 這也就意味著所有交易都是公開的霸琴,那么接下來也就意味著我們需要系統(tǒng)里的所有參與者節(jié)點(diǎn)都具有以及收到公認(rèn)的唯一歷史交易序列椒振。收款人Ower2需要確保交易期間絕大多數(shù)的節(jié)點(diǎn)都認(rèn)同該交易是首次出現(xiàn),即從來未支付過給別人梧乘,也就能產(chǎn)生新的交易/貨幣澎迎,從而避免了重復(fù)支付問題。

由此引申出第二個(gè)核心問題选调,如何確保網(wǎng)絡(luò)中的所有節(jié)點(diǎn)都接受一致的歷史交易記錄數(shù)據(jù), 因?yàn)榻y(tǒng)一的數(shù)據(jù)也就意味著確認(rèn)的交易歷史記錄順序夹供,也就需要有時(shí)間戳來確定交易的時(shí)間,也就是為什么中本聰會(huì)提出時(shí)間戳服務(wù)器的概念仁堪,實(shí)際上這是個(gè)自然的概念哮洽,在通過區(qū)塊鏈和工作量證明來解決時(shí),只是個(gè)附屬概念弦聂。

2.3.4.3. 全網(wǎng)統(tǒng)一歷史賬本數(shù)據(jù)的解決(區(qū)塊鏈與工作量證明)

因?yàn)椴豢赡馨呀灰子涗浺淮涡匀坑涗浵聛砟窀ǎ枰峙匀灰簿统霈F(xiàn)了區(qū)塊的概念莺葫,區(qū)塊可以存儲(chǔ)一批交易記錄集合匪凉。
因?yàn)楣5奶攸c(diǎn),再結(jié)合Merkle tree, 將具體交易數(shù)據(jù)放在身部捺檬,其綜合哈希值放在頭部再层,構(gòu)成了一個(gè)區(qū)塊,僅有比較小的頭部就足以確保交易數(shù)據(jù)的無法篡改。

為了讓隨時(shí)間發(fā)生的交易不斷地追加到賬本記錄中并且確保記錄不可被篡改堡纬,基于哈希的區(qū)塊鏈條是個(gè)自然的解決方案聂受。但這還不夠。


image

每個(gè)節(jié)點(diǎn)都添加交易記錄烤镐,以哪個(gè)節(jié)點(diǎn)產(chǎn)生的最新交易記錄集合也就是區(qū)塊為主并廣播到全網(wǎng)節(jié)點(diǎn)呢蛋济?這是個(gè)難題。

工作量證明Pow出現(xiàn)了炮叶,它通過及其大量的哈希運(yùn)算瘫俊,在概率上確保了只有極少的節(jié)點(diǎn)通過運(yùn)算才能爭(zhēng)取到生成“當(dāng)前合法”的區(qū)塊的機(jī)會(huì),然后廣播并被大多數(shù)的節(jié)點(diǎn)所接受悴灵,“當(dāng)前合法”的概念是指追加到當(dāng)前全網(wǎng)區(qū)塊鏈條后面的被所有參與節(jié)點(diǎn)認(rèn)可和驗(yàn)證的區(qū)塊扛芽,這樣就統(tǒng)一了全網(wǎng)數(shù)據(jù)。
然后就以此為榜樣积瞒,不斷延伸鏈條川尖,全網(wǎng)以最長(zhǎng)的鏈條為主作為“統(tǒng)一歷史賬本數(shù)據(jù)”進(jìn)行廣播。

工作量證明也往往被稱為共識(shí)機(jī)制茫孔,本質(zhì)相當(dāng)于互相沒有信任基礎(chǔ)的個(gè)體之間就交易數(shù)據(jù)的合法性達(dá)成一致的共識(shí)叮喳。

因?yàn)楣ぷ髁孔C明Pow要完成非常困難被芳,再加上基于哈希的鏈條,同時(shí)也確保了修改區(qū)塊數(shù)據(jù)非常困難馍悟∨媳簦可以理解成套了一層又一層的鎖,每個(gè)鎖要解開都要花費(fèi)大量時(shí)間锣咒。

接下來一個(gè)直接的疑問就是如果全網(wǎng)同時(shí)生成了2個(gè)或多個(gè)“合法”區(qū)塊怎么辦侵状?因?yàn)殡S著鏈條長(zhǎng)度的增長(zhǎng)以及工作量證明本身的計(jì)算難度和概率,連續(xù)出現(xiàn)多個(gè)區(qū)塊鏈的可能性逐級(jí)下降毅整,換句話說也就是不可能一直存在多個(gè)鏈趣兄,導(dǎo)致全網(wǎng)數(shù)據(jù)不一致,即使有臨時(shí)的分叉悼嫉,也很快就會(huì)消失艇潭。

重復(fù)支付的問題雖然通過統(tǒng)一全網(wǎng)數(shù)據(jù)的辦法解決了,但是會(huì)出現(xiàn)這么一種情況戏蔑,Owner1不甘心蹋凝,在支付給Owner2之后,已經(jīng)記錄到“合法”的區(qū)塊賬本之后总棵,他反悔了鳍寂,控制了一部分的節(jié)點(diǎn),修改了交易本身彻舰,妄想撤銷或者修改已經(jīng)成交的交易記錄,并且借助于控制的節(jié)點(diǎn)算力超越誠實(shí)節(jié)點(diǎn)候味,來增長(zhǎng)另外一條不誠實(shí)的區(qū)塊鏈刃唤。然而這種可能性極其低,因?yàn)橐鄬?duì)已經(jīng)生成的區(qū)塊進(jìn)行修改白群,Owner1必須重新完成該修改區(qū)塊的工作量外加之后的所有區(qū)塊的工作量尚胞,這種可能性同合法的2條或多條區(qū)塊鏈同時(shí)并存的可能性一樣,成功概率呈指數(shù)化遞減帜慢,也就是很低笼裳。除非有一種情況,Owner1控制的算力超過了51%粱玲。

另外躬柬,上述是在算力以及全網(wǎng)的節(jié)點(diǎn)固定情況下的解決思路,如果全網(wǎng)的節(jié)點(diǎn)增長(zhǎng)抽减,那么配合計(jì)算難度的動(dòng)態(tài)調(diào)整即可允青。

2.3.5. 前提和相關(guān)工程與技巧等問題

到此為止,為了實(shí)現(xiàn)不經(jīng)過中介端到端的直接支付的問題就基本解決了卵沉。但是這整個(gè)主干過程中有很多涉及到前提和實(shí)現(xiàn)的細(xì)節(jié)問題颠锉,下面簡(jiǎn)要介紹幾個(gè)法牲。但是這些與要解決的問題相比,已經(jīng)是非主干的問題了琼掠。

比方說

  • 最初的幣從哪里來拒垃?
  • 單個(gè)節(jié)點(diǎn)怎么能訪問到全網(wǎng)數(shù)據(jù),以及未花費(fèi)的交易記錄瓷蛙?
  • 客戶端怎么驗(yàn)證有效的交易且不消耗太多資源悼瓮?
  • 貨幣的單位怎么確認(rèn)?怎么分割速挑?手續(xù)費(fèi)怎么算谤牡?
  • 單個(gè)節(jié)點(diǎn)怎么存儲(chǔ)全網(wǎng)數(shù)據(jù),不超出系統(tǒng)資源限制姥宝,并且能維持很多年翅萤?
  • 全網(wǎng)數(shù)據(jù)公開怎么確保個(gè)人的隱私?
  • 全網(wǎng)算力增長(zhǎng)腊满,怎么避免同時(shí)實(shí)現(xiàn)多個(gè)鏈的持續(xù)出現(xiàn)套么,怎么進(jìn)行難度調(diào)整?
  • 怎么鼓勵(lì)節(jié)點(diǎn)運(yùn)行大量計(jì)算來完成Pow?
  • 具體區(qū)塊時(shí)間怎么確定碳蛋?
  • 很多交易時(shí)胚泌,存儲(chǔ)不到一個(gè)區(qū)塊里怎么辦?
  • 同時(shí)多個(gè)區(qū)塊出現(xiàn)時(shí)肃弟,最后不被認(rèn)可的區(qū)塊里面的交易怎么辦玷室?

可以自行看論文的其他部分來解答,或者到比特幣的官方文檔及Wiki查看

3. 參考資料

Satoshi Nakamoto
https://en.wikipedia.org/wiki/Satoshi_Nakamoto

Bitcoin P2P e-cash paper
http://www.metzdowd.com/pipermail/cryptography/2008-October/014810.html

Bitcoin v0.1 released 2009-01-09 20:05:49 UTC
http://satoshi.nakamotoinstitute.org/emails/cryptography/16/

突破2萬美元的比特幣與其背后的區(qū)塊鏈技術(shù) (張健)
http://mp.weixin.qq.com/s/rRWJcHtY9v6DmM2ZE_cZoQ

我們都是中本聰:那些孜孜以求建立密碼學(xué)貨幣的先驅(qū)們(長(zhǎng)鋏)
http://www.8btc.com/cypherpunk-satoshi

Electronic Cash, BitCoin
https://www.net.in.tum.de/fileadmin/TUM/teaching/Peer-to-Peer-und-Sicherheit/ss11/ECash-BitCoin.pdf

戴維介紹:
https://en.bitcoin.it/wiki/Wei_Dai

戴偉的設(shè)計(jì)理念, Basis for BitCoin concept
http://www.weidai.com/bmoney.txt

Hashcash
https://en.wikipedia.org/wiki/Hashcash

中本聰研究所文獻(xiàn)列表
http://nakamotoinstitute.org/literature/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末笤受,一起剝皮案震驚了整個(gè)濱河市穷缤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌箩兽,老刑警劉巖津肛,帶你破解...
    沈念sama閱讀 211,948評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異汗贫,居然都是意外死亡身坐,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門落包,熙熙樓的掌柜王于貴愁眉苦臉地迎上來部蛇,“玉大人,你說我怎么就攤上這事咐蝇√禄ǎ” “怎么了?”我有些...
    開封第一講書人閱讀 157,490評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)撮竿。 經(jīng)常有香客問我吮便,道長(zhǎng),這世上最難降的妖魔是什么幢踏? 我笑而不...
    開封第一講書人閱讀 56,521評(píng)論 1 284
  • 正文 為了忘掉前任髓需,我火速辦了婚禮,結(jié)果婚禮上房蝉,老公的妹妹穿的比我還像新娘僚匆。我一直安慰自己,他們只是感情好搭幻,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,627評(píng)論 6 386
  • 文/花漫 我一把揭開白布咧擂。 她就那樣靜靜地躺著,像睡著了一般檀蹋。 火紅的嫁衣襯著肌膚如雪松申。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,842評(píng)論 1 290
  • 那天俯逾,我揣著相機(jī)與錄音贸桶,去河邊找鬼。 笑死桌肴,一個(gè)胖子當(dāng)著我的面吹牛皇筛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播坠七,決...
    沈念sama閱讀 38,997評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼水醋,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了彪置?” 一聲冷哼從身側(cè)響起拄踪,我...
    開封第一講書人閱讀 37,741評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎悉稠,沒想到半個(gè)月后宫蛆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體艘包,經(jīng)...
    沈念sama閱讀 44,203評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡的猛,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,534評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了想虎。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片卦尊。...
    茶點(diǎn)故事閱讀 38,673評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖舌厨,靈堂內(nèi)的尸體忽然破棺而出岂却,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 34,339評(píng)論 4 330
  • 正文 年R本政府宣布躏哩,位于F島的核電站署浩,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏扫尺。R本人自食惡果不足惜筋栋,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,955評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望正驻。 院中可真熱鬧弊攘,春花似錦、人聲如沸姑曙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽伤靠。三九已至捣域,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間醋界,已是汗流浹背竟宋。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評(píng)論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留形纺,地道東北人丘侠。 一個(gè)月前我還...
    沈念sama閱讀 46,394評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像逐样,于是被迫代替她去往敵國和親蜗字。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,562評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容