作者:扎克-赫斯, Zack Hess
https://github.com/zack-bitcoin/amoveo-docs/blob/master/basics/trust_theory.md
安全級別基礎 #
歷史上,信任被看作是一種積極的東西。是將人們聯繫在一起的膠水。在區塊鏈的世界裏,信任是一件壞事。如果你相信某人不會偷你的錢,那麼這意味着他們有可能偷你的錢,所以它不安全。以這種方式,信任是安全的反面。
有一個不同種類的信任的級別,我們需要識別。我們需要找到一些一般的原則來估計每個級別的信任將花費多少錢來解決一個特定的應用。如果我們能找到一些一般的原則來快速知道對於一個特定的應用可以實現的最強的安全級別,那就太好了。
信任(安全)級別 #
- 從最強的安全到最弱的,信任的級別:
- 可證明安全的加密協議。願意花任何數量的錢的攻擊者不能有意義地中斷機制或拿走任何人的錢。
- 哈希算法
- 公共私鑰密碼學 在此瞭解更多關於安全級別1的信息
- https://github.com/zack-bitcoin/amoveo-docs/blob/master/basics/trust_theory_1.1.md
- 任何願意花自己的錢的攻擊者可以破壞別人的B值的機制,其中A>B。
- 與(2)相同,但0 =< A =< B。 - 如果一個區塊鏈機制有這種程度的信任,通常被認爲是一個需要修補的錯誤。這些都是 griefing attacks
- 與(3)相同,但A<0。
所以該攻擊是通過攻擊獲利的。
對於一個協議的信任度,我們記錄了2個數字。第一個數字是在我們可以知道攻擊發生的情況下,攻擊會有多壞,第二個數字是在攻擊與不吉利的隨機性無法區分的情況下,攻擊會有多壞。
- 可證明安全的加密協議。願意花任何數量的錢的攻擊者不能有意義地中斷機制或拿走任何人的錢。
所以第一個數字總是>=第二個數字
所以1.1是完美的安全級別。
2.1意味着有辦法花自己的X金額的錢去摧毀別人的Y金額的錢,但你會被抓住。
4.1意味着錢可以被直接偷走,但我們會知道是誰幹的。
4.4是最糟糕的情況。例如:入侵。他們可以預先運行你的所有交易來搶劫你,而你甚至不會知道,直到你做了足夠多的交易來獲得統計學意義上的數據。
如果你把兩個具有不同信任度的機制結合在一起,你就取第一個數字中較大的一個,和第二個數字中較大的一個。1.1 + 4.1 = 4.1; 2.2 + 3.1 = 3.2; 1.1 + 1.1 = 1.1;
在區塊鏈的背景下,人們開始使用 “加密經濟安全 “或 “無信任 “這樣的詞,但這真正意味着哪些級別的信任?在Amoveo,我們試圖將區塊鏈和通道的每個方面都保持在2.1級。據我所知,我們沒有超過信任級別2.1。
我認爲如果第二位數字應該被稱爲 “未密封的信任級別 “或 “真誠的信任”,因爲 “真誠 “的拉丁語根是 “沒有 “和 “密封”。它們類似於未密封的瓶子,你無法知道是否有人在它身上做了手腳。第一個數字可以是 “密封的信任”,或 “不真誠的信任”。
4.X明顯比其他的差,因爲攻擊者可以通過攻擊獲利。4級的機制將不可避免地被破壞。
每一個低於2.2的安全級別的信任都受到可信的攻擊承諾問題的影響。這是指某個非常富有的人做出可信的承諾來破壞這個機制。如果社區相信它會被摧毀,那麼他們就會放棄這個機制,所以這個富人實際上不需要爲攻擊付出代價。在1.1級,不可能做出摧毀機制的可信承諾,因爲機制不能被摧毀。在2.2級,有可能可信地承諾摧毀該機制,但現有的參與者不會放棄該機制,因爲他們可以在攻擊期間獲得足夠的利潤,他們寧願攻擊發生。
- 使用一個機制的成本隨着信任程度的提高而增加。
- 在1.1級,驗證二進制上的簽名是一個純粹的密碼學算法。這樣做沒有任何成本,它是免費的。
- 在2.1/2.2級,有礦工或其他一些人,我們需要向他們支付費用,以便使用該協議。礦工不能搶劫我們,所以付款只是爲了給你一個好的排位。它不是爲了安全。
- 在3.1/3.2級別,我們仍然在爲一個排隊的位置付費,但我們也在爲一些安全付費。可能會有一些偶然發生的退休攻擊,因爲競爭對手的區塊鏈正在賄賂我們區塊鏈上的人,使其發生。你支付的費用越高,這些攻擊發生的頻率就越低。
- 3.3級與3.2級類似,只是沒有任何信譽系統。因此,支付更高的費用不會使你更安全。
- 在4.1/4.2級,你將你的錢存入一箇中央控制的服務,並希望你支付的費用足以說服他們不要偷你的錢。
在4.4級,你的錢可能被盜,而且你不知道是誰幹的。你無法判斷是系統工作正常而你不走運,還是你被搶了。這是一個100%信任的系統。
更多的信任=更少的安全。更多的信任=更高的費用。因此,作爲機制設計者,我們總是傾向於創建儘可能低的信任水平的機制。
這就是爲什麼我們應該創建一個通用的信任理論,這樣我們就可以快速計算出一個特定應用所需的最低信任度。
這不僅對機制設計者有用,對投資者也是有用的。如果投資者可以計算出一個機制沒有使用可能的最低信任水平,那麼投資者可以知道這個項目將比競爭對手更昂貴,更不安全。
將這些工具應用於現有項目 #
比特幣hivemind和Augur是3.2 oracle 參與者可以在市場上撒謊作弊,但他們損失的錢比他們從市場上賺的錢多。
實例
1.1 #
公鑰密碼學。哈希算法。默克爾證明。
2.1 #
amoveo市場是2.1級安全。這是一個集中式市場,所以如果做市商通過在同一批次發佈多個不同的價格來作弊,那麼我們知道他是唯一能做到的人。而且這對他來說是無利可圖的,因爲在這種情況下,他將失去所有智能合約中的所有資金。
2.2 #
中本聰的共識是2.2。攻擊者可以建立成噸的ASICS並接管網絡,但這將比他們可以破壞的價值更昂貴。建立ASICS的攻擊者可能是匿名的,所以它是2.2,而不是2.1。
3.1 #
只要費用足夠高,比特化就是3.1。託管人可以接受賄賂,幫助偷錢,但他們是唯一能做到這一點的人。所以它不是匿名的。3個用於託管的錢包中有2個是3.1級信任,只要託管代理被支付足夠高的費用。
該費用需要足夠高,以便作爲託管代理的長期預期利潤超過偷竊一些錢的短期潛在利潤。
3.2 #
- 在以下的假設下
- 寄生蟲合同(parasite contracts)不會發生
- P+epsilon攻擊不會發生
那麼Augur/Bitcoin hivemind是3.2 有一隊人持有votecoins,他們有可能讓oracle在結果上撒謊來偷錢,但我們知道哪些賬戶持有這些votecoins,所以我們有可能懲罰他們或停止信任他們。0.2是因爲任何人都可以匿名購買一半的投票幣來使它說謊,但這應該比他們能偷的東西更貴。
3.3 #
電子郵件。任何人都可以匿名給你發信息,而且處理垃圾郵件的成本比發送垃圾郵件的成本更高。
4.1 #
birated,其託管人的費用太低。如果搶奪這一筆交易的預期利潤大於維護託管賬戶信譽的預期利潤,那麼它只有4級安全。但是,由於只有這一個代理可以進行盜竊,所以它不是匿名的。
4.2 #
如果你把bitrated這個服務和它建立在上面的比特幣區塊鏈結合起來考慮,比特幣區塊鏈可以被匿名攻擊到2級,如果費用很低,那麼bitrated服務可以被攻擊到4.1級,所以結合起來,你的安全性是4.2級
4.3 #
如果你把你的錢放到可信的集中式服務器上,在加密的機會遊戲中賭博。那麼這意味着服務器可以偷你的錢,所以服務器的安全級別是4級,但如果他們直接搶劫你,那麼你會知道它發生了,而且是服務器乾的。此外,讓我們想象一下有一些錯誤,讓其他用戶花1美元導致你損失2美元給服務器。所以任何匿名用戶都可以在3級時攻擊你。這種情況將是4.3級的信任。
4.4 #
如果你把你的錢放到一個可信的集中式服務器上,在衍生品的價格上進行賭博,而且交易的順序沒有嚴格執行,所以其他用戶或服務器能夠在你的交易中領先,那麼這就是4.4級安全。你不知道誰在搶劫你,或者它是否正在發生。也許你只是一個不走運的交易者。
安全級別 #
1,2,3,4是離散的信任級別。它們隨着信任量的增加而增加。一個機制的安全級別是-1到無窮大之間的任何數字。它隨着安全量的增加而增加。
信任等級1=安全等級無窮大。
信任等級2 = 安全等級在1和無限之間。
信任等級3=安全等級在0和1之間。
信任等級4=安全等級在-1和0之間。
你這樣計算你的安全級別。如果攻擊者因攻擊而導致的餘額變化是A,而防禦者的損失是B,那麼安全級別就是A/B。
與信任級別相比,安全級別是傳達區塊鏈安全的一種更精確的方式,但它更難計算,所以也許不值得使用。
安全級別1.1 #
https://github.com/zack-bitcoin/amoveo-docs/blob/master/basics/trust_theory_1.1.md
安全級別1.1是目前最強大的一種安全,因此,弄清楚在1.1中可以發生什麼樣的金融合同是很好的 1.1也是最便宜的安全級別。能夠擁有1.1級的應用程序更便宜,會通過壓低價格來超越競爭對手。
1.1級是純粹的加密機制的世界。經濟機制無法達到1.1級,因爲經濟機制假設行爲人是受利益驅動的。
可以在短時間內運行的確定性計算屬於安全級別1.1的例子 1.1級別的機制:比特幣腳本,加密算法,哈希算法,加密簽名算法,無信任硬幣翻轉協議。
不能寫在1.1級的機制例子:貨幣、預言機(oracle)。
安全級別2.2 #
https://github.com/zack-bitcoin/amoveo-docs/blob/master/basics/trust_theory_2.2.md 安全級別2.2是比特幣區塊鏈中使用的安全級別。它不像1.1那樣安全或便宜,但它更容易使用。 安全級別2.2是最高的安全級別,可以使用加密經濟機制作爲目標。它也是可以使用加密經濟機制的最廉價的安全級別。這意味着,如果一個加密經濟機制可以寫到2.2級,那麼2.2級的版本會因爲壓低價格而勝過所有其他版本。
如果Amoveo的預言機(oracle)是有效的,那麼在2.2中就有可能有一個預言機(oracle),這意味着2.2中的機制可以訪問任何公共數據。
這意味着在2.2中我們可以在成對的人之間簽訂合同,這樣每一方得到的錢的數量取決於任意事件的結果的輸出,輸入到一個任意的確定性程序。
Hashtimelocks是2.2中的一個工具,它允許我們將合同連接在一起,因此不同合同的狀態是原子更新的。這意味着任何可以爲成對的人編寫的應用程序也可以爲有兩個以上成員的羣體編寫。
因此,只要有可能將該機制分解成一些圖靈完整的軟件,以及來自預言機(oracle)的事實,就始終有可能使用2.2來編寫任意精確的機制版本。
從認識論上講,我們所能知道的一切,都是我們可以計算的東西和我們可以查詢的東西的組合。人們只對那些結果與我們可以知道的信息有關的金融應用感興趣。
因此:任何人們有興趣使用的金融應用都可以在安全級別2.2下編寫。
推論:由於2.2級既便宜又比其他級別更安全,任何沒有按照安全級別2.2編寫的金融應用程序將不可避免地在2.2級的競爭中失敗。