比特幣的基本原理

讓我們來講一個(gè)小故事告訴大家比特幣的誕生背景(轉(zhuǎn)他人的文章坑雅,并加入了一些自己的看法)

1.以物易物的比特村(原始社會(huì))

話說在這個(gè)世界上是晨,有一個(gè)叫比特村的小村莊,村莊共有幾百戶人家。這個(gè)村莊幾乎與世隔絕犁嗅,過著自給自足的生活。由于沒有大規(guī)模貿(mào)易晤碘,比特村村民一直過著以物易物的生活褂微,也就是說村民之間并沒有使用統(tǒng)一的貨幣,互相間的貿(mào)易基本上就是老張家拿一袋面粉換老李家一只羊哼蛆,王大嫂拿一筐野果換劉大嬸兩尺布蕊梧。村民們一直就這么純樸的生活著。

2.實(shí)物貨幣時(shí)代

終于有一天腮介,村民覺得一直這樣以物易物實(shí)在太不方便了肥矢,于是村子全員開會(huì),討論如何解決這個(gè)問題叠洗。有人提議甘改,以便于分割且稀有的東西,例如黃金灭抑,作為一般等價(jià)物十艾,把其它物品和黃金的對(duì)應(yīng)關(guān)系編成一張表格,例如一克黃金對(duì)應(yīng)一只羊腾节,一克黃金對(duì)應(yīng)一袋面粉等等忘嫉,此時(shí)老張?jiān)僖膊挥每钢淮娣蹥獯跤醯娜ダ侠罴覔Q羊了,他只要從家里摸出一克金子案腺,就可以去老李家牽回一只羊庆冕,而老李拿著這一克黃金可以從任何愿意出讓面粉的人那里換回一袋面粉,當(dāng)然也可以換取任何和一克黃金等值的物品劈榨。

此時(shí)比特村進(jìn)入了實(shí)物貨幣時(shí)代访递。

3.金本位紙幣時(shí)代

好景不長(zhǎng),過了一段時(shí)間同辣,實(shí)物貨幣的弊端也出現(xiàn)了拷姿。因?yàn)楸忍卮甯浇鸬V并不多,開采和冶煉金子太費(fèi)時(shí)費(fèi)力了旱函。而隨著使用响巢,金子總是不斷會(huì)因?yàn)槟p、丟失或有人故意囤積而發(fā)生損耗棒妨。全村人又一次坐在了一起抵乓,開始商討對(duì)策。此時(shí)有人說,其實(shí)大家也不必一定要真的用黃金啊灾炭,隨便找張紙茎芋,寫上“一克黃金”,只要全村人都認(rèn)同這張紙就等于一克黃金蜈出,問題不就解決了田弥。其他人紛紛表示認(rèn)同,但同時(shí)也有了新的問題:真實(shí)的黃金是需要開采和冶煉的铡原,金礦有限偷厦,開采和冶煉也需要成本,所以沒有人可以短期憑空制造大量的黃金燕刻,可寫字就不同了只泼,只要我紙夠筆夠,隨便像寫多少寫多少卵洗,那這就變成拼誰家里紙多了请唱,搞不好到時(shí)一萬張紙才能換一只羊(實(shí)際上這就發(fā)生了經(jīng)濟(jì)學(xué)上的通貨膨脹)。

大家一想也是啊过蹂。不過此時(shí)又有人提出了解決方案:這個(gè)紙不是誰寫都有效十绑,我們只認(rèn)村里德高望重的老村長(zhǎng)寫得,大家都認(rèn)識(shí)老村長(zhǎng)的字酷勺。老村長(zhǎng)寫一些紙本橙,同時(shí)按照各家黃金存量發(fā)給大家等量的紙,例如老張家有二百克黃金脆诉,老村長(zhǎng)就發(fā)給老張二百張寫著“一克黃金”的紙甚亭,同時(shí)將老張家的黃金拿走作為抵押。就這樣击胜,老村長(zhǎng)將村里所有黃金收歸到自己的家里亏狰,并按各家上交的黃金數(shù)量發(fā)給等值的寫有字的紙。此時(shí)村民就可以拿著這些紙當(dāng)黃金進(jìn)行貿(mào)易了潜的,而且大家都認(rèn)得老村長(zhǎng)的字骚揍,其他人偽造不出來字管。另外啰挪,如果誰的紙磨損太嚴(yán)重,也可拿到老村長(zhǎng)那里兌換新的等值的紙嘲叔,另外老村長(zhǎng)承諾任何人如果想要換成真黃金亡呵,只要拿紙回來,老村長(zhǎng)就會(huì)把等值的黃金還給那人硫戈。因?yàn)槔洗彘L(zhǎng)寫得紙的黃金量和真實(shí)放在家里的黃金量是一樣的锰什,所以只要嚴(yán)格按照銷毀多少紙新寫多少紙的原則,每一張有效的紙總能換回相應(yīng)的真黃金。

此時(shí)汁胆,比特村進(jìn)入了符號(hào)貨幣(金本位紙幣)時(shí)代梭姓。而老村長(zhǎng)就承擔(dān)了政府和銀行的角色。

4.中央系統(tǒng)虛擬貨幣(債務(wù)本位貨幣時(shí)代)

