什么是区块链?通常情况下,区块链技术为实体提供了一种机制,用于提交语句、就事实达成共识以及复制记录。这么说可能还是有点深奥,下面我们来逐一探讨这三大功能。提交语句电报:早期即时通讯系统网络中的实体称为节点)需要交换信息。这些信息一般包括诸如「我是Bob」或者「Alice给Bob一个币」之类的语句。为了验证这些语句,节点依靠加密的方法来证明作者是其本人。举个例子,某节点收到了这样的内容:「Alice给Bob 1个币」。这句话只有在Alice是作者时才有效,因为只有Alice可以花Alice的钱。 在区块链网络中,每个语句都带有一个加密签名——这种签名几乎不可能伪造并简单验证因为超级贵),这样节点就可以验证每个语句的作者及其身份。简而言之:区块链能够使实体提交难以伪造且易于验证的语句。就事实达成共识投票是明确表示同意的一种形式区块链网络上的节点是不需要信任的。也就是说,每个节点都能自主思考,且不需要信任或依赖其他任何人的帮助。在理想世界中,一个节点看到的事实就是所有节点看到的事实。可悲的是,我们生活的现实世界却充满了危险和恶意。节点可能会出现故障、断网、被黑客攻击、或是公然作恶等情况。这些问题产生的差异催生了各种版本的「事实」。例如,节点A认为他有10个币,但网络其他节点认为他只有5个。当他试图花10个币支付给节点B时,节点B和其他节点将认为该交易无效并予以否决。然后节点B就会对节点A说:“我从来没有收到你欠我的10个币。”为了确保正常运行,区块链节点需要就某个版本的事实达成共识。区块链网络依赖于共识算法的一系列规则来帮助节点达成一致。有些规则是隐性的,比如比特币的「最长链原则」; 有些是明确的,比如Taraxa的委员会投票制。简而言之:区块链网络上的实体遵循一系列规则来就提交的语句达成共识。复制记录克隆:制作相同的副本区块链网络上的每个节点都存有一份网络当前和历史记录的副本。存储当前记录能够让节点独立验证所有提交的语句 。例如,如果您没有节点A的记录,那就无法验证与节点A相关的任何语句。而存储历史记录则可以帮助引导新节点,使其能够独立验证当前记录是怎么来的。简而言之:每个实体都存有一份网络记录的副本。
有趣的属性区块链展现了各种各样的属性,虽然它们各自并非区块链技术独有,但合起来就造就了区块链的独一无二。不可篡改的属性:由于每个节点都存有一份记录,并且不断就新内容达成共识。因此,除非全网大部分节点同时妥协,否则很难去攻击或更改这些记录。篡改区块链记录难如登天,这一点赋予了其看似不可篡改的特性。有序性:存储的记录按特定顺序排列,这是网络节点达成共识的重要属性。一个不可更改的顺序意味着不能记录存在冲突的语句比如,同一个币被用了两次),这一点对任何诚实严谨的记录系统来说都至关重要。承诺属性:实体通过加密算法签署可验证的语句,而这些语句成为一组无法撤回即不可更改)、按时间顺序排列的承诺。各类协议,比如金融合同,可以在没有交易对手方风险的情况下实现并安全执行。这些属性融合在一起就能够创建出一个无需第三方来确保交易完整性的网络,从而实现直接点对点的去中心化生态系统。