国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

區(qū)塊鏈筆記(1)基礎(chǔ)概念掃盲

The question / 1470人閱讀

摘要:區(qū)塊鏈元年年,一個(gè)叫做中本聰?shù)纳衩刈骷野l(fā)表了一封名為的白皮書,奠定了比特幣的基礎(chǔ),也完全改變了我們看待和理解貨幣的方式。

正如民謠像一杯酒,有故事的人聽不得。深夜失眠的我,無意翻起中本聰?shù)陌灼妥⒍藷o眠。今夜的我只醉心于技術(shù),別問是真是假。

這是一篇關(guān)于區(qū)塊鏈基礎(chǔ)的筆記,涉及了我認(rèn)為對(duì)于初學(xué)者來說,想要進(jìn)一步深入前需要了解的最重要的幾個(gè)概念,概括如下圖:

一、金融交易
在深入了解區(qū)塊鏈的技術(shù)細(xì)節(jié)之前,明白它為什么存在對(duì)理解它是很有幫助的。

區(qū)塊鏈技術(shù),最早是在金融交易領(lǐng)域破土發(fā)芽的,但在這之前,金融交易系統(tǒng)已經(jīng)大體正常運(yùn)作了許多年。所謂變革的新技術(shù),必定對(duì)既有領(lǐng)域中一些核心理念發(fā)起了沖擊,并提出了自己的解決方案。只在一個(gè)行業(yè)領(lǐng)域的“興風(fēng)作浪”,充其量只能算作改進(jìn),若說成是變革,那么這項(xiàng)技術(shù)的思想及提供的解決方案,必定能跨越多個(gè)行業(yè)領(lǐng)域繼續(xù)“興風(fēng)作浪”。

在我們探究金融交易系統(tǒng)的緣起流變之前,先埋下兩個(gè)問題。

金錢在整個(gè)金融系統(tǒng)中已無處不在,它到底有什么價(jià)值,讓人們不得不去使用它?

在當(dāng)前的金融系統(tǒng)中,有什么我們可以進(jìn)行改進(jìn)的方面?

現(xiàn)有的金融系統(tǒng)

假設(shè)我們回到金融交易的歷史源頭,來為人們?cè)O(shè)計(jì)搭建一套金融系統(tǒng)。首先得明白人們的現(xiàn)狀和需求:每個(gè)人都擁有屬于自己并可以提供給他人的產(chǎn)品或服務(wù),同時(shí)也存在自己所稀缺的。為了均衡這種稀缺和富余,每個(gè)人可以對(duì)自己所擁有東西的價(jià)值進(jìn)行評(píng)估,以及所要換取的東西進(jìn)行預(yù)期,這便是貿(mào)易的開始。

但以物易物的貿(mào)易存在一個(gè)不爭(zhēng)的事實(shí):交易雙方需要通過溝通談判,來確定交易時(shí)物品的價(jià)值。當(dāng)從小范圍內(nèi)的交易,擴(kuò)展到更大范圍的貿(mào)易時(shí),相對(duì)公允的價(jià)格參考就需要被呼喚出來了。而像黃金這樣,存量稀缺有價(jià)值、屬性穩(wěn)定可長(zhǎng)存、體積不大便攜帶的物品,作為價(jià)格參考便再合適不過。更進(jìn)一步地,人們創(chuàng)造出貨幣代替了黃金。

由于貨幣屬于人造物,自然就需要對(duì)于基于此的交易進(jìn)行記錄和管理,已保證人們擁有財(cái)富的安全,于是銀行作為可信賴第三方便出現(xiàn)了。人們可在銀行中安全的存放金錢,信賴基于貨幣進(jìn)行的交易,這是非常有價(jià)值的。

同時(shí)不免想問,銀行又是如何做到這一點(diǎn)的呢?

當(dāng)一個(gè)有價(jià)值的創(chuàng)新,成為了日常生活中不可或缺的一部分時(shí),它的實(shí)現(xiàn)原理與運(yùn)行機(jī)制,對(duì)于大多數(shù)使用者來說就會(huì)變的透明了。

