比特币是所有区块链的信任锚

比特币有许多属性可以提供实用性(因而也就是价值),例如无信任,无权限,透明度和不变性。

当你将比特币从货币和支付系统的视角扩展到安全历史分类账的视角时,很明显这些属性相互结合可以实现强大的应用程序。

由于“区块链但不只是比特币”的声音继续扩散,我们可以看到这是因为许多现有的商业和金融用例并不需要信任和无权限。传统的金融机构已经拥有半信任的许可关系,这些关系已经建立了数十年,其目标是通过新技术重建这些关系,使协调更加高效和稳健。像比特币这样的公共分类账对金融机构来说是个问题,因为交易验证是由一群潜在的未知方进行的,而金融机构通常在法律上要求审查通过它们的每笔交易。

一些比特币的属性很难全面描述。

虽然没有许可(任何人都可以使用系统而不需要许可或担心被审查)和透明度(任何人都可以审核分类帐)都很简单,但是信任和不变性都比较复杂。

比特币的拥护者经常将无信任提炼为“你不必信任任何人”,但这是一个过于简化的观点。

诸如比特币之类的共识系统分配权力来决定系统如何在大量人员(开发人员,矿工,商人,用户等)中运行。合理分散的系统将使得很难制定任何对此无益的变更。绝大多数参与者。但是在系统的根源上,仍然存在信任,你必须相信系统中的大部分权力都属于具有相同道德感和理性的用户。

不变性也是一个复杂的属性来定义。

比特币的拥护者经常将其简化为“没有人有能力扭转区块链的历史”,尽管细微差别的观点与涉及无信任的观点类似。

让我们深入研究影响不变性的因素。

不变性证明

在计算安全性方面,比特币是最强大的无权限区块链,因为它拥有最多的资源用于通过称为工作量证明的过程来保护它(PoW。)

虽然PoW评论家会指出算法的极端“低效率”,但效率低下是整个问题。PoW使得攻击比特币协议的共识机制变得极其昂贵,这使得它的历史高度可信,并且实际上是不可变的。

不幸的是,定量比较不同的共识算法以便对它们进行排名并找到“最佳”算法是非常困难的。

尽管如此,多年来,一些声誉卓着的人已经做出了勇敢的努力。

Andrew Poelstra在出版物中为PoW辩护“动态成员多方签名”,AKA分发了一致性算法,任何人都可以参与其中。

Poelstra将DMMS算法定义为具有三个组件:

  • 成本函数
  • 签名功能
  • 验证功能

Poelstra继续争辩说,最安全(和公平)的DMMS是没有更好的签名算法而不是简单地重复执行签名功能的DMMS。在比特币的情况下,成本函数被定义为“哈希函数调用的数量”,这是能量消耗(稀缺资源)的直接结果,是被保护系统外部的成本。

股权证明(PoS)是使用加密签名来表明所有者在系统中持有既得利益并且因此理论上在过去的某个时刻“支付了成本”以获得代币。

Poelstra表示,PoS的成本函数存在问题。

“因为比特币的DMMS是计算上的,因此在热力学上非常昂贵,所以提出了寻求经济和环境更有效的替代方案。一种流行的替代方案,即股权证明,经常被提议作为廉价分配共识的机制。“

这主要是时间问题:区块链没有时间感,因此如果你看到一个看似有效的历史区块链,你无法确定它不仅仅是众多区块链中的一个。这是由攻击者生成的。这是因为攻击者自己重新创建一个完整的PoS链相对便宜,他们所需要的只是在区块链历史中任何一点都有效的私钥。

这提出了一个安全漏洞。

结果是加入网络的新节点不能仅信任呈现给它的任何有效链,因为可能存在无数有效链。相反,节点必须与其对等方进行检查,以确保它与它们位于同一链上,从而打开了Sybil攻击的漏洞。这与比特币的安全模型形成对比,在这种模式中,新节点只需要连接到一个诚实的同行,因为具有最多累积工作量证明的链显然是合法链。

Bitfury还发表了对PoW与PoS的深入分析,指出天真的PoS遭受“无关紧要”的问题——如果一个staker意识到多个区块链分叉,那么理性的做法是在每个分支上挖掘,因为这样做不会花费太多。回想一下,PoW矿工花费电力,这是一种“外部”的网络资源。

