作为区块链“去中心化”、“去信任”机制形成的关键之一,区块存储信息中包含如下几项关键要素。
1)Merkle 根:由“区块主体”中所有数据交互记录进行逐级两两哈希计算得出,如果数据交互记录发生任意变化,则该区块的 Merkle 根值也将随之改变;每个区块的 Merkle 根值包含在“区块头”存储信息中。
2)本区块哈希值:综合本“区块头”所有信息,并通过哈希算法映射得出的值。同样的,如果区块头存储的信息发生任意变化,该哈希值同样将完全变化。
3)前区块哈希值:每个区块的哈希值都会被“继承”至下一个区块,由此环环相扣,单个区块的信息改变将会使得后续所有区块的信息内容都发生变化,产生类似于“蝴蝶效应”的影响。通过上述情况我们可以发现,一个区块的“头哈希值”包含了其自身以及所有前序区块所存储信息的证明。
参考观研天下发布《2018年中国区块链行业分析报告-市场运营态势与发展前景研究》
在这里我们多处提到了“哈希算法”。哈希算法(Hash 算法)一般指“安全散列算法”(Secure Hash Algorithm,缩写为 SHA),是一类起到固定作用算法的集合,其作用是能够将任意长度的二进制值映射为一个固定长度的二进制值(后者数据长度通常较短),作为结果得出的二进制值被称为哈希值。在区块内部,所有的区块特征信息和数据交互记录都以二进制的形式存储,运用哈希算法相当于为所有这些信息拍摄了一个“缩影”。在这里我们之所以称之为 “缩影”,是因为哈希值对所映射的信息内容是完全敏感的,任何细微的改变都会导致对应哈希值的显著变化,这一点由哈希算法的高度散列性特点保证。另外值得一提的是,哈希值“缩影”无法被还原成输入信息,也即在区块链中不用担心因哈希值公示而导致的信息泄露,这也是哈希算法的特点之一。在区块链机制中,哈希算法主要起到“简化确认”的作用。上文中我们提到,在区块链中进行数据交互时会进行区块信息的核证,指的就是对区块的哈希值 ID 进行比对。哈希算法作用机制的示意图如图所示。如果某个节点的区块信息被修改,则其对应的哈希值映射 ID 必然产生显著变化,从而与其他节点产生不同,以此进行失效判定。因此,除非能够同时控制系统中超过 51%的节点或算力,否则在单个节点上对区块数据进行修改是无效的。比特币当前采用的哈希算法为 SHA256,随着未来密码学的不断衍进,该算法也存在被升级替代的可能性。
区块链的另一大机制特色就是“智能合约”。智能合约并不是新生事物,举个例子,“信用卡自动还款服务”就属于一种智能合约:在设定的日期,当还款条件被满足时(如:账户余额大于等于信用卡还款额的情况下),系统会自动完成这笔交易。因此我们可以看到智能合约并非区块链的专利。我们认为,只要一种合约符合“数字化描述”、“数字化签约”、“数字化监测”、“数字化触发执行”的特点,就都可以称作智能合约。
但为什么现在人们一提到智能合约就会不由自主地打上“区块链”的标签呢?原因就是区块链解决了智能合约中的一个重要问题:合约信任。在计算机世界中,合约记录在代码里,被黑客攻击和被恶意篡改的风险很大,除非是像银行或是支付宝这样既受大家信任又具备抵御入侵能力的主体,其他情况下一旦发生纠纷而合约又保存在对方的服务器中,作为用户的权益很难得到保障。而在区块链系统中,由于其信息不可篡改和信息对称,如果合约的一方单独篡改条款,则会立即被系统机制检测到并追溯其改动行为,最终会按照初始合约保障执行,从而防止了可能发生的风险。
在这样一个“去信任化”的环境下,智能合约才具备了广泛适用的可能性。区块链智能合约的运行模式如图所示。
【版权提示】观研报告网倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本网站的内容。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至kf@chinabaogao.com,我们将及时沟通与处理。