又過了幾年嫩码,老村長(zhǎng)由于每天都要核對(duì)大量的舊紙幣誉尖,寫新的紙幣,還要把各種賬目仔細(xì)做好記錄铸题。一來二去铡恕,老村長(zhǎng)操勞過度不幸駕鶴西去了。

比特村再次召開全體大會(huì)丢间,討論應(yīng)該怎么辦探熔。此時(shí)老村長(zhǎng)的兒子二狗子自告奮勇接過了父親的筆,承擔(dān)起貨幣發(fā)行的責(zé)任烘挫。這個(gè)年輕的村長(zhǎng)二狗子很聰明诀艰,他做了幾天,發(fā)現(xiàn)好像也不用真的寫那么多紙墙牌。完全可以這樣:村民把紙幣都交上來涡驮,銷毀,但是二狗子會(huì)記錄下每戶上交的紙幣數(shù)量喜滨。以后如果要進(jìn)行付錢捉捅,例如老張要拿一克金子向老李換一只羊,就一起給二狗子打個(gè)電話虽风,說明要將老張名下的一克金子劃歸老李名下棒口,二狗子拿出賬本,看看老張名下是否有一克金子辜膝,如果有就在老張的名下減掉一克无牵,在老李的名下加上一克,這樣就完成了支付厂抖,此時(shí)老李在電話中聽到二狗子確認(rèn)轉(zhuǎn)賬完成茎毁,就可以放心讓老張把羊牽走了。

此時(shí)比特村進(jìn)入了中央系統(tǒng)虛擬貨幣時(shí)代忱辅。每個(gè)村民都不需要用實(shí)物支付七蜘,支付過程變成了二狗子那邊維護(hù)的賬本上數(shù)字的變更。

5.分布式虛擬貨幣(去中心化中央銀行)

這新上任的二狗子是聰明墙懂,不過這人有時(shí)候是聰明反被聰明誤橡卤。有一天二狗子盯著這賬本,心想這全村各戶誰有多少錢就是我說的算损搬,那我豈不是……碧库。于是他頭腦一熱柜与,私自從老張帳下劃了十克金子到自己名下。

本以為天衣無縫嵌灰,但沒想到老張也有記賬的習(xí)慣弄匕,有一天他正要付錢卻被二狗子告知賬戶沒錢了。老張核對(duì)了一下自己的賬本沽瞭,明明還有十克啊粘茄,于是拿著賬本去找二狗子理論,這一核對(duì)發(fā)現(xiàn)了那筆未經(jīng)老張同意的轉(zhuǎn)賬秕脓。

東窗事發(fā)柒瓣!比特村炸開鍋了。二狗子被彈劾是不可避免了吠架,不過通過這件事芙贫,大家發(fā)現(xiàn)了賬本集中在一個(gè)人手里(中心化貨幣)的弊端:

這個(gè)體系完全依賴于賬本持有人的個(gè)人信用,如果這個(gè)人不守規(guī)矩傍药,隨意篡改賬本磺平,那么整個(gè)貨幣系統(tǒng)就會(huì)崩潰(現(xiàn)在貨幣發(fā)行權(quán)掌握在央行手里,政府可以根據(jù)事實(shí)來增發(fā)貨幣拐辽,一切取決于人民對(duì)于政府的信心拣挪,但是如果政府隨意增發(fā)貨幣,人民又有什么辦法呢俱诸,而且可能你根本毫不知情)

如果這個(gè)人家里失火或者賬本失竊菠劝,同樣也會(huì)為整個(gè)體系帶來毀滅性的打擊

正當(dāng)人們不知所措時(shí),村里一個(gè)叫中本聰?shù)恼锌茖W(xué)家走上了臺(tái)睁搭,告訴大家他已經(jīng)設(shè)計(jì)了一套不依賴任何中央處理人的叫比特幣的虛擬貨幣系統(tǒng)赶诊,可以解決上述問題。然后他緩緩講述了自己的方案园骆。

下面我們就來看看中本聰同學(xué)是如何設(shè)計(jì)這套系統(tǒng)的舔痪。

基礎(chǔ)設(shè)施搭建

賬簿公開機(jī)制

中本聰首先說明,要對(duì)現(xiàn)有賬簿進(jìn)行如下改造:

賬簿上不再記載每戶村民的余額锌唾,而只記載每一筆交易锄码。即記載每一筆交易的付款人、收款人和付款金額晌涕。只要賬簿的初始狀態(tài)確定滋捶,每一筆交易記錄可靠并有時(shí)序,當(dāng)前每個(gè)人持有多少錢是可以推算出來的渐排。(UTXO:Unspent Transaction Output炬太,之后的文章會(huì)講解這個(gè)專業(yè)術(shù)語)

賬簿由私有改為公開灸蟆,只要任何村民需要驯耻,都可以獲得當(dāng)前完整的賬簿亲族,賬簿上記錄了從賬簿創(chuàng)建開始到當(dāng)前所有的交易記錄。(分布式賬本)

此言一出可缚,下面立刻炸鍋了霎迫。第一條還無所謂,但是第二條簡(jiǎn)直無法接受帘靡,因?yàn)橘~簿可是記錄了所有村民的交易知给,這樣大家的隱私不全暴露了嗎。