可想而知,在全球貿(mào)易如此普遍的今天,銀行維持系統(tǒng)正常運(yùn)作,所需要的子系統(tǒng)及工具絕對(duì)成百上千。這里介紹其中一個(gè)重要的工具:分類賬,它記錄的交易信息包括:發(fā)送方、接收方、交易時(shí)間、交易額度。銀行可以利用分類賬記錄的信息做一些很酷的事情。比如,由于知道誰(shuí)有錢,誰(shuí)負(fù)債,以及擁有錢的數(shù)額,那么便可以確保互不認(rèn)識(shí)的交易雙方達(dá)成信賴。同時(shí)這也幫助解決了所謂的“雙花問題”,所謂雙花問題就是,某人將同一份筆錢花了不止一次。為使一個(gè)金融系統(tǒng)正常運(yùn)行,這種現(xiàn)象是不被允許的,因?yàn)槟憧梢韵胂螅@完全是在印鈔呀。銀行可以通過分類賬上的記錄,來避免雙花問題,因?yàn)殂y行知道第一次交易發(fā)生的時(shí)間,那么同筆錢第二次交易時(shí)就可以認(rèn)定為無效。

區(qū)塊鏈的改進(jìn)

銀行作為可信賴第三方,對(duì)于金融交易信息的全知視角,便是我們長(zhǎng)期以來解決這個(gè)問題的一種途徑。但是區(qū)塊鏈技術(shù)提供了一種不同的,或許是更好的方式。因?yàn)楝F(xiàn)有的金融系統(tǒng),不可否認(rèn)地依然存在著一些問題:

交易數(shù)據(jù)的訪問權(quán)

銀行在金融系統(tǒng)中的地位太過重要,它確定擁有我們所有的交易數(shù)據(jù),但我們不確定銀行是否將這些數(shù)據(jù)同樣共享給我們,這樣是否真的合理呢?任何的不公,都是從信息不對(duì)稱開始的,你說呢。類似于銀行所用的分類賬,我們可以創(chuàng)建一個(gè)共享的分類賬來供所有人訪問。

解決一個(gè)問題的同時(shí),總會(huì)有新的問題伴隨著產(chǎn)生。

所創(chuàng)建的共享分類賬,是否能達(dá)到與目前銀行同樣的安全與信任程度?

類似銀行的可信賴第三方并不唯一

現(xiàn)在我們有一個(gè)轉(zhuǎn)賬需求要完成,可采用的途徑并非去銀行借記一種方式,還可以信用卡、支付寶、微信、PayPal等等。無論你選擇哪種,你都需要給他們提供相關(guān)必要的信息。而若當(dāng)你嘗試進(jìn)行更加復(fù)雜的交易時(shí),可能涉及中間環(huán)節(jié)的公司也會(huì)越來越多,這必然會(huì)產(chǎn)生額外的費(fèi)用以及交易延遲。這也是區(qū)塊鏈技術(shù)嘗試解決的一點(diǎn)。

區(qū)塊鏈技術(shù)發(fā)展迅速,想法和工具都會(huì)層出不窮,只有我們牢牢抓住目標(biāo),我們才能做出明智的取舍。
二、關(guān)于比特幣

區(qū)塊鏈現(xiàn)在已經(jīng)是一個(gè)跨越許多平臺(tái)和行業(yè)的熱門話題,每天都有許多更新層出不窮,如果我們要去對(duì)區(qū)塊鏈追根溯源,比特幣是一個(gè)不容忽視的里程碑。它的相關(guān)概念和想法影響著所有后來的其他區(qū)塊鏈應(yīng)用,所以我們可以通過了解比特幣,來明白它的核心思想,是如何幫助建立起今天所熟知的區(qū)塊鏈的。

比特幣使用的概念,來分組和驗(yàn)證交易信息,將若干個(gè)交易打包到一個(gè)中進(jìn)行管理。這個(gè)想法對(duì)比特幣乃至區(qū)塊鏈來說都非常重要,但卻不是比特幣首先提出來的,早在1991年,HaberStornetta 發(fā)表了一篇名為How to Time-stamp a Digital Document的論文,提出了一種驗(yàn)證文檔的新方式:采用文檔更新的時(shí)間戳,將不同的版本按此順序組成一個(gè)文檔連。如此看這兩位老鐵也算是區(qū)塊鏈的先驅(qū)了。

區(qū)塊鏈元年2008年,一個(gè)叫做中本聰(Satoshi Nakamoto)的神秘作家發(fā)表了一封名為Bitcoin: A Peer to Peer Electronic Cash System的白皮書,奠定了比特幣的基礎(chǔ),也完全改變了我們看待和理解貨幣的方式。接著在2009年1月3日,中本聰發(fā)布了比特幣軟件,同時(shí)將第一個(gè)比特幣帶到了這個(gè)世界。

