作者:扎克-赫斯, 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级的竞争中失败。