中本聰?shù)故遣换挪幻γ枰Γ贸隽艘粚?duì)奇怪的東西涩赢。

身份與簽名機(jī)制(公鑰加密系統(tǒng),匿名機(jī)制)

中本聰說轩勘,大家不要慌筒扒。在他的這套機(jī)制下,任何人都不使用真實(shí)身份交易绊寻,而是使用一個(gè)唯一的代號(hào)交易花墩。

他展示了手里神奇的東西,說這兩件東西分別叫保密印章和印章掃描器澄步。后面他會(huì)給村里每一戶發(fā)一個(gè)保密印章和一個(gè)印章掃描器冰蘑。兩者的作用如下:

保密印章(私鑰)可以在紙上蓋一個(gè)章,每個(gè)印章蓋出的章都隱含了一個(gè)全村唯一的一串字符村缸,但是憑肉眼是看不出來的祠肥。也無法通過觀察來制造出相應(yīng)的印章。

印章掃描器(公鑰)可以掃描某個(gè)已經(jīng)蓋好的章梯皿,讀出隱含的信息搪柑,并在液晶屏上顯示出一串字符。

有了這兩個(gè)神奇的東西索烹,大家就可以在不暴露真實(shí)身份的情況下進(jìn)行交易了工碾,而印章隱含的那一串字符就是這戶人家的代號(hào)。具體如何巧妙利用保密印章和印章掃描器進(jìn)行交易百姓,會(huì)在下文詳述渊额。

成立虛擬礦工組織(可以理解為記賬員)

下一步,中本聰面向全村招募虛擬礦工垒拢,招募要求如下:

礦工以組為單位旬迹,一組可以是單獨(dú)的一戶,也可以是幾戶聯(lián)合為一組

成為礦工不影響正常使用貨幣

礦工每天要花費(fèi)一定時(shí)間從事比特幣“挖礦”活動(dòng)求类,但是不同于挖金礦奔垦,虛擬礦工不需要拿著工具去野外作業(yè),在家里就可以完成工作

礦工有一定可能性獲得報(bào)酬(手續(xù)費(fèi))尸疆,在挖礦活動(dòng)中付出的努力越多椿猎,獲得報(bào)酬的可能性越大

礦工可以隨時(shí)退出惶岭,也可以隨時(shí)有新的礦工加進(jìn)來

很快,大約有五分之一的村民加入比特幣礦工組織犯眠,共分成了7個(gè)組按灶。

建立初始賬簿(創(chuàng)世塊)

下面,中本聰宣布筐咧,先根據(jù)二狗子手里的賬簿鸯旁,把抵押的所有黃金按賬簿記錄的余額退還給每位村民,然后徹底銷毀這本賬簿量蕊。

然后铺罢,中本聰拿出一本新賬簿,在賬簿的第一頁上記錄了一些交易記錄残炮,特別的是畏铆,這些記錄的付款人一欄全都是“系統(tǒng)”,而收款人分別是每個(gè)印章對(duì)應(yīng)的隱含字符吉殃,代表初始時(shí)刻辞居,系統(tǒng)為每一戶默認(rèn)分配了一定數(shù)量比特幣,但是數(shù)量非常少蛋勺,都只有幾枚瓦灶,甚至有些不幸的村戶沒有獲得比特幣。

接著中本聰說抱完,由于目前市面上比特幣非常少贼陶,大家可以先回到用黃金做貨幣的時(shí)代,由于我不是村長(zhǎng)巧娱,我也沒有權(quán)利強(qiáng)迫大家一定要承認(rèn)比特幣碉怔,大家可以自行決定要不要接受比特幣。不過隨著比特幣的流動(dòng)和礦工的活動(dòng)禁添,比特幣會(huì)慢慢多起來撮胧。

支付與交易

做了這么多鋪墊,終于說到重點(diǎn)了老翘,下面說一下在這樣一個(gè)體系下如何完成支付芹啥。以老張付給老李10個(gè)比特幣為例。

付款人簽署交易單

為了支付10個(gè)比特幣铺峭,老張首先要詢問老李的標(biāo)識(shí)字符串墓怀,例如是“ABCDEFG”,同時(shí)老張也有一個(gè)標(biāo)識(shí)字符串例如是“HIJKLMN”卫键,然后老張寫一張單子傀履,內(nèi)容為“HILKLMN支付10比特幣給ABCDEFG”,然后用自己的保密印章蓋一個(gè)章(即用私鑰簽名交易)莉炉,將這張單子交給老李钓账。另外為了便于追溯這筆錢的來源碴犬,還要在單子里注明這筆錢的來源記在哪一頁,例如這個(gè)單子里官扣,老張的10比特幣來自建立賬簿時(shí)系統(tǒng)的贈(zèng)送,記錄在賬簿第一頁羞福。

收款人確認(rèn)單據(jù)簽署人(驗(yàn)證交易真實(shí)性)

