比特幣的去中心化3

比特幣并不是完全使用純技術(shù)手段,而是將技術(shù)與激勵機制相結(jié)合做到了去中心化雌贱。

通盤認識去中心化帽芽。

比特幣的運行機制。

為什么比特幣確實是安全的披泪。

1款票、中心化和去中心化

互聯(lián)網(wǎng)其實就是一個著名的去中心化系統(tǒng)艾少。 電子郵件通過SMTP(Simple Mail Transfer Protocol)去中心化的系統(tǒng)翼悴。IM鹦赎、短信等這些通信方式往往是一種混合模式,其實并沒有一種系統(tǒng)是完全的中心化或完全的去中心化的雏吭。雖然比特幣系統(tǒng)是區(qū)中心化的但是比特幣交易所杖们、錢包軟件及用戶管理比特幣軟件摘完,可以是中心化的婚温,也可以是去中心化的栅螟。

有了以上的考慮力图,我們把比特幣如何做到去中心化這個問題分解為下面5和問題:

誰在維護交易賬本掺逼?

誰有權(quán)利批準哪個交易是正當有效的?

誰在制造新的比特幣刑桑?

誰在制定系統(tǒng)變化的規(guī)則祠斧?

比特幣是如何取得交易貨幣的價值的拱礁?

比特幣從不同方面的不同點涉及了中心化和去中心化呢灶。點對點的網(wǎng)絡(luò)是最接近去中心化的系統(tǒng)。任何一個人都可以運行一個比特幣節(jié)點鲸阻,只需要下載一個比特幣客戶端赘娄; 從技術(shù)上講遣臼,bitcoin mining(比特幣挖礦)挖礦過程也是向所有人開放的拾并,但需要投入很多資金嗅义,所以挖礦具有非常高的中心化;比特幣運行節(jié)點的更新蝙眶。

2幽纷、分布式共識 distributed consensus

建立一個分布式的電子現(xiàn)金系統(tǒng)的關(guān)鍵技術(shù)問題就是要達成分布式共識 distributed consensus 友浸。即去中心化收恢。

分布式共識協(xié)議

在一個有n個節(jié)點的系統(tǒng)中,每個節(jié)點都有一個輸入值火窒,其中一些節(jié)點具有故障驮肉,甚至是惡意的缆八。一個分布式共識協(xié)議有一下兩個屬性:

輸入值得終止必須經(jīng)所有誠實節(jié)點來確定。

這個輸入值必須油誠實節(jié)點來生成栏妖。

分布式共識在比特幣bitcoin中的含義:我們需要記住比特幣是點對點的系統(tǒng)吊趾,網(wǎng)絡(luò)上所有節(jié)點的交易行為是廣播的论泛。

節(jié)點到底達成什么樣的共識屁奏?

網(wǎng)絡(luò)中有各種各樣的用戶在想網(wǎng)絡(luò)廣播交易错负,節(jié)點必須對哪些交易可以進行廣播和交易發(fā)生的次序達成共識,以此系統(tǒng)將形成一個唯一的全球交易總賬折联。在bitcoin中也是將每個區(qū)塊進行共識處理诚镰。

在任何時點祥款,所有在p2p網(wǎng)絡(luò)上的節(jié)點都有包含一系列區(qū)塊的總賬本,每個區(qū)塊中都包含了已經(jīng)被所有節(jié)點達成共識的交易清單函筋。除此之外跌帐,每個節(jié)點還有一堆沒有被打包進入進入?yún)^(qū)塊的交易绊率,就是那些網(wǎng)絡(luò)節(jié)點已經(jīng)被通知、交易已經(jīng)發(fā)生脸狸,但還沒有被寫入?yún)^(qū)塊的交易炊甲。網(wǎng)絡(luò)節(jié)點對于這些交易還沒有達成共識卿啡、所以每個節(jié)點都有一個略有差異菱父、尚待確認的交易池。

所有節(jié)點是如何對一個區(qū)塊達成共識的呢官辽?

方法一:每隔十分鐘同仆,每個節(jié)點都提議自己的未被認可的交易成為以達成共識的區(qū)塊鏈后面的下一個區(qū)塊裙品,然后執(zhí)行共識的協(xié)議清酥,每個節(jié)點把自己的提議作為輸入焰轻。但不可避免有寫節(jié)點是惡意的,存心把不當?shù)慕灰追胚M區(qū)塊辱志,其他節(jié)點則是誠實的揩懒。如果共識協(xié)議能夠順利完成已球,一個有效的區(qū)塊會被作為輸出辅愿。

方法一和bitcoin不完全一樣点待,以上的做法存在的技術(shù)問題:

達成共識一般是個難題癞埠,因為有些節(jié)點會死機或根本就是惡意的節(jié)點苗踪。

就bitcoin而言削锰,p2p網(wǎng)絡(luò)是不完美的,并不是所有節(jié)點兩兩相連测暗。

由于交易信息是分布在互聯(lián)網(wǎng)上的碗啄,信息的傳遞有可能會被延遲

