去中心化
當(dāng)今世界的所有貨幣交易都是有一個(gè)第三方可信任的金融機(jī)構(gòu)提供服務(wù)處理,任何人不能訪問(wèn)由這個(gè)第三方機(jī)構(gòu)中心化存儲(chǔ)的數(shù)據(jù),理論上來(lái)說(shuō)如果這個(gè)金融機(jī)構(gòu)發(fā)生了欺詐或倒閉,那么存儲(chǔ)在這個(gè)機(jī)構(gòu)中的貨幣,以及所做的交易就會(huì)存在風(fēng)險(xiǎn)。 當(dāng)然比特幣的去中心化,不是因?yàn)閾?dān)心這種風(fēng)險(xiǎn),而是根本就不需要這個(gè)第三方機(jī)構(gòu)了。這也是區(qū)塊鏈的強(qiáng)大顛覆性之一,凡是需要某個(gè)第三方可信任的機(jī)構(gòu)需要安全保存處理的數(shù)據(jù),都可以去中心化安全存儲(chǔ),所有人都可以訪問(wèn)。
從技術(shù)角度分析,如何做到去中心化?
中心化對(duì)應(yīng)的就是分布式,去中心化就是分布式。把原先存儲(chǔ)在某個(gè)第三方機(jī)構(gòu),中心化存儲(chǔ)的數(shù)據(jù),進(jìn)行分布式存儲(chǔ)。
分布式存儲(chǔ)要解決的3個(gè)基本問(wèn)題
1. 網(wǎng)絡(luò)結(jié)構(gòu)
2. 數(shù)據(jù)不可篡改性
3. 最終一致性
網(wǎng)絡(luò)結(jié)構(gòu)
去中心化的分布式存儲(chǔ)是指整個(gè)發(fā)行的電子貨幣,以及貨幣交易數(shù)據(jù)由不同機(jī)構(gòu),不通個(gè)人的成千上萬(wàn)的計(jì)算機(jī)共同存儲(chǔ),共同維護(hù)了同一份相同的數(shù)據(jù),只有共同維護(hù)的這份相同的數(shù)據(jù)才是認(rèn)為最終正確的數(shù)據(jù),任何個(gè)人篡改自己的數(shù)據(jù)都沒(méi)有意義,并且存儲(chǔ)的數(shù)據(jù)所有人都可訪問(wèn)。
如果做為架構(gòu)師,你會(huì)選擇什么樣的網(wǎng)絡(luò)結(jié)構(gòu)去實(shí)現(xiàn)這個(gè)分布式存儲(chǔ)?一種方式是可采用類似Hadoop中HDFS的方式,由某個(gè)中心節(jié)點(diǎn)NameNode進(jìn)行協(xié)調(diào)訪問(wèn),但這種方式就會(huì)帶來(lái)單點(diǎn)風(fēng)險(xiǎn),破壞了中心節(jié)點(diǎn),整個(gè)體系都將不可訪問(wèn)?;蛘卟捎肅assandra無(wú)中心化投票機(jī)制維護(hù)整個(gè)集群狀態(tài),但是這種方式在全球化開(kāi)放式部署中會(huì)導(dǎo)致根本無(wú)法收斂。
所以比特幣采用了一種更加簡(jiǎn)單直接的方式,利用P2P協(xié)議維護(hù)整個(gè)比特幣網(wǎng)絡(luò)集群,不需要某個(gè)中心節(jié)點(diǎn)協(xié)調(diào)節(jié)點(diǎn)之間的通信,不需要所有機(jī)器投票維護(hù)集群狀態(tài)。而是通過(guò)P2P協(xié)議進(jìn)行節(jié)點(diǎn)之間的數(shù)據(jù)傳輸,任何節(jié)點(diǎn)都可以隨時(shí)加入或者離開(kāi)比特幣網(wǎng)絡(luò)集群,而不會(huì)對(duì)比特幣網(wǎng)絡(luò)集群產(chǎn)生影響,也不需要特意去修復(fù)這個(gè)集群中的故障機(jī)器。
利用P2P協(xié)議進(jìn)行節(jié)點(diǎn)之間數(shù)據(jù)傳輸主要有兩個(gè)功能點(diǎn):
a. 把需要存儲(chǔ)的數(shù)據(jù)廣播到所有節(jié)點(diǎn)上進(jìn)行儲(chǔ)存。
b. 查詢整個(gè)網(wǎng)絡(luò)集群中所有節(jié)點(diǎn)的最新數(shù)據(jù),如果自己節(jié)點(diǎn)的數(shù)據(jù)與大部分節(jié)點(diǎn)的數(shù)據(jù)不一致,則更新自身的數(shù)據(jù)與大部分節(jié)點(diǎn)存儲(chǔ)的數(shù)據(jù)一致。
比特幣是去中心化存儲(chǔ),最大的風(fēng)險(xiǎn)是整個(gè)比特幣網(wǎng)絡(luò)集群被破壞,篡改了整個(gè)網(wǎng)絡(luò)存儲(chǔ)的數(shù)據(jù)。但是上述第二個(gè)功能點(diǎn)能夠有效的防止這種風(fēng)險(xiǎn),由于系統(tǒng)會(huì)自動(dòng)更新為整個(gè)集群中大部分節(jié)點(diǎn)存儲(chǔ)的相同數(shù)據(jù),所以要篡改數(shù)據(jù),必須要同時(shí)篡改整個(gè)網(wǎng)絡(luò)一半以上的數(shù)據(jù),這不是說(shuō)做不到,但是比特幣利用區(qū)塊鏈的方式再加上利益博弈機(jī)制,當(dāng)你擁有這種能力的時(shí)候,也不需要去做篡改這種投入產(chǎn)出比這么低的事了,在數(shù)據(jù)不可篡改性一節(jié)中再詳細(xì)描述。