老李拿到這個(gè)單子后惕蹄,需要確認(rèn)這個(gè)單子確實(shí)是來自“HIJKLMN”這個(gè)人(也就是老張)簽署的,這個(gè)并不困難治专。因?yàn)閱巫由媳仨氂斜C苷侣袅辏侠钅贸鲇≌聮呙杵鳎瑨咭幌抡抡欧澹绻壕溜@示出的字符和付款人字符是一致的(這里是“HIJKLMN”)泪蔫,就可以確認(rèn)單子確實(shí)是付款人簽署的。這是因?yàn)楦鶕?jù)保密印章的機(jī)制喘批,沒有其他人可以偽造印章撩荣,任何一個(gè)人只要掃描一下印章,都可以確認(rèn)單子的付款人和蓋章人是否一致饶深。

收款人確認(rèn)付款人余額

這個(gè)系統(tǒng)到目前還是很有問題餐曹。通過保密印章,收款人雖然可以確認(rèn)付款人確實(shí)簽署了這份單子敌厘,但是無法自行確認(rèn)付款人是否有足夠的余額支付。之前的中央虛擬貨幣系統(tǒng)中,二狗子負(fù)責(zé)檢查付款人的余額鉴裹,并通知收款人交易是否有效痛侍,現(xiàn)在把二狗子開了,誰來負(fù)責(zé)記賬和確認(rèn)每筆交易的有效性呢宪彩?

之前說過休讳,中本聰設(shè)計(jì)的這個(gè)系統(tǒng)是分布式貨幣系統(tǒng),不依賴任何中央人物尿孔,所以不會(huì)有一個(gè)或少數(shù)幾個(gè)人負(fù)責(zé)這件事衍腥,最終承擔(dān)這份工作的是之前所提到的礦工組織。老張纳猫、老李和全村其他任何使用比特幣進(jìn)行交易的村民都依賴礦工組織的工作才能完成交易婆咸。

礦工的工作

礦工的工作是整個(gè)系統(tǒng)的核心,也是最復(fù)雜性最高的地方芜辕。下面逐步介紹礦工的工作內(nèi)容和目的尚骄。

礦工的工具(計(jì)算HASH)

俗話說,工欲善其事侵续,必先利其器倔丈。比特幣礦工雖然不用鐵撅憨闰、鐵锨和探照燈等工具,不過也要有一些必備的東西需五。

初始賬簿鹉动。每個(gè)組首先自己復(fù)制一份初始賬簿,初始賬簿只有一頁宏邮,記錄了系統(tǒng)的第一次贈(zèng)送

空賬簿紙泽示。每個(gè)小組有若干賬簿紙,每一頁紙上僅有賬簿結(jié)構(gòu)蜜氨,沒有填內(nèi)容械筛,具體內(nèi)容的書寫規(guī)則后面講述。下面是一張空賬簿紙的樣子飒炎,各個(gè)字段的意義后面會(huì)說到

編碼生成器(哈希函數(shù))埋哟。中本聰又向礦工組織的每個(gè)組分發(fā)了若干編碼生成器,這個(gè)東西很神奇郎汪,將一頁賬簿填好內(nèi)容的賬簿紙放入這個(gè)機(jī)器赤赊,機(jī)器會(huì)在賬簿紙的“本賬單編號(hào)”一欄自動(dòng)打印一串由“0”和“1”組成的編號(hào),共256個(gè)煞赢。最神奇的是砍鸠,編號(hào)生成器有如下功能:

生成的編號(hào)僅與賬簿紙上填入的內(nèi)容有關(guān),與填寫人耕驰、字體爷辱、填寫時(shí)間等因素均無關(guān)

內(nèi)容相同的賬簿紙生成的編號(hào)總是相同,但是如果內(nèi)容哪怕只改一個(gè)字符朦肘,編號(hào)就會(huì)面目全非

編碼生成器在打印編碼時(shí)還需要將所有填入賬簿紙的交易單放入饭弓,機(jī)器會(huì)掃描交易單和填入交易單的一致性,尤其是保密印章媒抠,如果發(fā)現(xiàn)保密印章和付款人不一致弟断,會(huì)拒絕打印編碼

將一張已打印的賬簿紙放入,機(jī)器會(huì)判定編號(hào)是否是有效的機(jī)器打印趴生,并且判定編號(hào)和內(nèi)容是否一致阀趴,這個(gè)編號(hào)無法偽造

交易單收件箱。每個(gè)礦工小組需要在門口掛一個(gè)箱子用于收集交易單苍匆。

公告板刘急。每個(gè)礦工小組同樣需要一個(gè)公告板公示一些信息。

有了上面的工具浸踩,礦工組織就可以開工了叔汁!

收集交易單

中本聰規(guī)定,每筆交易的發(fā)起人,不但要將交易單給到收款人据块,還要同時(shí)復(fù)制若干份一模一樣的交易單投遞到每個(gè)礦工小組的收件箱里码邻。

礦工小組的人定期到自己的收件箱里把收集到的交易單一并取出來。

填寫賬簿

此時(shí)小組的人拿出一張空的賬簿紙另假,把這些交易填寫到“交易清單”一欄像屋,同時(shí)找到當(dāng)前賬簿最后一頁,將最后一頁的編號(hào)抄寫到“上一張賬單編號(hào)一欄”边篮。 注意還有個(gè)“幸運(yùn)數(shù)字”己莺,可以隨便填上一個(gè)數(shù)字,如12345苟耻。然后篇恒,將這樣賬簿紙放入編號(hào)生成器扶檐,打印好編號(hào)凶杖,一張賬簿就算完成了。