另一方面,PoS矿工使用“内部”资源,即他们的账户余额,并且花费更少的“外部”资源。这使得PoS系统在许多加密货币爱好者眼中具有内在的不值得信任。攻击者可以尝试分割区块链,即创建比当前区块链更长的区块链,花费很少的“真实”资源,他甚至可以得到其他矿工的帮助,因为他们也没有花费任何“真实”资源。

通过分叉,攻击者可以使某些事务无效并执行双重花费。

攻击可以大致分为两类:短程和远程。在短程攻击中,最新的块被替换,在远程攻击者更深入,试图替换网络的历史,可能早在创世块。

“纯粹的股权证明方法构成了在PoW系统中无法重建的重大安全威胁。这些问题是PoS算法所固有的,因为PoS共识并未固定在物理世界中。“

几年前,以太坊创造者Vitalik Buterin解释了为什么他喜欢PoS,并提出了对PoS的一些修改,这些修改会抑制短程和长程链重写攻击。

他认为,除了新节点加入系统之外,这些保护对每个人都足够好,他们需要从可信实体(可能是社交网络中的某个人)获得区块链检查点。从他的观点来看,这是可以接受的,因为共识算法只是使现有的人类共识过程自动化,这是基于社交网络。

凭借以太坊提出的未来PoS算法的Casper,Buterin认为PoW和PoS都不能提供完美的“结算终结性”(不变性),但Casper提供“经济终极性”。

“我们不能保证’X永远不会被还原’,但我们可以 保证稍微弱一点的说法’要么X永远不会被还原,要么大批验证者将自愿销毁数百万美元的自有资金。’”

有趣的是,Buterin说:

“导致加密货币受欢迎的主要意识形态之一正是这样一个事实,即集中化倾向于僵化为保留永久权力的贵族。”

在另一篇文章中,Buterin写道 :

“所有’纯粹的’PoS系统最终都是永久性的贵族,其中成因块分配的成员总是拥有最终的发言权。无论发生什么事情发生在1000万个街区之外,创世区块成员总是可以聚集在一起并发起一个具有备用交易历史的备用分叉,然后让分叉接管。“

Daniel Larimer 回顾了Casper,他说:

“任何没有足够股份的人都无法获利。此外,利润最高的人的利润率最高。这种经济安排的最终结果是参与卡斯帕只会为一小部分大鳄带来利润,可能只有十几只。“

这当然听起来像是Buterin多次提到的“贵族问题”。虽然可以对比特币提出类似的论点,但我之前曾写过为什么比特币的采矿集中化可能是一个短期现象。

Paul Sztorc提供了一个独特的视角,他认为PoW实际上比PoS便宜。根据Sztorc的说法,PoS的所有版本都是简单的PoW版本——总有一些工作可以用来增加一个人的收入。因此,除非共识算法 完全独立于所有可能的人类活动,否则它将不可避免地成为PoW的一种形式。

Sztorc与委托的证明证明相同:

“DPoS是一种人民政权,人们使用(但是,既没有花费{‘民主’},也没有花费{‘资本主义’}他们的钱来选举100名参议员,他们按顺序签署封锁,从而保护了近乎P2P的网络。如果学会选谁投票,那么,即使没有贿赂,选民也总会受到“基于工作”的影响。“

在无权限的共识系统中,需要验证算法来引入稀缺性。

PoW植根于物理学,与开采金,银,铁等物质资源的过程十分相似。人们可以争辩说,许多这样的自然资源的稀缺性受到获取它们的困难的制约。

因此,自然资源是工作的证明; 它是一种被人类认可为数千年的宝贵机制。

PoS到达时死了吗?可能不是,因为许多智能开发人员一直致力于推进这一概念——对于某些用途来说它可能“足够好”。

当比特币核心开发人员Gregory Maxwell被问及他对PoS的看法时,他不会说它永远无法工作,但他确实说过“很明显你没有得到与比特币相同的[安全模型],但目前尚不清楚你得到的东西是否真的有用“。

不可动摇的代价

无权和许可的区块链具有非常不同的安全模型。但是,许可的区块链往往具有少于一百个验证器的联合,而流行的无权区块链具有更多的数量级。从验证器攻击向量,无权限的区块链具有更高的安全性,因为它需要更多的资源来破坏或压倒足够数量的验证器。

  • 在撰写本文时,购买足够的新哈希电源以拥有50%的比特币网络(1,487,398TH/S)将花费大约114,415台Antminer S9(13TH/S)单元售价2,500美元,或硬件成本2.86亿美元和1.4KW114,415$0.08 KW/H,或每小时12,815美元的电费。
  • 要购买50%的以太坊网络哈希值(3,700GH/S),你需要142,307 AMD Radeon R9 390(26MH/S),300美元或4200万美元的硬件成本,以及0.3KW142,3070.08KW/H,或者每小时3,415美元的电费。
  • 要购买50%的莱特币网络哈希值,必要的资源将是(1,362GH/S)45,400 Zeusminer Thunder X3 30Mh/s,250美元,或硬件成本1130万美元,以及(1KW45,400$0.08 KW/H)或每小时3,632美元的电费。

这是一个天真的模型,因为它可能甚至不可能完成许多ASIC和GPU单元购买。

此模型中还包含许多其他成本,例如托管基础架构,冷却和人工管理成本。为简单起见,我们假设这些成本与管理中的哈希单元数量相似。电费也可能有所不同,但会按比例改变每项结果。

从数字中可以清楚地看出,比起共识算法的资源攻击,比特币甚至比下一个最受欢迎的加密货币更安全。但是,这并不意味着比特币是完全不可改变的。

虽然计算攻击的成本除了世界上最富有的实体之外的所有实体都不会考虑它,但在评估区块链的不变性时,还必须考虑人类的共识层。

不变性和社会共识

区块链的不变性不仅仅是针对其共识算法进行攻击所需的资源。还有政治和哲学的组成部分。

例如,请参阅最近的DAO漏洞,该漏洞驱使以太坊社区执行硬分叉,以防止攻击者潜逃所有以太网的重要部分。

由于他们对不变性和可替代性的看法,比特币开发者可能永远不会提出这一点,但是Buterin认为共识作为一种社会机制意味着以太坊将从不同的原则发展而来。因此, 如果社区希望同意为共同利益改变分类帐的状态,那么更多的以太坊开发人员会发现它是可以接受的。

许多人声称,在协议层分配以太坊以应对应用层的攻击正在创造一个可怕的先例,这将永远损害以太坊对不变性的承诺。

我认为这种说法存在缺陷有几个原因:

  • 每个区块链都基于某种形式的社会共识。也就是说,人类必须首先决定在机器执行之前运行什么协议。因此,如果有空间共识,人类总是可以决定改变该协议。
  • 分布式共识协议可以出于任何原因分叉,它可以响应于协议层的问题,响应协议上方或下方的层的问题,或者响应于完全在系统外部的问题。
  • 公众分配共识的世界植根于加密无政府状态,没有任何机构必须遵守先例。每种情况都将被独特地判断,并且很可能由完全不同的人类组成,这取决于当时参与系统的人。过去的表现并不预示未来的结果。
  • 如果你想变得迂腐,区块链分叉并不是一群通过武力偷走别人的人。相反,当大部分用户群决定他们没有发现区块链的当前状态符合系统的最佳利益时,就会出现这种情况,因此他们会自动将该区块链留给具有更理想状态的区块链。

为了应对过去的缺陷,比特币本身已经分道扬:

  • 在比特币0.1.0中实现了硬分叉,以便将“最佳链”逻辑从使用最长链到具有最累积工作量证明的链变为现实。
  • 2010年8月15日,当有人利用价值溢出错误并创造了1840亿BTC时,实施了软叉(以及5小时连锁重组)。
  • 机器共识失败导致2013年3月无意中的分叉,并且很快就采用了社交共识,以便将区块链重新组织回到原始的链式分支上。

比特币,NXT,vericoin和以太坊都发现自己面临着大规模盗窃的相同困境,每个社区都有不同的反应。经历过许多重大盗窃事件后,比特币从未考虑过分叉以防盗窃。

虽然在其中许多事件之后其汇率下降,但它总是恢复。

2014年7月,在MintPal交易所的黑客中,将近30%的价值约200万美元的vericoins 被盗。

结果,Vericoin开发人员实施了一个硬分叉,将被盗的硬币移回MintPal的控制。

之后汇率表现不佳。

2014年10月,BTer被黑客入侵,损失了5000万NXT,价值约175万美元;5%的货币供应量。

开发人员和社区选择不执行硬分叉。之后汇率也表现不佳。

2016年6月17日,DAO的智能合约被剥削,耗资近4亿欧元,价值数千万美元;在接下来的几天里,汇率被削减了一半。

7月20日 执行了一个硬分叉,将资金返还给原来的所有者;随后几天汇率随后上涨了15%。

历史表明,紧急硬分叉如何影响用户在加密货币中的信念(和价值)并没有明确的答案。

我怀疑紧急情况只是揭示了给定区块链背后的人类共识的稳健性。如果人类是一个有凝聚力的群体,他们可以分叉或不分叉并保持共识。否则,他们可能会有争议(注意:“有争议的”的定义是值得商榷的)并最终损害机器的共识。

马克安德森曾预言“自由主义者将开启比特币”。他说,由于最初的误解,很多人都持有比特币的隐私权。我认为安德森的预测可能会成真,但出于不同的原因。

Cypherpunks 将继续改善比特币的隐私;这将使自由主义者感兴趣。然而,随着比特币变得更加主流,围绕比特币的社会共识可能会发生变化。

如果发生这种情况,我们可能不会看到自由主义者开启比特币,就像比特币转向自由主义者一样。正是出于这个原因,我认为我们向比特币用户传授加密货币背后的历史,以便在其中灌输Cypherpunk值,这一点非常重要。

不变性的好处

虽然比特币仍主要被视为数字货币,但它本质上是一个带有特殊属性的带时间戳的日志。

因此,它可以用于远远超过支付和存储价值的东西。几年前 我提出了 一些替代用途,这个名单还在继续增长。

Factom的首席科学家Brian Deery 写了一篇关于时间戳的优秀历史,他认为在安全数字价值存在之前,安全的带时间戳的记录是不可行的。

德里写道:

“需要有一种方法来吸引人们使用暴力哈希链。这样做的一个好方法就是给他们钱。“

虽然一些纯粹主义者可能声称比特币只是一种货币而不应该用于非货币目的,但系统本身是不可知的。从协议的角度来看,只要用户附加竞争性费用以“购买”有限的块空间以进行确认,就不存在 垃圾邮件交易。

时间戳服务受欢迎程度的提升可以在 http://opreturn.org/上看到。

你可以通过用户友好的服务轻松利用此时间戳功能,例如Eternity Wall,Virtual Notary,Proof of Existence和BlockNotary。

超越文档简单时间戳的概念,更复杂的服务固定在比特币的区块链上,以便从其不变性中受益。锚定本质上意味着服务在其系统中获取每条有意义的数据,并计算单个哈希,该哈希可用于在给定所有原始数据的情况下验证系统的状态。

然后将该哈希以周期性间隔存储在比特币的区块链中。哈希可以以任何数量的不同方式生成,但一种常见的方法是构建所有数据的Merkle树,然后将Merkle根存储为锚。

值得注意的是,锚定不会自动使服务的数据像比特币的数据一样不可变,但它确实提供了强有力的保证,任何篡改都是明显的。这些服务的推荐最佳实践是为用户提供易于使用的工具,以根据系统状态验证锚点。

为什么这个这么重要?我认为Factom首席执行官Paul Snow 最好说 :

“不可改变的分类账之一是他们倾向于诚实,因为今天很难知道明天我想说什么谎言。如果谎言必须在分类账中,我不知道明天会发生什么谎言,那么基本上我的撒谎能力就会大大降低。“

一些固定在比特币上的服务:

  • BitPay的ChainDb
  • Blockstack
  • Counterparty
  • Factom
  • Openchain
  • Tierion的免费API for chainpoint
  • 麻省理工学院媒体实验室的数字证书项目
  • Keybase

Keybase是有效使用比特币锚定的一个很好的例子——因为它允许你将Web上的众多身份与你的PGP密钥相关联,然后将其与你的Keybase密钥相关联。然后,该服务构建所有Keybase密钥的Merkle树,并每六个小时将根存储在比特币区块链中。你可以在这里看到交易。

Blockstack(以前称Onename)最初使用namecoin的区块链作为锚点,但转而使用比特币,因为他们认为在安全性方面没有其他区块链甚至接近比特币。

Sidechains还支持比特币以促进全新的区块链,这些区块链的价值与比特币密码相关。

你甚至可以在理论上创建侧链的侧链,基本上构建了加密货币钉的“树”。

Rootstock 将通过 混合双向挂钩 将比特币作为侧链锚定,以便为比特币带来智能合约。Liquid 是一种比特币侧链,可以在比特币交易所之间实现更快,更私密的结算。

约翰·莱特用非常“比特币最大限度”的推文总结了上述项目:

对于许多机构来说,构建自己的区块链更有意义,而不是将低级开发交给比特币开发人员。比特币结算层的不变性对这些机构有价值,但它们可能在比特币的其他属性中找不到什么价值。感谢锚定,他们可以同时拥有!

首先,炒作是围绕比特币,现在围绕区块链技术,但最终公共和私人链条之间的区别将变得模糊。希望提高声誉的私人连锁企业将跨越Merkelize相邻连锁店,间接创造全球国家转型的绝对秩序。

不变性就是不变性

分布式共识系统的强度取决于其锚点。

主锚必须是一致性算法,该算法将处理将系统保持在一起的大部分工作。基于PoW的算法是优选的,因为它通过消耗外部资源将区块链锚定到外部世界。分布式共识系统的辅助锚点是其社区和治理结构。如果机器共识因任何原因失败(或即将失败,或需要升级),这将成为系统回归的基础。

不可能精确测量不可变性。

当我们将区块链描述为“不可变”时,我们广泛宣称保证内容永远不会被更改。

但是,从机器共识的角度来看,这是一个永远不会达到100%的概率保证。从社会的角度来看,我们只能通过其历史来衡量区块链的不变性,并根据其社区所持有的价值对其未来进行有根据的猜测。

通过强大锚定的区块链作为基础,可以开发出许多连锁的生态系统。

因此,比特币可以成为“统治所有人的一条链”,同时可以促进多种多样的区块链。如果你需要有关服务数据完整性的有力证据,请不要选择次优——锚定到最值得信赖的链。

======================================================================

如果你想学习区块链并在Blockchain Technologies建立职业生涯,那么请查看我们分享的一些以太坊、比特币、EOS、Fabric等区块链相关的交互式在线编程实战教程:

  • java以太坊开发教程,主要是针对java和android程序员进行区块链以太坊开发的web3j详解。
  • python以太坊,主要是针对python工程师使用web3.py进行区块链以太坊开发的详解。
  • php以太坊,主要是介绍使用php进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和交易等内容。
  • 以太坊入门教程,主要介绍智能合约与dapp应用开发,适合入门。
  • 以太坊开发进阶教程,主要是介绍使用node.js、mongodb、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
  • ERC721以太坊通证实战,课程以一个数字艺术品创作与分享DApp的实战开发为主线,深入讲解以太坊非同质化通证的概念、标准与开发方案。内容包含ERC-721标准的自主实现,讲解OpenZeppelin合约代码库二次开发,实战项目采用Truffle,IPFS,实现了通证以及去中心化的通证交易所。
  • C#以太坊,主要讲解如何使用C#开发基于.Net的以太坊应用,包括账户管理、状态与交易、智能合约开发与交互、过滤器和交易等。
  • java比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Java代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Java工程师不可多得的比特币开发学习课程。
  • php比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Php代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Php工程师不可多得的比特币开发学习课程。
  • c#比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在C#代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是C#工程师不可多得的比特币开发学习课程。
  • EOS入门教程,本课程帮助你快速入门EOS区块链去中心化应用的开发,内容涵盖EOS工具链、账户与钱包、发行代币、智能合约开发与部署、使用代码与智能合约交互等核心知识点,最后综合运用各知识点完成一个便签DApp的开发。
  • 深入浅出玩转EOS钱包开发,本课程以手机EOS钱包的完整开发过程为主线,深入学习EOS区块链应用开发,课程内容即涵盖账户、计算资源、智能合约、动作与交易等EOS区块链的核心概念,同时也讲解如何使用eosjs和eosjs-ecc开发包访问EOS区块链,以及如何在React前端应用中集成对EOS区块链的支持。课程内容深入浅出,非常适合前端工程师深入学习EOS区块链应用开发。
  • Hyperledger Fabric 区块链开发详解,本课程面向初学者,内容即包含Hyperledger Fabric的身份证书与MSP服务、权限策略、信道配置与启动、链码通信接口等核心概念,也包含Fabric网络设计、nodejs链码与应用开发的操作实践,是Nodejs工程师学习Fabric区块链开发的最佳选择。
  • Hyperledger Fabric java 区块链开发详解,课程面向初学者,内容即包含Hyperledger Fabric的身份证书与MSP服务、权限策略、信道配置与启动、链码通信接口等核心概念,也包含Fabric网络设计、java链码与应用开发的操作实践,是java工程师学习Fabric区块链开发的最佳选择。
  • tendermint区块链开发详解,本课程适合希望使用tendermint进行区块链开发的工程师,课程内容即包括tendermint应用开发模型中的核心概念,例如ABCI接口、默克尔树、多版本状态库等,也包括代币发行等丰富的实操代码,是go语言工程师快速入门区块链开发的最佳选择。

汇智网原创翻译,转载请标明出处。这里是比特币是所有区块链的信任锚