不可能性結(jié)論

全球時間上的不統(tǒng)一給共識協(xié)議算法帶來了很多的限制稚字,有許多關(guān)于達成分布式共識具備不可能性結(jié)論已經(jīng)被證實胆描。一個經(jīng)典的案例“拜占庭將軍問題”(Byzantins Generals Problem).

還有一個關(guān)于不可能性的結(jié)論,是著名的“Fischer-Lynch-Paterson ”不可能性結(jié)果昌讲。指的是在一定條件下短绸,甚至在只有一個缺陷的過程中筹裕,達成共識都是不可能的。比較著名的就是Paxos協(xié)議证逻。Paxos能做大不產(chǎn)生不一致的結(jié)果囚企。但所做的妥協(xié)是死機卡住,從而無法繼續(xù)運行扯罐。

打破傳統(tǒng)上的假設(shè)

不可能性結(jié)論都是在一些特定的情況下成立烦衣。bincoin的情況遠比理論上告訴我們的要好的多花吟。 bitcoin到底打破了經(jīng)典模型里的哪些假設(shè)衅澈?

bitcoin引入了獎勵的概念今布,這對分布式共識來說是個全新的理念部默。人們?yōu)榻疱X獎勵而變得誠實造虎。所以bitcoin并沒有真正解決分布式共識的問題算凿,只在bitcoin中解決了這個問題氓轰。

bitcoin體系包含隨機性這個概念署鸡。共識算法很大程度上依賴于隨機性。共識是通過一段較長時間而達成侍筛。

3匣椰、使用區(qū)塊鏈達成沒有身份的共識

下面探討的是bitcoin共識算法的技術(shù)細節(jié)禽笑。

bitcoin身份缺失的原因:

p2p網(wǎng)絡(luò)中沒有一個中央的權(quán)威機構(gòu)來發(fā)放身份。

化名制pseudonymity 也是bitcoin想達到的一個目標佳镜。雖然bitcoin還不能保證真正的匿名蟀伸,即一個用戶做的交易是有辦法被最終追蹤到的啊掏,但bitcoin并沒有強迫用戶用真實身份加入這是bitcoin的重要特性及核心理念迟蜜。

隱性共識 implicit consensus

implicit consensus - 對隨意節(jié)點選擇的假設(shè)娜睛。 implicit consensus 隱性共識解決的問題就是當隨機一個惡意節(jié)點,我們的應(yīng)對辦法就是implicit consensus方库,其他節(jié)點可以通過隱性的接受或是拒絕隨機出來的節(jié)點薪捍。如果拒絕他們就選擇前一個曾經(jīng)接受的區(qū)塊酪穿。

這個算法的簡化假設(shè)是被济,可以隨意選擇一個節(jié)點只磷,這些節(jié)點不會受到女巫攻擊的影響钮追。

新的交易被廣播到所有node上。

每個節(jié)點都將新的交易放到一個區(qū)塊。

在每個回合炭晒,一個隨機的節(jié)點可以廣播他的區(qū)塊

其他節(jié)點可以選擇接受這個區(qū)塊网严,前提是正當交易(即有真的簽名)

節(jié)點們可以把以上區(qū)塊的哈希放進自己的區(qū)塊中震束,以此表示他們對那個新區(qū)塊的認可驴一。

竊取bitcoin

由于盜取者要偽造bitcoin擁有者的數(shù)字簽名休雌,如果數(shù)字簽名是安全的灶壶,他就無法辦到

拒絕服務(wù)攻擊

誠實節(jié)點發(fā)起區(qū)塊---->交易記錄就會放進區(qū)塊

雙重支付攻擊

發(fā)起交易--->向整個網(wǎng)絡(luò)廣播這筆交易--->某個誠實節(jié)點制造下一個區(qū)塊,把這筆交易放到區(qū)塊中杈曲。 交易的數(shù)據(jù)結(jié)構(gòu)包含 數(shù)字簽名驰凛、公鑰(地址)的指令和一個哈希值。哈希值是

一個指針担扑,指向前一筆交易的輸出并且是以被共識連的某個之前的區(qū)塊所認可的交易恰响。

我們?nèi)绾沃朗欠駷殡p重支付攻擊?取決于最后那個區(qū)塊會被納入長期的共識鏈涌献。誠實的節(jié)點會遵循在最長有效分支后面延展這一規(guī)則胚宦,選擇下一個區(qū)塊的節(jié)點可以決定建立在其中一個區(qū)塊上。這個選擇就決定了雙重支付攻擊的成功與否燕垃。雙重支付攻擊的概率將隨著確認的數(shù)目的增加而指數(shù)級降低。

總結(jié),防止不正當?shù)慕灰淄耆怯妹艽a學(xué)的方法。當這些方法被共識所加強侦锯,即一個節(jié)點如果想放進一個密碼學(xué)上不正當?shù)慕灰祝@個交易不會被納入長期共識鏈的唯一原因是絕大多數(shù)的節(jié)點是誠實的。另外皂甘,防止雙重支付攻擊完全依賴于共識户辫,密碼學(xué)是不起作用。從密碼學(xué)的角度來看,共識可以決定哪個被放進長期共識鏈。最后你無法100%保證你感興趣的交易被放進了長期共識鏈哀峻,但指數(shù)級概率保證了不錯的結(jié)果喻旷,6筆交易后,實際你就沒有犯錯的可能了