如果你以為礦工的工作就這么簡(jiǎn)單款筑,那就大錯(cuò)特錯(cuò)了智蝠,中本聰有個(gè)變態(tài)的規(guī)定:只有編號(hào)的前10個(gè)數(shù)均為0,這頁賬簿紙才算有效奈梳。

根據(jù)之前對(duì)編號(hào)生成器的描述杈湾,要修改編號(hào),只能修改賬簿紙的內(nèi)容攘须,而“交易清單”和“上一張賬簿紙編號(hào)”是不能隨便改的漆撞,那么只能改幸運(yùn)數(shù)字了。于是為了生成有效的賬簿紙于宙,小組里的礦工就不斷抄寫賬簿紙浮驳,但每張紙的幸運(yùn)數(shù)字都不同,然后不斷的重復(fù)將紙放入編碼器捞魁,如果生成的編號(hào)不符合規(guī)定至会,這張紙就算廢了,重復(fù)這個(gè)過程直到生成一串有效的編號(hào)谱俭。

我們知道奉件,如果編號(hào)的每一個(gè)數(shù)字都是隨機(jī)的,那么平均寫1000多張幸運(yùn)數(shù)字不同的紙才能獲得一個(gè)有效的編號(hào)昆著。

這就奇怪了县貌,這些礦工為什么要拼命干這看似無意義的事情呢?還記得之前說過礦工有報(bào)酬吧凑懂,這就是礦工的動(dòng)力了窃这。中本聰規(guī)定:每一張賬簿紙的交易清單第一條交易為“系統(tǒng)給這個(gè)小組支付50個(gè)比特幣”。也就是說,如果你生成了一張有意義的賬簿紙杭攻,并且被所有挖礦小組接受了祟敛,那么就意味著這條交易也被接受了,你的挖礦小組獲得了50個(gè)比特幣(挖礦獎(jiǎng)勵(lì)會(huì)逐步減少)兆解。

這就是礦工被叫做礦工的原因馆铁,也是為什么之前說隨著交易和礦工的活動(dòng),比特幣的數(shù)量會(huì)不斷增多锅睛。例如下面是一個(gè)挖礦過程埠巨,這個(gè)小組的公共比特幣帳號(hào)為“UVWXYZ”。

在幸運(yùn)數(shù)字嘗試到“533”時(shí)现拒,系統(tǒng)生成了一頁有效賬簿辣垒。

確認(rèn)賬簿

當(dāng)某挖礦小組幸運(yùn)的生成了一張有意義的賬簿,為了得到獎(jiǎng)勵(lì)印蔬,必須立刻請(qǐng)其它小組確認(rèn)自己的工作勋桶。前面說過,當(dāng)前村里有7個(gè)挖礦組侥猬,所以這個(gè)小組必須將有效賬簿紙謄抄6份快馬加鞭送到其他6個(gè)小組請(qǐng)求確認(rèn)例驹。

中本聰規(guī)定,當(dāng)某個(gè)小組接到其他小組送來的賬簿紙時(shí)退唠,必須立即停下手里的挖礦工作進(jìn)行賬簿確認(rèn)鹃锈。

需要確認(rèn)的信息有三個(gè):

賬簿的編號(hào)有效

賬簿的前一頁賬簿有效

交易清單有效

首先看第一個(gè),這個(gè)確認(rèn)比較簡(jiǎn)單瞧预。只要將送來的賬簿紙放入編碼生成器進(jìn)行驗(yàn)證屎债,如果驗(yàn)證通過,則編號(hào)有效垢油。

第二部分需要將賬簿頁上的“上一頁賬簿紙編號(hào)”和這個(gè)小組目前保存的有效賬簿最后一頁編號(hào)比對(duì)盆驹,如果相同則確認(rèn),如果不同秸苗,需要順著已有賬簿向前比對(duì)召娜,直到找到這個(gè)編號(hào)的頁。如果沒有找到指定的“上一頁賬簿紙編號(hào)”對(duì)應(yīng)的頁惊楼,這個(gè)小組會(huì)將此頁丟掉玖瘸。不予確認(rèn)。

注意檀咙,由上面的機(jī)制可以保證雅倒,如果各個(gè)小組手里的賬簿紙是相同的,那么他們都能按同樣的順序裝訂成相同的賬簿弧可。因?yàn)楹竺嬉粡埣埖木幪?hào)總是依賴前面的紙的編號(hào)蔑匣,編碼生成器的機(jī)制保證了所有合法賬簿紙的相對(duì)先后順序在每個(gè)小組那里都是相同的(可能會(huì)有分支,但不會(huì)出現(xiàn)環(huán),后面細(xì)講)裁良。

最后是如何確認(rèn)交易清單有效凿将,其實(shí)也就是要確認(rèn)當(dāng)前每筆交易的付款人有足夠的余額支付這筆錢。由于交易信息里包含這筆錢是如何來的价脾,還包含了記錄來源交易的賬單編號(hào)牧抵。例如,HIJKLMN要給ABCDEFG10個(gè)比特幣侨把,并注明了這10個(gè)比特幣來自之前OPQRST支付給HIJKLMN的一筆交易犀变,確認(rèn)時(shí)首先要確認(rèn)之前這筆交易是否存在,同時(shí)還要檢查HIJKLMN在這之前沒有將這10個(gè)比特幣支付給別人秋柄。這一切確認(rèn)后获枝,這筆交易有效性就被確認(rèn)了。

