為什么容錯是區(qū)塊鏈和GoT的重要組成部分
王座
《權力的游戲》改編自George R.R. Martin的奇幻系列小說《冰與火之歌》。David Benioff 、D.B. Weiss 和HBO共同創(chuàng)作了這部奇幻電視劇,并于2011年4月17日開始播出。在過去的幾年里,這部劇已風靡全球。
故事發(fā)生在虛構的維斯特洛七大王國和埃索斯大陸,講述了這個王國的貴族家族為爭奪鐵王座進行的殘酷而暴力的王朝斗爭,而其他家族則為擺脫鐵王座的統(tǒng)治而斗爭。該系列捕捉了善與惡之間的戰(zhàn)斗,融合了魔法和黑暗幻想的概念。
區(qū)塊鏈技術及其工作原理
區(qū)塊鏈是我們2019年最大的技術主題。區(qū)塊鏈技術是Web 2.0轉移到Web 3.0的一種適應,它為用戶提供了一種分散的方式來擁有和管理他們自己的信息。Web 2.0是一個讀寫互聯(lián)網的時代,我們可以在這個時代進行協(xié)作和共享,但這些信息屬于一個中央政黨,如銀行或Facebook。區(qū)塊鏈是比特幣背后的記賬技術,顧名思義,它是一種分布式、分散化的公共分類賬。
在基本級別上,區(qū)塊鏈是一個鏈,其中的公共數據庫是“區(qū)塊”。任何給定的區(qū)塊鏈上都會發(fā)生數百萬個交易,而這交易的特殊之處在于必須對它們進行驗證。使交易及其信息安全可靠。在更傳統(tǒng)的或Web 2.0系統(tǒng)中,有人負責審查新的數據條目或交易。這就是我們今天所習慣的集中式系統(tǒng)。使用區(qū)塊鏈技術是由計算機網絡完成的。當一個交易發(fā)生時,網絡中的所有計算機都立即跑去驗證該交易是不是由正確的人發(fā)生的,以及它應該如何發(fā)生。具體內容以人、時間、金額等為準。
我們將重點討論消息驗證、一致性和容錯,這些是基于區(qū)塊鏈系統(tǒng)和用于驗證交易的協(xié)商共識機制的關鍵組件。
區(qū)塊鏈+GoT
如果你理解了GoT,你就已經理解了區(qū)塊鏈。讓我們回到那七個王國。我們可以把七個王國看做都是一個網絡,每個王國代表一個節(jié)點。在任何一個貴族做出決定之前,七個國必須就這個決定達成一致,否則這個決定就無法執(zhí)行。
例如,在第一季中,羅伯特國王來到臨冬城請內德·斯塔克做他的助手。在返回君臨城的路上,羅伯特分享了塔格利安的消息,她是瘋王的女兒丹妮莉絲·坦格利安,坦格利安是坦格利安王朝最后一位統(tǒng)治者,她還活著,嫁給了多斯拉克人的卡爾·德羅戈。羅伯特表示,他擔心坦格利安會生孩子,搶奪他的鐵王座。羅伯特的決定是找到她,殺了她,但是遭到內德反對。這個話題繼續(xù)在這兩個人和其他領導人之間引起摩擦。那么羅伯特的決定必須得到七大王國中所有其他節(jié)點的確認,否則他的交易將被拒絕。
消息驗證
消息驗證碼。這是一條簡短的信息,它本質上確認消息是否來自聲明的發(fā)送者,并且沒有被更改。還記得珊莎被困在君臨,瑟曦代表她往家里發(fā)假消息,說她很開心嗎?
MAC值允許驗證程序檢測消息內容的任何更改,從而保護消息數據的完整性及其真實性。
幸運的是,凱特琳知道有些事天生就是錯的,但如果知道消息是否屬實,是否來自那個王國,就能避免一些流血事件發(fā)生。
在Got中還有很多其他的例子,因為能夠在戰(zhàn)爭時期驗證消息是最重要的。
統(tǒng)一
任何區(qū)塊鏈網絡的一個重要部分都是統(tǒng)一。在網絡創(chuàng)建之前,必須在所有參與者(節(jié)點或王國領導人)之間建立協(xié)議。這來自于設置一組規(guī)則和邏輯,或者士氣代碼,也稱為智能合約。如果在智能合約開發(fā)階段建立統(tǒng)一,這將為將來的成功奠定基礎。智能合約本質上是商業(yè)規(guī)則,但也可以被看作是指導原則,或者是統(tǒng)治王國的戒律。
容錯
容錯是指當一個或多個組件發(fā)生故障時,系統(tǒng)能夠繼續(xù)正常運行。本質上,它可以防止整個系統(tǒng)崩潰。協(xié)商共識機制使整個網絡或王國有可能就國家問題達成協(xié)議,但始終存在不達成協(xié)議的可能性。
區(qū)塊鏈天生具有容錯性,這意味著即使一些成員不采取相應的行動,仍然可以達成共識。
拜占庭將軍的問題是什么?
這個術語來自計算機科學,描述的是這樣一種情況:為了避免完全失敗,各方必須就一項策略達成一致,但其中一些方存在腐敗行為,散布虛假信息,使其在其他方面不可靠。這是比特幣的工作量證明共識性算法工作原理的一個例子。
問題摘要:
· 多名貴族需要就一個協(xié)調的攻擊計劃達成一致
· 一個或多個貴族可能是叛徒或有其他動機
· 所有貴族都會遵守多數決定,但可能會試圖影響它
如果所有的貴族都同意并團結在一起,他們就會成功;如果他們不同意,他們就會被消滅。
再來看看Got
在第八季中,瑟曦拒絕加入對抗亡靈與夜王的戰(zhàn)爭。其他的國王說如果他們團結一致,他們就會贏。
我們知道對瑟曦來說一切都不順利,但想象一下,如果那晚國王占了上風,下到君臨去毀滅其余的生者?那么維斯特洛大陸上所有的人類都將不復存在,也不會有關于它的記憶(記住,布蘭擁有所有的歷史)。
第八季第二集臨冬城之戰(zhàn)沒有瑟曦王后的生者軍團,與異鬼和夜王展開較量。丹妮、瓊恩、珊莎、提利昂和其余的生者領袖們決定了一個特定的策略來抵御攻擊,并引誘夜王靠近城墻。丹妮心愛的多斯拉克人在戰(zhàn)斗幾分鐘后就被消滅了,丹妮讓自己的情緒占據了上風,她騎著龍沖向天空,放棄了自己的身份,在戰(zhàn)壕里放火。梅麗珊卓在關鍵時刻做到了,這就是一個具體的例子,由于一方的原因,單一的策略變得不可靠。在區(qū)塊鏈世界中,一旦算法不能達成一致,鏈就會斷裂,使得交易無效。如果丹妮不放棄自己的身份,就能騎上龍,那不是很棒嗎?即使有一名成員的行為不合時宜,這種容錯能力也能使戰(zhàn)斗按計劃進行。
另一個例子發(fā)生在第八季第五集,君臨之戰(zhàn)。戰(zhàn)斗開始前,提利昂鼓勵丹妮一聽到鐘聲就撤退,這是城市投降的信號。丹妮卻反其道而行之,摧毀了整座城市。如果有一個共識算法阻止了這一切,我們可能會看到一個不同于第八季結局的結局。
丹妮在蘭丁之戰(zhàn)中,為了成為自己夢想中的統(tǒng)治者,丹妮需要七國的支持。如果協(xié)議能夠成功達成,就不太可能在最后“把它們全部燒掉”,如果這樣,不用說,這場戰(zhàn)爭可能會產生截然不同的結果。