作者:扎克-赫斯, Zack Hess
https://github.com/zack-bitcoin/amoveo-docs/blob/master/other_blockchains/bitcoin.md
amoveo-docs/bitcoin.md at master - zack-bitcoin/amoveo-docs
比特幣是目前最成功的區塊鏈,已經存在。鑑於它的成功,我們爲什麼還要費心研究比特幣的安全模式呢?
比特幣最大化者的動機 #
像所有的軟件一樣,比特幣確實需要維護和更新以保持與互聯網其他部分的兼容。鑑於我們將需要做出某種改變,我們希望有一些關於比特幣安全的模型。這樣,我們可以檢查我們的改變是否會破壞安全模型。這可以防止比特幣在我們更新時經常被破壞。
替代幣者的動機 #
我們都喜歡把我們的項目和比特幣相提並論,試圖說明爲什麼我們的項目也是安全的。但這些比較真的有效嗎?爲了確定,我們需要一個比特幣的安全模型。
投資者的動機 #
如果我們知道爲什麼比特幣是安全的,這可以幫助我們知道哪些區塊鏈項目有機會或沒有機會與比特幣競爭。幫助你避免不良投資。如果我們設法證明比特幣是不安全的,這將是投資者儘快瞭解的關鍵信息。所以我們可以開始弄清楚比特幣是否會改變爲安全的,或者其他區塊鏈是否會取代它。如果事實證明區塊鏈不能工作,最好是儘早瞭解這一點,而不是在所有區塊鏈的價值都消失之後。
比特幣的安全模型會是什麼樣子? #
這將是一個工具,以便給定任何攻擊比特幣的策略的例子,我們可以用這個工具來計算出攻擊會如何失敗。
- 它需要解決拜占庭將軍的問題。這基本上意味着,我們最終都能就新的共識狀態達成一致。因此,有一個版本的歷史是我們同意已經發生的。
- 它需要解決雙花問題。這意味着它需要具有最終性。如果你等待足夠的時間,那麼導致當前共識狀態的歷史就是永久性的。
- 它需要解決軟分叉賄賂的問題。有一個證明,對區塊鏈共識規則的任何修改,完全可以通過制定複雜的審查規則來完成。因此,這意味着一個能夠審查任意txs的攻擊者,他們可以改變任何關於區塊鏈和誰有什麼錢的問題。
博弈論中有一個觀點叫做 “公地悲劇 “或 “市場失效”。這基本上意味着,你可以向大量的人支付少量的錢作爲賄賂,而他們會做出決定,導致價值遠遠超過賄賂總額的東西被破壞。 因此,我們擔心的攻擊,是攻擊者會使用小的賄賂,使用戶或礦工做出決定,導致某些TXS被審查,造成軟分叉更新,讓攻擊者偷取大量比特幣。
解決(3)的方法不可能涉及撤銷許多歷史。如果我們改寫歷史,那麼我們就會使自己受到(2)的影響。
區塊鏈BFT模型 #
這種模式是具有計算機科學或數據庫背景的人的最愛。 爲股權證明PoS區塊鏈工作的人更喜歡這種模式,因爲有可能做出一個執行這種安全模式的PoS區塊鏈。例如,Cosmos和Ethereum社區使用這個模型來描述區塊鏈的安全性。
BFT模式基本上歸結爲找到一種方法來執行這兩條規則。
- 安全:壞事不會發生
- 活力:好事終將發生
BFT模型是基於數據庫的研究,只適用於顯示節點都同意當前狀態。
我們可以利用重寫歷史很昂貴的事實,擴展BFT模型來解決(2)。
解釋了:1,2 沒有解釋: 3
價值最大化模式 #
這種模型是具有經濟學、統計學和貨幣政策理論背景的人的最愛。這也是很多比特幣最大化者使用的模型。
在這個模型中,我們說一個最優版本的比特幣是一個總是做出導致每個BTC價格更高的決策的比特幣,我們試圖證明我們今天使用的比特幣是這個最優版本的一個足夠好的近似。
因此,在這個模型中,證明比特幣是安全的,就等於證明我們同意的歷史版本是導致每個BTC最高價格的歷史版本。
這個模型有一個內在的漏洞:如果攻擊者可以可信地承諾以我們是否向他們支付賄賂爲條件來破壞N個價值,那麼這意味着我們的模型將要求我們願意支付N-1個價值作爲賄賂來防止攻擊者破壞N個價值。
你可能認爲,通過制定一些有限的例外列表來處理可信的提交銷燬,可以挽救這個模型,但是這個模型有一個根本問題,是任何數量的例外都無法解決的。這個模型是依賴於循環邏輯的。
一個我們無法控制的事實是這樣的。如果我們有共識,認爲一個版本的歷史是有效的,那麼這一定是最有價值的歷史版本。其他每個版本都沒有價值,因爲沒有人會接受它的付款,因爲我們有共識,不接受它的付款。
因此,如果我們試圖將我們的共識機制定義爲遵循最有價值的選擇的機制,這就是一個循環的定義。
任何攻擊者如果能夠可信地承諾強迫一個版本的歷史更有價值,網絡的其他部分就會跟着一起做,並使這個版本的歷史成爲官方版本。
有一個循環的定義打破了邏輯的規則,它使我們無法用理性來理解這個模型。對於比特幣的安全來說,這是一個不合理的模型。既然它是不合理的,你就可以證明這個模型的矛盾之處。你可以證明PoS有效,你可以證明PoS無效,你可以證明1=2。
Futarchy模式 #
futarchy模型與價值最大化模型類似,但有一個關鍵區別。我們不是問哪個版本的歷史現在更有價值,而是有條件地問,如果我們都能同意哪個版本的歷史是有效的歷史,哪個版本的歷史會更有價值?
價值最大化模型可能會忽略一個版本的歷史,因爲它毫無價值。但未來主義模式會接受它,因爲它現在沒有價值並不重要。重要的是在我們接受它之後,它將有多大價值。
期貨模型解決了價值最大化模型中的循環推理問題。
但是,futarchy模式有一個很大的缺點。我們只有在已經有一個現有的共識機制來執行合同的情況下才能建立futarchy合同。
futarchy模型假設我們有可能執行futarchy合約,以便進行必要的測量,知道哪個版本的歷史會更有價值。但是,我們只有在已經有一個共識機制讓我們就futarchy合約的狀態達成一致的情況下,才能強制執行futarchy合約。
futarchy模型是一種擴展現有共識機制的方式,以實現對更多數據的共識,但你不能用它來引導初始共識機制。
區塊鏈安全的Futarchy模型是一個流行的模型,用於更新現有區塊鏈中的規則 http://www.truthcoin.info/blog/fork-futures/ 這種安全模式受到研究區塊鏈預言機(oracle)的人的歡迎,因爲預言機(oracle)是區塊鏈對更多數據的共識的延伸。
這種安全模型是區塊鏈可擴展性戰略的一個常見工具。它是一種擴展一個區塊鏈的共識的方式,以執行側鏈或分片上的規則。它是一種對你沒有親自下載的數據實現安全保證的方式。通常他們使用術語 “欺詐證明 “來描述使用這種安全模型來實現可擴展性目標的策略http://www.truthcoin.info/blog/fraud-proofs/
無鏈模式 #
爲了推出新的區塊鏈,並進行硬分叉,必須存在一些任何區塊鏈外部的共識機制,使我們能夠就一些事實達成一致。
這是解決以太坊中著名的DAO黑客事件的模式。由於錢被鎖了足夠長的時間,網絡有時間考慮情況,並就修復它的硬性更新達成一致。
這種共識機制在空間上是有限的。我們只能同時考慮這麼多問題。這種共識機制在時間上是有限的。我們需要大量的時間來充分考慮一個問題,然後才能回答它。
這就是Amoveo的預言機(oracle)模型。由於預言機(oracle)中的錢被鎖定了足夠長的時間,我們可以做一個硬更新,迫使預言機(oracle)向誠實的方向解決。
桶中的螃蟹模型 #
這種模式對有數學或生物學背景的人更有利。
不可能在一個穩定的共識機制之上再疊加一個穩定的共識機制。一層的穩定程度只能是前一層的不穩定程度。
我將用矛盾證明來說明這一點。想象一下,有兩個不同的穩定的共識機制。A是第一個,B是建立在上面的。想象一下,A和B想做出一個相互矛盾的決定。由於A是穩定的,A會成功。因爲B是穩定的,所以B會成功。但他們不可能都成功,因爲決定是矛盾的。如果乙對國家的某些部分有控制權,那麼甲必然不能控制國家的那部分。如果A對某些部分有控制權,那麼B就必然不能對該部分有控制權。因此,這表明不可能有兩個不同的穩定的共識機制分層在一起。
如果礦工/驗證人無法合作控制部分共識狀態,那麼共識機制只能對部分共識狀態提供安全保障。 在這個模型中,證明比特幣是安全的,就等於證明礦工不能互相信任,不能合作。他們的關係需要是對抗性的。即使礦工們可以進入其他智能合約平臺,在那裏他們可以一起制定任意的合約,但礦工們仍然需要不可能合作。
解釋了:1, 2, 3
如果有一個人實際控制了大部分的權力,那麼桶裏的螃蟹模型就會崩潰。由於一個人總是能夠與自己協調,所以沒有辦法阻止他控制共識。一個實際控制了大部分hashpower的攻擊者可以竊取任何BTC,並改變任何定義比特幣的共識規則。
桶裏的螃蟹模型在PoS區塊鏈社區非常不受歡迎,因爲我們可以用這個模型來證明PoS不能工作 proof_of_stake.md