分布式分类帐,如何保证绝对“安全”?

分布式分类帐,如何保证绝对“安全”?

想象一下经济学家喜欢的超简化场景。十个人使用硬通货相互买卖各种小工具。A向B出售他的小部件中的一个硬币,C购买两个小部件用于购买三枚硬币,依此类推。当每个人都做了当天的交易时,毫无疑问他们在经济上处于何种状态:他们只能计算他们的硬币。

如果市场以信贷方式运作,情况就会复杂一些。B欠A一枚硬币,C欠B三元,但没有实体货币易手。在这种情况下,任何自私的,充满动力的政党都会记录他们的交易,以便跟踪他们欠他们的东西以及其他人欠他们的东西。但是,除非每个政党都是完全尽职尽责,不可信的一丝不苟,永远不会忘记携带一个或给予软糖的诱惑,否则就会产生分歧。

为了确保一切都公平,该集团需要一个中央分类帐。这样当出现差异时,最终仲裁者可以解决它。但谁控制分类帐?该组织是否举行选举?一场掰手腕比赛?这个位置多久转动一次?两个人应该分担责任吗?也许两个分类账应该同时保留,或者这可能导致比它解决的更多问题。最重要的是,该小组如何保留其选择的任何人从主张分类帐的神圣权利并从群众中提取租金?

理想情况下,每个人都会保留分类帐。换句话说,当涉及到中央分类账时,每个人都会有相同的输入和监督,而不是每个人保持自己的分类账。这是一项艰巨的技术挑战,但幸运的是,分布式分类账(也称为区块链)在很大程度上已经克服了这一挑战。

无信仰和工作证明

分布式账本已经(几乎)解决了长期困扰密码学家的问题:信任。在上述任何场景中,人们都必须依赖彼此的体面。个人,家庭和社区的关系可以按摩欺骗被剥夺权力和不注意力的诱惑,但这些减轻力量会在更大范围内崩溃。

分布式账本通过允许网络中的每一方 - 最着名的是比特币,但还有许多其他方 法来使用他们自己的副本来验证中央分类账的准确性,从而克服了信任问题。除了互联网之外,如果没有互联网,这种网络显然是不可能的,消除对分布式分类账的信任的关键机制就是工作的证明。

工作证明的概念早于比特币。它旨在通过要求非平凡但可管理的工作量来防止恶意使用计算能力,例如电子邮件垃圾邮件和拒绝服务攻击。在2004年,哈尔芬尼将这个想法应用于金钱。他的b-money提案仍然是一份白皮书,但金钱和工作证明的结合成为比特币的重要基础,比特币是一个身份不明的人或者自称为中本聪的人五年后推出的比特币。

如果比特币的分类账像电子表格一样简单,那么控制它的人就可以轻松地回到他们想要的地方,调整一两笔交易,让自己成为百万富翁。或者,他们可以花钱,将其奖励给自己,并再次花钱 - 这是物质世界中不存在的货币的重大问题。

工作证明使得添加新交易变得棘手,改变最近的交易需要一些严重的改变,并且从去年改变交易几乎是不可能的。想象一下,在吉萨大金字塔顶部铺设一个新街区。这并不容易,但与从结构的底层中心拉出一块砖相比,这是无关紧要的:这需要扭转已经完成的所有工作来构建它。

块,哈希和采矿

在某些时候,隐喻无法传达分布式账本中实际发生的事情。在最基本的情况下,这样的分类帐由顺序排列的“块”组成 - 区块链。每个块都是在给定的一段时间内发生的所有事务的记录(注意实际上有些事务已经过去)。在比特币区块链中,每十分钟左右添加一个新块。

分类帐的“分布式”方面对应于网络的“节点”,运行相关程序的计算机以及存储整个区块链的记录。这些并不一定对应于“矿工”,即为了向区块链添加新区块而执行工作的计算机,但实际上存在大量重叠。

采矿是事情开始变得技术化的地方。每个块记录自上次块开采以来发生的事务 - 足够简单。然而,每个块还记录每个先前的事务,通过称为“哈希”的字符串。哈希是通过对一组数据(在本例中为事务数据)进行加密转换而生成的。

 

一组给定的数据将仅生成一个散列,并且由于称为“雪崩效应”的现象,甚至改变原始数据的一个iota将导致其吐出明显不同的散列。哈希也不能用于获取原始数据,只能检查前面的数据集是否与生成哈希的数据匹配。

除了自己的事务数据之外,每个块还包含前一个块的哈希值。试图将欺诈性交易隐藏到一个长期被遗忘的区块中,然后,将抛弃所有后续哈希值,网络的其他参与者将拒绝该区块链的版本。

