知识大爆炸:白话区块链三要素

我们结合以太坊浏览器给大家介绍过“区块”和“链”的概念,今天我们再从另外三个方面整体来理解一下区块链。

区块链通常被定义为去中心化的分布式记账系统,该系统中的节点无需互相信任,通过统一的共识机制共同维护一份账本。

用计算机语言概括:区块链是一种分布式、去中心化的计算与存储架构。

分布式

既然是分布式的数据存储,那么在各个节点之间就存在一个数据同步的问题,以谁的数据为准,谁的数据可信赖?对这个问题,我们可以换个角度理解—既然各自对彼此不信任,那就“无需信任”。“无需信任”技术上的解决方法就是首先假设互相不信任,然后每个节点都能存有一份完整的数据记录,且每条新的交易都需要重新验证。当一个节点重新加入网络并需要同步数据的时候,就可以从其他节点同步数据,并重新计算验证,这样就解决了分布式存储的可信任数据问题。为了让数据验证能够高效可靠,区块链系统必须有一个好的数据结构来搭配。

(上图是比特币区块链的数据结构图)

系统中的交易被打包成区块(block),在系统的运行过程中,区块链每次只能生成一个块,且每个块中都包含了用于验证其有效链接于上一个区块后的数字凭证。区块链就是这样由“一个个区块按照密码学算法连接在一起”的区块所组成。这样的结构设计能够很容易验证数据是否被篡改、以及追踪历史和保证数据安全。

去中心化

那区块链的去中心化又是怎么一回事呢?系统的各个节点组成了一个庞大的P2P网络,每个节点均分别执行、验证和记录相同的交易,并会在本地存储完成的区块链数据。同时不存在一个中心化机构干预执行顺序和结果。这样便实现了“去中心化”的目的。

共识机制

共识机制,即一致性协议。常见的如比特币和以太坊使用PoW机制,题外话,近期以太坊打算切换成PoS机制,EOS则采用DPoS机制。今天先给PoW做个简单画像。PoW(Proof Of Work,工作量证明),简单理解就是一份证明,用来确认你做过一定量的工作,其实就是大家常说的挖矿。通过数学运算,计算出一个满足规则的随机数,即获得本次记账权,随后发出本轮需要记录的数据,全网其它节点验证后一起存储。为了激励大家能高效正确的记账,系统对记账节点有相应的奖赏,这样一来大家就会积极参与并贡献计算和存储资源来争夺记账权。同时其他节点对该节点的区块结果进行验证,通过后则接受这个区块。由于可以互相验证,也保证了数据的可靠性。PoW工作量证明是目前最流行的算法,应用于大多数加密货币的共识机制上,每个版本有各自的区别。

为保证共识机制取得广泛认可,它的设计既要安全,以保证全网中各个节点所存储的数据能达成共识;也要有有效的激励机制,来激励矿工以维持节点的运行。

最后用一个示例简单总结一下。A要转账给B,他需要先创建一条交易,并确定付款人、收款人、转账金额信息。A确认后把“交易”发布到区块链网络中。这条交易信息会被节点验证并打包到当前“区块”后并向其他节点广播,通过其他节点共识达成全网数据一致。当A能在区块链中查询到这笔交易的时候,B则可以认为自己已经收到了A的转账。

另外特别说明一点,加密货币只是区块链技术的一个很小的应用,而非区块链技术真正的价值体现。由区块链技术传递出的一些普世价值观,如:公平、公正和有价交换,或许才是所有区块链人应该追求的方向。

关注我,你的眼睛会怀孕

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181219G11RFX00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券