区块链的快速指南
区块链是一个分布式系统,通过密码学和共识实现安全,不依赖信任,这是一个令人惊叹的创新。
有一种技术趋势可能被证明比云计算更具有构造性和持久性:区块链。虽然云计算挑战了我们构建软件的方式并改变了我们经营业务的方式,但区块链技术可能会改变我们对交易本身的思考和处理方式。除了作为加密货币的基础,区块链还可以从根本上影响我们提出和记录协议的方式。
区块链和它所支持的加密货币的革命性被大肆吹捧,当然也会被夸大。然而,当考虑到当前的技术发展如何影响未来时,很难找到另一个更有可能影响未来事物形态的发展。区块链可能被证明是互联网以来最重要的创新。
那么,什么是区块链,为什么它有可能改变历史?
共识的真相
构建分布式软件系统很困难。这种困难的核心是数据:保护它、使它可用、存储它。虽然大部分困难源于人类试图欺骗系统,但在克服故障和保持数据一致性方面也存在固有的客观困难(例如,见CAP定理)。任何时候数据的发送或检索(无论是关于你的午餐的帖子还是你的银行账户余额)都会受到这些危险的影响。
对于一些重要的东西,比如你的银行账户,使数据安全和准确的传统方法是通过一个可信的代理,比如银行。到目前为止,分布式的银行业务是将传统的做法嫁接到互联网上。银行被信任来保存和检索我们的金融信息。
这种安排的局限性在引发加密货币浪潮的比特币白皮书中得到了说明。(作为加密货币的基础性文件,中本聪的这篇论文总结了现有技术,并提出了第一个真实世界的公共区块链网络)。中本聪对 "基于信任的模式的固有弱点 "的批评与 "不可逆的交易是不可能的 "这一事实挂钩。换个角度说。银行被要求处于调解纠纷的位置,这导致信任扩散和成本攀升。
事实上,对于一份描述全面替代传统银行业务的白皮书,这种批评是相当温和的。我们中的大多数人可以很容易地找到更多的问题:首先是意外的费用和与拜占庭式的公司结构互动。此外,这些结构为被剥夺权利的参与者提供了参与金融系统的重大障碍。
比特币论文提出了一个 "基于加密证明而非信任的电子支付系统"。
加密签名
这样一个网络的核心机制是用于签署交易的加密对。电子货币(或更普遍的数字状态)的所有者用他们的公钥向买家签署货币(或状态),并用他们的私钥验证自己。每笔交易都带有前一笔交易的哈希值和所有者的公钥。你可以在图1中看到这个结构。
图1.区块链签名

双重消费和区块链
如果网络中的所有参与者都诚信经营,那么交易链就已经是安全的了(也就是说,由于加密签名的存在,系统将不会被外部直接篡改)。弱点是,货币所有者可以通过多次花费货币来欺骗系统。买方没有办法知道他们购买的货币是否已经被花费。
要解决这个问题而不退回到一个中央机构是不容易的。它要求网络中的所有参与者都能知道所有的交易和它们的发生顺序。如果我们能做到这一点,那么节点就可以只接受交易的第一个实例,而将其他的交易作为欺诈性交易抛弃。实现这一目标的机制是区块链。
其核心思想是,交易被收集成一个集合(一个 "区块"),节点努力实现一个难以计算的值(一个nonce,当哈希产生一个带有一定数量前导零的值)。每个区块都会参考前一个区块的哈希值。这种设置意味着交易被接受为经过计算验证的区块,而每一个新的区块都会产生一个更长的这种工作链。
51%的攻击
为了愚弄这个系统,人们需要重做链上的所有工作,随着链的增长,这变得越来越不可能。
试图超越合法区块链的名称是51%攻击。其想法是,攻击者将获得参与系统的一半以上的计算能力,并利用它来验证虚假交易。随着区块链的增长,这变得更加困难,即使实现了,它提供的能力也很有限。
除此以外。存储优化
关于这个节点树的一个令人匪夷所思的事实是,整个链(代表目前接近1万亿美元的市值)被存储在每个参与的计算机系统上。有聪明的设计在起作用,使之可行。这方面的一个核心机制是使用默克尔树,让系统只存储链上的根和相关叶子。
共识真理
当每个节点努力验证其交易块时,其他节点也会做同样的事情。如果一个给定的节点收到来自网络的竞争区块,它将该区块保存到一个竞争的链上,并继续在自己的链上工作。如果该节点在竞争链上收到足够多的新区块,它就会放弃自己的工作,接受竞争链为真理。如果当前节点在竞争链被确认之前就完成了它的工作,那么当前节点就会向网络广播它的努力。其他节点在验证该主张方面的行为是相同的。
通过这种方式,网络不可避免地接受了最多节点的工作,从某种意义上说,是对真理的共识版本进行投票,并由哈希值所要求的计算工作来支持。
采矿和铸币
采矿活动被广泛宣传,具有地缘政治意义。但它是什么呢?凭借我们迄今为止对区块链的理解,我们可以清楚地描述它。
当一个节点成功地验证了它的区块(通过获得良好的哈希值并向网络证明它是链上第一个有效的新区块),它就会收到一个它拥有的新币。这就是挖矿。该币是对系统参与采矿过程的一种激励。
没有信任的安全
区块链的主要成就在于保证了一个在每个人拥有的节点上运行的网络。这似乎有悖常理,但该系统的工作原理不仅是对密码学的假设,而且是对人类行为的假设。一个由(让我们坦率地说)不值得信任的人类控制的广泛分布的系统应该安全地运行,这一点令人惊叹。
一旦这个系统的功能被比特币所证明,新的数字硬币的爆炸性增长是显著的。一个值得注意的币是以太币,它是由以太坊公司创造的,该公司提议在类似比特币的区块链上设置一个图灵完整的计算机。还有很多其他的币。
在货币的具体案例中,传统的银行业务肯定会在很大程度上继续下去,而金融系统中根深蒂固的利益集团将努力在加密货币系统中获得优势。他们已经开始行动,推出自己的硬币。
也许区块链系统最改变历史的承诺是,人类可能已经找到了一种方法,为远程连接的参与者达成共识。这种能力具有深远的影响,很难详细说明,但很容易预测其广泛性。
当然也有挑战。其一,加密货币市场的极端波动性使其很难预测加密货币的价值(稳定币就是因为这个原因被推出的)。另一方面,对区块链进行编程是困难的。最后,金融和其他行业中根深蒂固的利益集团对区块链有抵触。
从整体上看,区块链技术是一个惊人的创新和迷人的空间,因为它在我们眼前迅速发展。