中本聰?shù)倪@篇白皮書真是讀一讀神清氣爽,開篇第一句就開始描述,點(diǎn)對(duì)點(diǎn)電子現(xiàn)金系統(tǒng)如何繞過對(duì)中心化銀行的需求。通篇談及了交易、時(shí)間戳、工作量證明、網(wǎng)絡(luò)以及許多關(guān)于比特幣如何運(yùn)作的概念,或許目前你對(duì)于這些概念的技術(shù)細(xì)節(jié)還不是很清楚,不過沒關(guān)系,當(dāng)我們初次面對(duì)一個(gè)新技術(shù)的時(shí)候都這樣。

讓我們懷著以下問題,繼續(xù)往下探索:

比特幣嘗試在解決什么問題?

它提出了怎樣的解決方案?

開發(fā)這個(gè)新系統(tǒng)都用到了什么組件?

三、Hashing

目前我們對(duì)區(qū)塊鏈技術(shù)的起心動(dòng)念,已經(jīng)有了一個(gè)大體的了解。接下來我們逐一簡(jiǎn)介,上圖區(qū)塊鏈框架中的各部分組件,首先是哈希和一個(gè)特殊的哈希函數(shù)SHA256

哈希值可以被當(dāng)做是信息的數(shù)字指紋,它是由字母和數(shù)字組成的唯一字符串,用以代表或者說是對(duì)應(yīng)一組數(shù)據(jù),哈希函數(shù)的作用,就是完成給定數(shù)據(jù)到唯一哈希值得映射。SHA256是一個(gè)特殊的哈希函數(shù),SHA是Secure Hashing Algorithm的縮寫,256表示其輸出的哈希值是256位的。除此之外還有許多不同的哈希函數(shù),比特幣從中選擇了SHA256函數(shù),來計(jì)算區(qū)塊鏈上每個(gè)區(qū)塊的哈希值,這樣做的原因是方便對(duì)區(qū)塊的引用,以及完整性的校驗(yàn)。更詳細(xì)的使用方式可以參考JS類庫(kù)crypto-js。

為了理解哈希值是如何將數(shù)據(jù)組成為鏈的,我們需要對(duì)區(qū)塊和區(qū)塊鏈的概念有更多一點(diǎn)的了解。

四、區(qū)塊

如字面意思,區(qū)塊就是保存區(qū)塊鏈上一定量交易信息的容器。如前所述,區(qū)塊鏈?zhǔn)且粋€(gè)在網(wǎng)絡(luò)中存儲(chǔ)所有交易記錄的共享分類記賬單,當(dāng)我們讓它無限地運(yùn)行下去時(shí),就意味著這個(gè)記錄所有交易的賬單會(huì)變得非常龐大。那么將所有的記錄作為一個(gè)整體來使用或管理,都會(huì)非常困難,明智的方法便是化整為零,來存儲(chǔ)這些交易信息于許多個(gè)小區(qū)塊中。

那這樣包含數(shù)量有限交易信息的小區(qū)塊長(zhǎng)什么樣呢?一個(gè)區(qū)塊大體分為主體和頭部,交易信息存儲(chǔ)在主體中,而頭部包含了一些額外信息諸如:

前一個(gè)區(qū)塊的哈希值。各個(gè)區(qū)塊也就是通過該值相連構(gòu)成鏈狀結(jié)構(gòu)的。

區(qū)塊被創(chuàng)建的時(shí)間戳。每個(gè)區(qū)塊創(chuàng)建的時(shí)間,能夠幫助我們確定某項(xiàng)交易生效的時(shí)間,這將有效地解決前面講到的雙花問題。

Merkle root。是一個(gè)代表區(qū)塊中每個(gè)交易的哈希值。一個(gè)哈希值如何代表區(qū)塊中所有的交易呢?這里的騷操作是這樣的:所有的交易對(duì)象兩兩取哈希值,然后再對(duì)得到的哈希值再兩兩取哈希值,以此類推,所得到的最后一個(gè)哈希值即是Merkle root,說白了就是一個(gè)二叉樹的根節(jié)點(diǎn)。這么做的原因是,可以快速查找出區(qū)塊中不一致的交易,不一致的產(chǎn)生可能是因?yàn)閭鬏敁p壞或篡改。