4截酷、獎勵機制于工作量證明

bitcoin的區(qū)中心化一部分通過技術(shù)手段鼓择,一部分通過激勵設(shè)計來實現(xiàn)抑堡。

區(qū)塊獎勵

bitcoin里有兩種獎勵機制:

區(qū)塊獎勵。創(chuàng)建區(qū)塊的節(jié)點可以在區(qū)塊中加入一筆特別的交--造幣交易象踊,節(jié)點指定這筆交易的接收地址。節(jié)點通常都會選擇一個屬于字節(jié)的地址。你可以把這視為節(jié)點在共識鏈上進行創(chuàng)建區(qū)塊服務(wù)的報酬。

交易費颖杏。任何交易的制造者都可以選擇讓交易輸出值比輸入值小获讳,第一個創(chuàng)建區(qū)塊把交易放進區(qū)塊鏈的人可以取得這個差額偎肃。作為交易費。用戶需要交易費來保證交易的質(zhì)量最冰。

挖礦與工作量證明

工作量證明proof of work 的核心理念是把隨機選取節(jié)點改為根據(jù)節(jié)點占有某種資源的比例來選取節(jié)點篇裁,我們希望這種資源是沒有人可以壟斷的。如果這個資源是計算力 那我們稱之為工作量證明系統(tǒng)产还∨S纾或者這個資源可以是某種幣的擁有量丈攒,我們稱之為權(quán)益證明proof of stake碘耳。

工作量證明proof of work -- 根據(jù)計算能力來選擇節(jié)點到底是什么意思慷妙。

允許節(jié)點用他們的計算能力來相互競爭導(dǎo)致的結(jié)果是:計算能里的比例決定了被動選中的概率。工作量證明還有一種理解方式:把制造新省份的難度適當提高了办绝。這對女巫的攻擊是有抑制作用的佳鳖。

bitcoin是用哈希函數(shù)解謎來證明工作量的月弛。任何提議-->創(chuàng)建區(qū)塊-->制造下一塊谴垫,都要找到一個臨時隨機數(shù),當你把臨時隨機數(shù)筷登、前序哈希值、交易列表逊桦、組成一整串字符,然后用哈希計算輸出值须鼎,這個輸出值正好在一個相對于這個哈希函數(shù)所有可能的輸出中很小的目標區(qū)間內(nèi)蝌焚。這個區(qū)塊還包含了指向前一個區(qū)塊的哈希指針誓斥。臨時隨機數(shù)是為了適度提高發(fā)現(xiàn)符合要求的臨時隨機數(shù)的難度,即包含臨時隨機數(shù)在內(nèi)的整個區(qū)塊的哈希值組合在一起舀武,輸出結(jié)果是一種特定形式奕剃。符合謎題友好的特性嘁锯。那唯一解出哈希謎題的辦法就是去是足夠多的臨時隨機數(shù),知道成功蓄愁。

哈希謎題的三特性:

有一定難度

可參數(shù)化成本

易于證實

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末双肤,一起剝皮案震驚了整個濱河市施掏,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌茅糜,老刑警劉巖七芭,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蔑赘,居然都是意外死亡狸驳,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進店門缩赛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來耙箍,“玉大人,你說我怎么就攤上這事酥馍”缋ィ” “怎么了?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵旨袒,是天一觀的道長汁针。 經(jīng)常有香客問我术辐,道長,這世上最難降的妖魔是什么施无? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任辉词,我火速辦了婚禮,結(jié)果婚禮上猾骡,老公的妹妹穿的比我還像新娘瑞躺。我一直安慰自己,他們只是感情好卓练,可當我...
    茶點故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布隘蝎。 她就那樣靜靜地躺著,像睡著了一般襟企。 火紅的嫁衣襯著肌膚如雪嘱么。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天顽悼,我揣著相機與錄音曼振,去河邊找鬼。 笑死蔚龙,一個胖子當著我的面吹牛冰评,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播木羹,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼甲雅,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了坑填?” 一聲冷哼從身側(cè)響起抛人,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎脐瑰,沒想到半個月后妖枚,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡苍在,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年绝页,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片寂恬。...
    茶點故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡续誉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出初肉,到底是詐尸還是另有隱情屈芜,我是刑警寧澤,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站井佑,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏眠寿。R本人自食惡果不足惜躬翁,卻給世界環(huán)境...
    茶點故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望盯拱。 院中可真熱鬧盒发,春花似錦、人聲如沸狡逢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽奢浑。三九已至蛮艰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間雀彼,已是汗流浹背壤蚜。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留徊哑,地道東北人袜刷。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像莺丑,于是被迫代替她去往敵國和親著蟹。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,612評論 2 350

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