改变区块链的唯一方法是控制网络的大部分计算能力。具有这种控制的实体可以执行所谓的51%攻击,防止事务被确认并取消在他们控制网络时发生的事务; 换句话说,他们可能会花费两次加密货币,这会像CNN报道某人每天印刷数百万美元假币一样迅速地破坏其价值。

然而,即使发生了51%的攻击,黑客也可能无法撤销或改变过去的交易。原因在于记录这些交易的大量工作,这需要和同样大量的工作来撤销(如上面的金字塔比喻)。对于现代计算机来说,生成哈希是微不足道的,因此比特币网络设置了一个人为的障碍,称为“难度”。

使挖掘变得困难涉及为有效散列设置最大值:最大值越低,所需的工作量越多。例如000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f。在开头的那个10个零的字符串表示非常低的值,但是与块#431233的哈希开头的17个零相比,这很容易产生。

找到有效散列越困难,猜测就越多。当然,给定的一组数据只能生成一个哈希值,这种哈希值极不可能低于目标值。为了不止一次,矿工们在交易数据的末尾添加一个“随机数”,这是一个整数,导致它生成一个完全不同的散列。除了试验和错误之外,没有已知的方法来确定正确的nonce:块#431223的nonce是410871698,这表明成功的矿工不得不采取更多的裂缝。

网络校准难度,以便平均每10分钟找到一个有效的随机数并挖掘新的块。拥有更多的矿工使网络更加健壮,但它也更有可能让某人遇到“黄金票”,因此网络降低了目标并增加了难度。

采矿是一个竞争过程,但它不是一个竞赛,而是一个乐透。任何人都可以点击幸运号码。矿工聚集在一起以增加他们的集体成功机会,因为挖掘一个新的区块带来了交易费以及新创造的比特币的奖励。

矿业整合引发了人们对51%攻击的担忧,但是2014年7月获得比特币网络计算能力的大部分,ghash.io的唯一一个集团,自愿缩小规模以转移怀疑。具有讽刺意味的是,比特币社区仍然偶尔依赖于信任。

对于我们通过实验的十位朋友而言,这不是最简单的解决方案,但它的效果非常好。每个安装比特币客户端(或另一个加密货币的客户端),设置一个快速而肮脏的采矿设备,并开始维护一个单独的公共分类账,每个分类账都有相同的控制权。

在几分钟的小部件交易之后,他们的每台计算机都开始通过nonce运行,以便找到有效的哈希值。当其中一个猜测其成功,它将新的哈希广播到网络,并且每个人都更新他们的区块链。确保没有人篡改先前的交易就像确保两个数字匹配一样简单,这个过程当然是自动化的。

如果有五个朋友要团结起来,他们可能会使网络陷入停顿并对任何新交易产生严重怀疑,但他们无法回头修改交易的历史。要做到这一点,有人需要基本控制整个网络的计算能力;

当然,这会给他们带来复杂的私人资金模拟,但对其他任何人都没有价值。与法定货币一样,加密货币的价值在没有信任的情况下蒸发,这是具有讽刺意味的,因为分布式分类账的存在是为了消除对中央机构的信任。

超越比特币

事实证明,比特币的分布式分类账具有弹性,甚至更受欢迎,该技术已开始激起银行,政府和其他方面的兴趣。银行看到了一种方法来预防昂贵的欺诈行为,并取消阻止和检测它们所需的昂贵审计。各国政府也有类似的想法:洪都拉斯正在努力将其混乱和易受滥用的土地登记处改为区块链。

还有一连串其他潜在的应用程序,因为任何信息,不仅仅是价值交换,都可以用于区块链。电子邮件,结婚证书,选票,遗嘱,你的名字。 “智能合约”承诺通过将自动执行合同编码为区块链来自动化部分业务中的大部分(如果不是全部)。

其中一些热情可能需要缓和:DAO,即通过分布式账本技术运营“分散的自治组织”的第一次尝试,成为其初期的一次壮观的黑客攻击的牺牲品。

分布式账本之间的紧张关系需要分配,公开和无最终仲裁,与银行保持对自己系统的控制的愿望发生冲突。评论家们想知道银行是否花了很多钱来制定最终检查结果将成为传统的私人分类账。

不过,对于区块链福音传道者来说,这项技术会改变一切,这使得你与那些使用内燃机和互联网的人一样,能可见更高处的未来。

本文由来源 Investopedia,由 ming 整理编辑,其版权均为 Investopedia 所有,文章内容系作者个人观点,不代表 链码笔记 对观点赞同或支持。如需转载,请注明文章来源。