Nonce隨機(jī)數(shù)。在創(chuàng)建區(qū)塊時(shí),網(wǎng)絡(luò)中可能會(huì)存在許多個(gè)體同時(shí)發(fā)起請(qǐng)求,想要?jiǎng)?chuàng)建該區(qū)塊,這其實(shí)就是所謂的“挖礦”,那么區(qū)塊鏈網(wǎng)絡(luò)該如何決定由誰(shuí)來創(chuàng)建一個(gè)區(qū)塊呢?這就是所謂的創(chuàng)建區(qū)塊的復(fù)雜度問題。解決方案的關(guān)鍵就是這個(gè)隨機(jī)數(shù),比特幣系統(tǒng)要求每個(gè)想要?jiǎng)?chuàng)建下一個(gè)區(qū)塊的請(qǐng)求方,都要提供一個(gè)特定的哈希值,這個(gè)哈希值由區(qū)塊所包含的內(nèi)容blockData和這個(gè)隨機(jī)數(shù)nonce,即SHA256({ blockData, nonce}),通過哈希函數(shù)計(jì)算得到。額外的要求是,所得到的哈希值需要以特定數(shù)量0開始,這就需要重復(fù)的取哈希值一遍又一遍的計(jì)算,直到滿足要求。也可以看出,該特定哈希值開頭要求得0數(shù)量越多,創(chuàng)建該區(qū)塊的復(fù)雜度就越高,反之亦然。

區(qū)塊大小。顧名思義,就是一個(gè)區(qū)塊能存儲(chǔ)信息的大小,這是由開發(fā)者在區(qū)塊鏈創(chuàng)建時(shí)定下來的,當(dāng)一個(gè)區(qū)塊寫入的交易信息達(dá)到該區(qū)塊大小的限制時(shí),就是該創(chuàng)建新區(qū)塊的時(shí)候了。

五、區(qū)塊鏈

區(qū)塊鏈?zhǔn)且粋€(gè)共享數(shù)字分類賬,它包含了發(fā)生在網(wǎng)絡(luò)上的所有交易的歷史信息,存儲(chǔ)在區(qū)塊鏈上的信息永久保存且不可改變。構(gòu)成區(qū)塊鏈的兩個(gè)重要因素是:區(qū)塊和哈希值,每一個(gè)區(qū)塊包含自己的哈希值,以及一個(gè)指向前一個(gè)區(qū)塊的哈希值,通過哈希值將所有區(qū)塊按照創(chuàng)建順序連接成區(qū)塊鏈。

區(qū)塊鏈這種由哈希值鏈接而成的結(jié)構(gòu),帶來了一個(gè)有趣的性質(zhì):不易更改。當(dāng)想要更改一個(gè)區(qū)塊的內(nèi)容時(shí),由于哈希值得完整性,該區(qū)塊的哈希值也必將更改,又由于該區(qū)塊的下一個(gè)區(qū)塊的頭部中,包含了指向該區(qū)塊的哈希值,后繼區(qū)塊哈希值的計(jì)算包含了指向前序區(qū)塊的哈希值,前序區(qū)塊哈希值得更改,就必然連鎖的更改所有后繼的哈希值。

區(qū)塊鏈不易更改的性質(zhì),造就了其安全性。
六、分布式點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)

運(yùn)行區(qū)塊鏈的網(wǎng)絡(luò)比較特殊,叫做分布式點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)。為了能夠清楚地理解,就字面可以拆成兩塊來看:點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)和分布式網(wǎng)絡(luò)。

所謂點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò),就是允許網(wǎng)絡(luò)中的任意兩個(gè)節(jié)點(diǎn),可以相互直接通信,而不需要通過什么中心化的節(jié)點(diǎn)。舉些例子,微信,Google的環(huán)聊,Skype都屬于點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)。而分布式網(wǎng)絡(luò),允許在許多用戶間進(jìn)行信息傳遞。這樣的定義,我第一次看到也很費(fèi)解,為了更好地理解,最好的方法論就是比較與鑒別。我可以把中心化網(wǎng)絡(luò),非中心化網(wǎng)絡(luò)以及分布式網(wǎng)絡(luò)拿到一起來看。但在細(xì)看之前,需要明白一點(diǎn),每一種網(wǎng)絡(luò)都有他們各自的優(yōu)勢(shì)和使用場(chǎng)景,我們?cè)趨^(qū)塊鏈中采用分布式網(wǎng)絡(luò),只是由于比較來看,分布式網(wǎng)絡(luò)更適合于區(qū)塊鏈應(yīng)用。

在中心化網(wǎng)絡(luò)中,所有的信息都集中于一個(gè)節(jié)點(diǎn)上,其他節(jié)點(diǎn)都與中心節(jié)點(diǎn)相連。可以拿圖書館的例子來類比,將所有圖書都集中保存在唯一的一個(gè)圖書館中,人們需要查閱資料或借閱圖書,都來這個(gè)圖書館就好。好處是書籍與資料集中后便于管理,但問題也是顯而易見的:其一,容災(zāi)性較差,假如這個(gè)唯一的圖書館失火或遭到破壞,由于所有信息只有這里獨(dú)一份,損失后便無法恢復(fù)。其二,對(duì)于用戶來說,非常不方便,所有人都需要到圖書館才能獲取信息,無論你在何處。