其中第一筆是系統(tǒng)獎(jiǎng)勵(lì)給生成這頁賬簿的小組的50個(gè)骇笔,這筆交易大家都默認(rèn)承認(rèn)省店,后面的只要按照上述方法追溯,就可以確認(rèn)HIJKLMN是否當(dāng)前真有10個(gè)比特幣支付給ABCDEFG蜘拉。

如果完成了所有了上述驗(yàn)證并全部通過萨西,這個(gè)小組就認(rèn)可了上述賬簿紙有效有鹿,然后將這張賬簿紙并入小組的主賬簿旭旭,舍棄目前正在進(jìn)行的工作,后面的挖礦工作會(huì)基于這本更新后的主賬本進(jìn)行葱跋。

賬簿確認(rèn)反饋

對(duì)于挖礦小組來說持寄,當(dāng)賬簿紙送出去后,如果后面有收到其他小組送來的賬簿紙娱俺,其“上一頁賬簿紙編號(hào)”為自己之前送出去的賬簿紙稍味,那么就表示他們的工作成功被其他小組認(rèn)可了,因?yàn)橐呀?jīng)有小組基于他們的賬簿紙繼續(xù)工作了荠卷。此時(shí)模庐,可以粗略的說可以認(rèn)為已經(jīng)得到了50個(gè)比特幣。

另外油宜,任何一個(gè)小組當(dāng)新生成有效賬簿紙或確認(rèn)了別的小組的賬簿紙時(shí)掂碱,就將最新被這個(gè)小組承認(rèn)的交易寫到公告牌上,那么收款人只要發(fā)現(xiàn)相關(guān)交易被各個(gè)小組認(rèn)可了慎冤,基本就可以認(rèn)為這筆錢已經(jīng)到了自己的賬上疼燥,后面他就可以在付款時(shí)將錢的來源指向這筆交易了。

以上就是整個(gè)比特幣的支付體系蚁堤。下面我們來分析一下醉者,這個(gè)體系為什么可以工作下去,以及這個(gè)體系可能面臨的風(fēng)險(xiǎn)。

工作機(jī)制分析

雖然上面闡述了比特幣的基本運(yùn)作規(guī)則撬即,但是村民們還是有不少疑問立磁。所以中本聰同學(xué)專門開了個(gè)答疑會(huì),解答常見問題剥槐。下面總結(jié)一下村民最集中關(guān)心的問題息罗。

核心問題答疑

如果同時(shí)收到兩份合法的賬簿頁(叔塊)怎么辦?

注意在上面的運(yùn)行機(jī)制中才沧,各個(gè)挖礦小組是并行工作的迈喉,因此完全可能出現(xiàn)這樣的情況:某小組收到兩份不一樣的賬簿頁,它們都基于當(dāng)前這個(gè)小組的主賬簿的最后一頁温圆,并且內(nèi)容也都完全合法挨摸,怎么辦?

關(guān)于這個(gè)問題岁歉,中本聰同學(xué)說得运,小組不應(yīng)該以線性方式組織賬簿,而應(yīng)該以樹狀組織賬簿锅移,任何時(shí)刻熔掺,都以當(dāng)前最長(zhǎng)分支作為主賬簿,但是保留其它分支非剃。舉個(gè)例子置逻,某小組同時(shí)收到A、B兩份賬簿頁备绽,經(jīng)核算都是合法的券坞,此時(shí)小組應(yīng)該將兩頁以分叉的形式組織起來,如下圖所示:

黑色表示當(dāng)前賬簿主干肺素。此時(shí)恨锚,可以隨便選擇一個(gè)頁作為當(dāng)前主分支,例如選擇A:

此時(shí)如果有一個(gè)新的賬簿頁是基于A的倍靡,那么這個(gè)主干就延續(xù)下去:

如果這個(gè)主干一直這么延續(xù)下去猴伶,表示大家基本都以A為主干,B就會(huì)被遺忘塌西。但是也有可能忽然B變成更長(zhǎng)了:

那么我們就需要將B分支作為當(dāng)前主干他挎,基于這個(gè)分支進(jìn)行后續(xù)工作。

從局部來看雨让,雖然在某一時(shí)刻各個(gè)小組的賬簿主干可能存在不一致雇盖,但大方向是一致的,那些偶爾由于不同步產(chǎn)生的小分支栖忠,會(huì)很快被淹沒在歷史中崔挖。

如果挖礦小組有人偽造賬簿怎么辦

關(guān)于這個(gè)問題贸街,中本聰同學(xué)說,只要挖礦組織中大多數(shù)人是誠(chéng)實(shí)的狸相,這個(gè)系統(tǒng)就可靠薛匪,具體分幾個(gè)方面給予答復(fù)。

首先脓鹃,基于保密印章機(jī)制逸尖,沒有人能偽造他人身份進(jìn)行付款,因?yàn)榫幋a生成器在打印編碼時(shí)會(huì)核對(duì)所有交易單的保密印章瘸右,印章和付款人不一致會(huì)拒絕打印娇跟。