于是就有了非中心化網(wǎng)絡(luò)的改進(jìn)方案,備份出全部或部分圖書館中的資料,建立多個(gè)地區(qū)或區(qū)域性的圖書館,這樣便有了一定的災(zāi)備性。而分布式網(wǎng)絡(luò),則是把這個(gè)思路做到了極致。不需要圖書館了,每個(gè)人家里書架擺上50來本樹,如果沒有的話再相互借。把上述例子中的圖書換成交易數(shù)據(jù),就是我們比特幣網(wǎng)絡(luò)的樣子,每個(gè)節(jié)點(diǎn)雖然不一定存儲(chǔ)了所有的數(shù)據(jù),但是通過這個(gè)分布式點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò),他們可以獲取到區(qū)塊鏈的所有數(shù)據(jù)。

七、內(nèi)存池

我們隨時(shí)的起心動(dòng)念都可以產(chǎn)生一個(gè)交易,但這并不意味著網(wǎng)絡(luò)處理交易的速度,能夠?qū)崟r(shí)的跟上交易產(chǎn)生的速度。也就是說,一定時(shí)間內(nèi),產(chǎn)生交易的數(shù)量可能會(huì)超過網(wǎng)絡(luò)處理交易的數(shù)量,那么對(duì)于那些暫時(shí)未確認(rèn)寫入?yún)^(qū)塊鏈的交易,就需要一個(gè)地方來存儲(chǔ)這些信息,這個(gè)地方就叫做:內(nèi)存池。

交易信息被寫入?yún)^(qū)塊之前,需要經(jīng)過網(wǎng)絡(luò)的確認(rèn)與驗(yàn)證,這個(gè)工作是由區(qū)塊鏈網(wǎng)絡(luò)中一些叫作“礦工”的節(jié)點(diǎn)來完成的。具體到如何挖礦稍后介紹,這里先大致有一個(gè)概念。

blockchain.info這個(gè)站點(diǎn)提供了一些比特幣區(qū)塊的專業(yè)服務(wù)以及加密貨幣錢包,除此之外,還有一些區(qū)塊狀態(tài)的神仙圖標(biāo)可以免費(fèi)查看。比如我們可以來關(guān)注一下,當(dāng)前未確認(rèn)的區(qū)塊情況:

圖中和日期一行的字符串,是一條交易的哈希值;和綠色箭頭一行的字符串,是交易雙方的錢包,可以類比電子郵箱,只不過這里是用來發(fā)送比特幣的。

一條交易信息離開內(nèi)存池的原因,除了由礦工校驗(yàn)過后加入?yún)^(qū)塊,還有一些其他原因:

一條交易信息在內(nèi)存池中停留的過久,若超過14天還沒有被礦工寫入?yún)^(qū)塊,則會(huì)被移除。

在內(nèi)存池的堆棧中,所有的交易都是按照小費(fèi)的大小,由高到低排序的。當(dāng)內(nèi)存池的存儲(chǔ)空間達(dá)到上限的時(shí)候,此時(shí)來了一個(gè)小費(fèi)大于目前內(nèi)存池中最少小費(fèi)的交易,那么小費(fèi)值最少的交易將會(huì)被移除內(nèi)存池。這個(gè)小費(fèi)的額度,是是由發(fā)起交易的人確定的,如果希望自己的交易信息被礦工更早的寫入?yún)^(qū)塊,可以適當(dāng)提高小費(fèi)值。當(dāng)然并不是不給小費(fèi),你的交易信息就不會(huì)寫入,這要看節(jié)點(diǎn)的具體情況。

如果區(qū)塊中已經(jīng)有了該交易信息,在寫入驗(yàn)證階段,會(huì)將重復(fù)的交易信息移除內(nèi)存池。

如果將要寫入的交易信息,和目前區(qū)塊鏈中的交易存在沖突,也將會(huì)被移除。

八、共識(shí)機(jī)制

先來看一個(gè)著名的問題:“拜占庭將軍問題”。假設(shè)有9個(gè)拜占庭的將軍,各自領(lǐng)著一支軍隊(duì)圍著一座城的不同方位,他們之間彼此物理隔離,只能通過傳令兵進(jìn)行通信。他們需要達(dá)成共識(shí)到底是攻打還是撤退,要么一同攻打要么一同撤退,如果有一支軍隊(duì)和其他軍隊(duì)行動(dòng)不一致,都會(huì)造成失敗。同時(shí)這其中還有更復(fù)雜的因素,或許有某個(gè)將軍已經(jīng)叛變了,但其他人還不知道,這就意味著叛變的將軍會(huì)破壞這次決議的投票;同時(shí)負(fù)責(zé)消息傳遞的傳令兵,在路上也可能發(fā)生不可測(cè)的狀況,而導(dǎo)致送達(dá)的信息失真,也可能壓根沒送到。

我們將將軍換成區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點(diǎn),兩個(gè)場(chǎng)景中面對(duì)的問題是類似的,我們需要一種策略來幫助建立,在通信沒那么穩(wěn)定順暢的情況下用戶之間的信任。這便是所謂的共識(shí)機(jī)制,達(dá)成這個(gè)目的有許多備選的算法,比如工作量證明,股份證明等等。

8.1 工作量證明

工作量證明最早是比特幣提出的一種解決“拜占庭將軍問題”的方案,基本思想就是利用,前面談到的區(qū)塊頭部中那個(gè)隨機(jī)數(shù)以及哈希值,計(jì)算出這個(gè)有著特定數(shù)量0開頭的哈希值比較困難,也就意味著你在為這件事情付出成本(人們往往會(huì)為自己付出成本做的事情負(fù)責(zé)任,反之如果沒有任何成本約束,你說你認(rèn)真負(fù)責(zé),我信你個(gè)鬼),同時(shí)還需要網(wǎng)絡(luò)中的其他節(jié)點(diǎn)驗(yàn)證起來比較容易,這樣可行性才會(huì)高。

嘗試解題計(jì)算這個(gè)特定哈希值的節(jié)點(diǎn)稱作礦工,礦工挖礦解題的過程會(huì)消耗計(jì)算機(jī)的電量,如果你在諸多節(jié)點(diǎn)的競(jìng)爭(zhēng)計(jì)算中,獲得了下個(gè)區(qū)塊寫入?yún)^(qū)塊鏈的資格,那么你消耗的電量是值得的。同時(shí)可想而知,那些沒有競(jìng)爭(zhēng)成功的節(jié)點(diǎn),所消耗的電量真的就是打水漂了。

那為什么有那么多節(jié)點(diǎn)前仆后繼地要參與到這場(chǎng)算力的競(jìng)爭(zhēng)中呢?因?yàn)楂@得資格成功寫入?yún)^(qū)塊鏈的節(jié)點(diǎn),會(huì)獲得比特幣網(wǎng)絡(luò)獎(jiǎng)勵(lì)的比特幣,并且這是網(wǎng)絡(luò)產(chǎn)生新比特幣的唯一方式。當(dāng)然礦工除了從這種方式獲得比特幣外,他還可以從發(fā)生的交易中收取小費(fèi)。

工作量證明存在的問題:

高昂的電費(fèi);

礦工對(duì)于網(wǎng)絡(luò)計(jì)算資源的壟斷,間接的也會(huì)造成整個(gè)系統(tǒng)的中心化趨勢(shì);

第一個(gè)問題如前所述,對(duì)于第二個(gè)問題,具體來說,由于解出特定哈希值問題快慢的概率,和幾點(diǎn)擁有的計(jì)算資源大小成正比。也就是說,你擁有越多的資源你就越容易獲得寫入下一個(gè)區(qū)塊的資格,也就意味著你獲得比特幣獎(jiǎng)勵(lì)的概率越大。利益的驅(qū)使下,全網(wǎng)的算力資源就會(huì)逐漸傾向聚集到少數(shù)人身上。

8.2 股權(quán)證明

股權(quán)證明是另一種共識(shí)機(jī)制算法,這種機(jī)制中沒有礦工,也不需要投資計(jì)算設(shè)備用以挖礦獲得數(shù)字貨幣,因?yàn)閺囊婚_始所有的數(shù)字貨幣就已經(jīng)存在了。取而代之的角色叫做驗(yàn)證者,或者股東,為了驗(yàn)證交易和創(chuàng)建區(qū)塊,股東需要使用他們的數(shù)字貨幣進(jìn)行下注,如果他們驗(yàn)證了一個(gè)虛假的交易,他們將失去所下注的數(shù)字貨幣,以及未來參與驗(yàn)證的機(jī)會(huì),這將會(huì)驅(qū)策系統(tǒng)只驗(yàn)證正確的交易。