而且誠(chéng)實(shí)的礦工也不會(huì)承認(rèn)不合法的交易(如某筆交易付款方余額不夠)。

所以只有一種可能的攻擊行為(雙花行為)太颤,即在收款人確認(rèn)收款后苞俘,從另一條分支上建立另外的交易單,取消之前的付款龄章,而將同一筆錢再次付款給另一個(gè)人(即所謂的double-spending問題)吃谣。下面同樣用一個(gè)例子說明這個(gè)問題。

先假設(shè)有一個(gè)攻擊者擁有10個(gè)比特幣做裙,他準(zhǔn)備將這筆錢同時(shí)支付給兩名受害者A和B岗憋,并都得到承認(rèn)。

第一步锚贱,攻擊者準(zhǔn)備從受害者A手里買10比特幣的黃金仔戈,他簽署交易單給受害者A,轉(zhuǎn)10個(gè)比特幣給受害者A惋鸥。

第二步杂穷,這筆交易在最新的賬簿頁中被確認(rèn)悍缠,并被各個(gè)挖礦小組公告出來卦绣。受害人A看到公告,確認(rèn)比特幣到賬飞蚓,給了攻擊者10個(gè)比特幣等值的黃金滤港。

第三步,攻擊者找到賬簿趴拧,從包含剛才交易的賬簿頁的前一頁做出一個(gè)分支溅漾,生成更多的賬單頁,超過剛才的分支著榴。由于此時(shí)剛才攻擊者制造的分支變成了主干分支添履,而包含受害者A得到錢的分支變成了旁支,因此挖礦組織不再承認(rèn)剛才的轉(zhuǎn)賬脑又,受害者A得到的10比特幣被取消了暮胧。

第四步锐借,攻擊者可以再次簽署交易單,將同一筆錢支付給受害者B往衷。受害者B確認(rèn)錢到賬后钞翔,支付給攻擊者等值黃金。

至此席舍,攻擊者將10個(gè)比特幣花了兩次布轿,從兩名受害者那里各購得等值黃金。攻擊者還可以如法炮制来颤,取消與受害者B的轉(zhuǎn)賬汰扭,將同一筆錢再支付給其他人……

關(guān)于這種攻擊,中本聰給出的解決方案是福铅,建議收款人不要在公告掛出時(shí)立即確認(rèn)交易完成东且,而是應(yīng)該再看一段時(shí)間,等待各個(gè)挖礦小組再掛出6張確認(rèn)賬簿本讥,并且之前的賬簿沒有被取消珊泳,才確認(rèn)錢已到賬。

中本聰解釋道拷沸,之前設(shè)定變態(tài)的編號(hào)規(guī)則色查,正是為了防御這一點(diǎn)。根據(jù)前面所述撞芍,生成有效賬簿頁不是那么簡(jiǎn)單的秧了,要花費(fèi)大量的人力反復(fù)試不同的幸運(yùn)數(shù)字,而且過程完全是碰運(yùn)氣序无。如果某賬簿頁包含你收到錢的確認(rèn)验毡,并且在后面又延續(xù)了6個(gè),那么攻擊者想要在落后6頁的情況下從另一個(gè)分支趕超當(dāng)前主分支是非常困難的帝嗡,除非攻擊者擁有非常多的人力晶通,超過其他所有誠(chéng)實(shí)礦工的人力之和。

而且哟玷,如果攻擊者有如此多人力狮辽,與其花這么大力氣搞這種攻擊,還不如做良民挖礦來的收益大巢寡。這就從動(dòng)機(jī)上杜絕了攻擊的形成喉脖。

比特幣會(huì)一直增加下去,豈不是會(huì)嚴(yán)重通貨膨脹

中本聰說抑月,這一點(diǎn)我也想到了树叽。前面忘了說了,我給礦工組織的操作細(xì)則手冊(cè)會(huì)說明谦絮,剛開始我們協(xié)議每生成一頁賬簿题诵,獎(jiǎng)勵(lì)小組50個(gè)比特幣须误,后面,每當(dāng)賬簿增加21,000頁仇轻,獎(jiǎng)勵(lì)就減半京痢,例如當(dāng)達(dá)到210,000頁后,每生成一頁賬簿獎(jiǎng)勵(lì)25個(gè)比特幣篷店,420,000頁后祭椰,每生成一頁獎(jiǎng)勵(lì)12.5個(gè),依次類推疲陕,等賬簿達(dá)到6,930,000頁后方淤,新生成賬簿頁就沒有獎(jiǎng)勵(lì)了。此時(shí)比特幣全量約為21,000,000個(gè)蹄殃,這就是比特幣的總量携茂,所以不會(huì)無限增加下去。

沒有獎(jiǎng)勵(lì)后诅岩,就沒人做礦工了讳苦,豈不是沒人幫忙確認(rèn)交易了

到時(shí),礦工的收益會(huì)由挖礦所得變?yōu)槭杖∈掷m(xù)費(fèi)吩谦。例如鸳谜,你在轉(zhuǎn)賬時(shí)可以指定其中1%作為手續(xù)費(fèi)支付給生成賬簿頁的小組,各個(gè)小組會(huì)挑選手續(xù)費(fèi)高的交易單優(yōu)先確認(rèn)式廷。

礦工如果越來越多咐扭,比特幣生成速度會(huì)變快嗎

不會(huì)。中本聰解釋滑废,雖然可以任意加入和退出礦工組織蝗肪,導(dǎo)致礦工人數(shù)變化,每個(gè)礦工也會(huì)拿到一個(gè)編碼生成器蠕趁,不過我已經(jīng)在編碼生成器中加入了調(diào)控機(jī)制薛闪,當(dāng)前工作的編碼生成器越多,每個(gè)機(jī)器的效率就越低妻导,保證新賬簿頁生成速率不變逛绵。

雖然每個(gè)人的代號(hào)是匿名的,但如果泄露了某個(gè)人的代號(hào)倔韭,賬簿又是公開的,豈不是他的所有賬目都查出來了

確實(shí)是這樣的瓢对。例如你要和某人交易寿酌,必然要要到他的代號(hào)才能填寫交易單。因?yàn)槭湛钊艘粰谝钊肽侨说拇?hào)硕蛹。不過中本聰說可以提供無限制的保密印章醇疼,建議每一次交易用不同的保密印章硕并,這樣查賬簿就追查不到同一個(gè)人的所有賬目了。

總結(jié):

比特幣系統(tǒng)是中本聰對(duì)于當(dāng)今社會(huì)貨幣系統(tǒng)存在的諸多問題的深刻分析后秧荆,提出的一個(gè)理想化方案倔毙,并把這個(gè)方案系統(tǒng)化。比特幣是基于系統(tǒng)的運(yùn)行原理乙濒,給予曠工記賬的獎(jiǎng)勵(lì)陕赃,有了比特幣用戶就可以支付手續(xù)費(fèi)發(fā)起交易。

比特幣最重要的特點(diǎn)就是去中心化颁股,首先解決了貨幣發(fā)行權(quán)的問題么库,貨幣發(fā)行需要符合規(guī)則并且掌握在每一個(gè)曠工手里。

比特幣總額是恒定的甘有,這樣就拒絕了通貨膨脹(中本聰本人對(duì)于當(dāng)前債務(wù)貨幣系統(tǒng)深惡痛絕诉儒,美聯(lián)儲(chǔ)通過不斷的濫發(fā)美元,掠奪人民的財(cái)富亏掀,這就是中心化貨幣的弊端)

隨著比特幣系統(tǒng)不斷被社會(huì)接受忱反,越來越多人開始關(guān)注比特幣系統(tǒng)的底層技術(shù),即區(qū)塊鏈滤愕,區(qū)塊鏈?zhǔn)且豁?xiàng)革命性的技術(shù)缭受,未完待續(xù).....

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市该互,隨后出現(xiàn)的幾起案子米者,更是在濱河造成了極大的恐慌,老刑警劉巖宇智,帶你破解...
    沈念sama閱讀 210,978評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蔓搞,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡随橘,警方通過查閱死者的電腦和手機(jī)喂分,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來机蔗,“玉大人蒲祈,你說我怎么就攤上這事÷茑遥” “怎么了梆掸?”我有些...
    開封第一講書人閱讀 156,623評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)牙言。 經(jīng)常有香客問我酸钦,道長(zhǎng),這世上最難降的妖魔是什么咱枉? 我笑而不...
    開封第一講書人閱讀 56,324評(píng)論 1 282
  • 正文 為了忘掉前任卑硫,我火速辦了婚禮徒恋,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘欢伏。我一直安慰自己入挣,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評(píng)論 5 384
  • 文/花漫 我一把揭開白布硝拧。 她就那樣靜靜地躺著径筏,像睡著了一般。 火紅的嫁衣襯著肌膚如雪河爹。 梳的紋絲不亂的頭發(fā)上匠璧,一...
    開封第一講書人閱讀 49,741評(píng)論 1 289
  • 那天,我揣著相機(jī)與錄音咸这,去河邊找鬼夷恍。 笑死,一個(gè)胖子當(dāng)著我的面吹牛媳维,可吹牛的內(nèi)容都是我干的酿雪。 我是一名探鬼主播,決...
    沈念sama閱讀 38,892評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼侄刽,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼指黎!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起州丹,我...
    開封第一講書人閱讀 37,655評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤醋安,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后墓毒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吓揪,經(jīng)...
    沈念sama閱讀 44,104評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年所计,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了柠辞。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,569評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡主胧,死狀恐怖叭首,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情踪栋,我是刑警寧澤焙格,帶...
    沈念sama閱讀 34,254評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站己英,受9級(jí)特大地震影響间螟,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜损肛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評(píng)論 3 312
  • 文/蒙蒙 一厢破、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧治拿,春花似錦摩泪、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至捏检,卻和暖如春荞驴,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背贯城。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評(píng)論 1 264
  • 我被黑心中介騙來泰國(guó)打工熊楼, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人能犯。 一個(gè)月前我還...
    沈念sama閱讀 46,260評(píng)論 2 360
  • 正文 我出身青樓鲫骗,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親踩晶。 傳聞我的和親對(duì)象是個(gè)殘疾皇子执泰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評(píng)論 2 348

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