在股權(quán)證明機(jī)制中,下注越大的股東,獲得寫入下個(gè)區(qū)塊資格的概率越大。驗(yàn)證者將會(huì)按照其下注的比例獲得數(shù)字貨幣作為獎(jiǎng)勵(lì),這就會(huì)引出一個(gè)問題,對(duì)于一個(gè)雞賊的驗(yàn)證者,如果他同時(shí)對(duì)多個(gè)區(qū)塊進(jìn)行下注,那么在最后他也并不會(huì)損失什么?這無疑是一個(gè)潛在的問題,所以網(wǎng)絡(luò)的策略是對(duì)在錯(cuò)誤支鏈上下注的驗(yàn)證著給予處罰,或者對(duì)在所有可能的支鏈上下注的驗(yàn)證者給予處罰。

誰(shuí)在使用股權(quán)證明機(jī)制:

以太坊

Dash,也是股權(quán)證明的先驅(qū)之一,它建立在核心比特幣平臺(tái)之上,同時(shí)增加了隱私和快速交易的特性。

List,旨在允許開發(fā)人員創(chuàng)建自己的非中心化應(yīng)用程序,功能類似于以太坊和NEO,同時(shí)允許開發(fā)者使用JavaScript。特殊的是,Lisk的共識(shí)機(jī)制叫做委托的股權(quán)證明,網(wǎng)絡(luò)中只有前101個(gè)委托者可以下注,而這些委托者是系統(tǒng)隨機(jī)選出來的。

8.3 委托式拜占庭容錯(cuò)

Delegated Byzantine fault tolerance,簡(jiǎn)稱DBFT,是一種基于給不同節(jié)點(diǎn)賦予角色來協(xié)調(diào)共識(shí)的一致性算法。

DBFT同樣沒有礦工角色的節(jié)點(diǎn),取而代之的是將節(jié)點(diǎn)分成了普通節(jié)點(diǎn)共識(shí)節(jié)點(diǎn),網(wǎng)絡(luò)中的絕大多數(shù)節(jié)點(diǎn)屬于普通節(jié)點(diǎn),只能進(jìn)行轉(zhuǎn)化或交易資產(chǎn),但是他們不能參與到區(qū)塊的驗(yàn)證;只有共識(shí)節(jié)點(diǎn)有權(quán)驗(yàn)證寫入?yún)^(qū)塊鏈中的每個(gè)區(qū)塊,它相當(dāng)于網(wǎng)絡(luò)中其它節(jié)點(diǎn)的代表,類似于我天朝的人民代表制度。普通節(jié)點(diǎn)可以轉(zhuǎn)變成共識(shí)節(jié)點(diǎn),但不同的平臺(tái)需要滿足的轉(zhuǎn)變標(biāo)準(zhǔn)又太一致。

當(dāng)決定往區(qū)塊鏈寫入新區(qū)塊的時(shí)候,會(huì)從所有的共識(shí)節(jié)點(diǎn)中隨機(jī)選取一個(gè)負(fù)責(zé)寫入。在Neo中,這個(gè)被選出來寫入?yún)^(qū)塊的共識(shí)節(jié)點(diǎn)叫做speaker(報(bào)告人),其余共識(shí)節(jié)點(diǎn)叫做delegates(代表)。在報(bào)告人創(chuàng)建出一個(gè)新區(qū)塊后,并將它提交給諸位代表,如果有2/3的代表證明通過,則這個(gè)新區(qū)塊就被加入到區(qū)塊鏈中;如果沒有被證明通過,被選擇的報(bào)告人節(jié)點(diǎn)將變成普通的代表,新的報(bào)告人節(jié)點(diǎn)會(huì)被重新選擇。

DBFT對(duì)比工作量證明更快且消耗的資源更少,同時(shí)避免了股權(quán)證明可能會(huì)出現(xiàn)的區(qū)塊鏈分叉現(xiàn)象,這并不是說DBFT就完美無缺了:

我們假定有一個(gè)不誠(chéng)實(shí)的報(bào)告人節(jié)點(diǎn)存在(這是可能發(fā)生的,因?yàn)閳?bào)告人節(jié)點(diǎn)是從所有共識(shí)節(jié)點(diǎn)中隨機(jī)選取的),如果發(fā)生了,那么網(wǎng)絡(luò)就需要依賴誠(chéng)實(shí)的代表節(jié)點(diǎn)數(shù)量能過超過2/3。

很難避免代表節(jié)點(diǎn)存在行為上的欺詐,系統(tǒng)會(huì)將代表的歷史行為數(shù)據(jù),公開給所有選民進(jìn)行查看。

總的來說,目前還沒有完美的共識(shí)機(jī)制,目測(cè)以后也不可能會(huì)有,因?yàn)檫@需要根據(jù)具體的需求和使用場(chǎng)景進(jìn)行權(quán)衡。同時(shí)了解新出現(xiàn)的區(qū)塊鏈應(yīng)用,所提出自己的共識(shí)機(jī)制,并分析其優(yōu)缺點(diǎn),是很開眼界且有趣的。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/24637.html

相關(guān)文章

  • 區(qū)塊筆記(2)直觀感受比特幣

    摘要:書接上回區(qū)塊鏈筆記基礎(chǔ)概念掃盲,我們討論了關(guān)于比特幣以及區(qū)塊鏈的許多基礎(chǔ)概念,可能通過我略帶類比的描述,讓你初步有了一些概念,但是對(duì)于一個(gè)比特幣到底長(zhǎng)什么樣以及如何使用比特幣進(jìn)行交易可能還不是很清楚,說的直白點(diǎn)就是聽過豬叫,但沒吃過豬肉。 解惑是每個(gè)人都在走的一條路,可誰(shuí)又能解這漫漫無期呢?路上總是麻醉的人多,釋懷的人少。 書接上回區(qū)塊鏈筆記(1)基礎(chǔ)概念掃盲,我們討論了關(guān)于比特幣以及...

    DrizzleX 評(píng)論0 收藏0
  • 比特幣概念掃盲

    摘要:在年,所有的比特幣便會(huì)被挖光,區(qū)塊鏈中的比特幣變?yōu)椤D菚r(shí),全世界所有的比特幣加一塊一共是萬個(gè),并且永遠(yuǎn)不會(huì)再增加。比特幣的這種設(shè)定是不是很像某種東西是的,就是黃金。 2018年7月24日,比特幣的交易價(jià)格再次突破了8000美元,這也就意味著比特幣的市值已經(jīng)達(dá)到了1374億美元。那么問題來了,這么一種虛擬huo幣居然可以達(dá)到這么高的市值,它憑什么?你又知道到底什么是比特幣嗎?今天我就來淺...

    spademan 評(píng)論0 收藏0
  • 區(qū)塊掃盲

    摘要:之所以叫區(qū)塊鏈,是因?yàn)樗蓞^(qū)塊和鏈表組成。區(qū)塊鏈有一大主要特性就是防篡改。再結(jié)合上文提到的防篡改的特性,區(qū)塊鏈有很高的置信度。基于區(qū)塊鏈極高的置信度和可靠性,所有交易類的場(chǎng)景都能應(yīng)用上。所以對(duì)于實(shí)時(shí)性要求高的業(yè)務(wù),區(qū)塊鏈并不合適。 歡迎關(guān)注我的公眾號(hào)睿Talk,獲取我最新的文章:showImg(https://segmentfault.com/img/bVbmYjo); 一、前言 最近...

    hiYoHoo 評(píng)論0 收藏0
  • 比特幣入門筆記

    摘要:也就是說,比特幣是一個(gè)完全出于社區(qū)共識(shí)的貨幣。所謂全稱為,它是比特幣交易的基本單位。根據(jù)比特幣的協(xié)議,一個(gè)區(qū)塊的大小是而一筆交易大概是,因此一個(gè)區(qū)塊大概可以包含筆交易。 誕生 比特幣誕生于 2008 年,一個(gè)網(wǎng)名為中本聰?shù)娜耍岢隽艘粋€(gè)設(shè)想: 創(chuàng)造一種不受政府或任何組織控制的貨幣 比特幣的本質(zhì)就是一串?dāng)?shù)字,沒有任何資產(chǎn)支持(現(xiàn)行貨幣背后都是國(guó)家或銀行提供資產(chǎn)支持)。也就是說,比特幣是一...

    Loong_T 評(píng)論0 收藏0
  • 區(qū)塊筆記(4)用JS寫個(gè)簡(jiǎn)單的區(qū)塊原型

    摘要:介紹了一些關(guān)于比特幣的概念與機(jī)制,為了加深理解,本文基于來實(shí)現(xiàn)一個(gè)簡(jiǎn)單的區(qū)塊鏈原型,后續(xù)再對(duì)其進(jìn)行不斷豐富。概述如前所述區(qū)塊鏈模型的組成部分,包括區(qū)塊,區(qū)塊構(gòu)成的區(qū)塊鏈,以及保存區(qū)塊鏈的數(shù)據(jù)持久層等。 介紹了一些關(guān)于比特幣的概念與機(jī)制,為了加深理解,本文基于JavaScript來實(shí)現(xiàn)一個(gè)簡(jiǎn)單的區(qū)塊鏈原型,后續(xù)再對(duì)其進(jìn)行不斷豐富。 1. 概述 如前所述區(qū)塊鏈模型的組成部分,包括區(qū)塊,區(qū)塊...

    W_BinaryTree 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<