GameCell技术大神首次现身,他把区块链拆了…………

我们向很多人谈及区块链,无论是说者,还是听者,其实理解起来都挺费劲。去中心化、不可篡改、加密等概念,对于不懂技术的人来说,更是特别费劲。思维惯性呢,也经常误导我们,比如互联网+,一开始听到这个词,大家是模糊的,当把互联网和+拆开了之后,思路就开始清晰。同样地,为了便于理解,我们公司的技术大神,把区块链拆开成区块和链,为大家解释区块链到底该如何理解。

区块链的基本三个概念

① 交易(transaction):一次对账本的操作,导致账本状态的一次改变,如添加一条转账记录;

这是在以太坊浏览器(https://etherscan.io)随机截取的一条以太坊交易信息,结合前面的的标签我相信大家应该不难看懂这张截图内容。这是一张比银行转账单都还要更详细的交易信息。从这里面我们可以获取到所有我们想要的信息,包括交易发起人,接收人,交易ETH数额(Token数额),时间,交易状态(成功or失败)等信息。

② 块(block):记录一段时间内发生的所有交易和状态结果,是对当前账本状态的一次共识;

这是一张“区块”的所有详细信息截图,包括时间,交易数,区块hash,上个区块hash(索引),随机数,大小等信息。

在做数据分析时,我们可以通过去所有“区块”中的“交易”的遍历来获取以太坊中的所有交易记录。

注意:已经打包好的“区块”中的信息,是已经在经过矿工打包并确认有效的交易信息,已经打包好的“区块”中的数据是不可篡改的

③ 链(chain):由区块按照发生顺序串联而成,是整个账本状态变化的日志记录。

这是一个区块列表,显示了每个“区块”的基本信息,时间,数量,块高度。需要注意的是,

区块的生成时间是不固定的;

区块高度是按顺序生成的,结合“区块信息”中的“Parent Hash”保留对上级索引

这样按序串联成“链”。

如果把区块链作为一个状态机,则每次交易就是试图改变一次状态,而每次共识生成的区块,就是参与者对于区块中交易导致状态改变的结果进行确认。

在实现上,首先假设存在一个分布式的数据记录账本,这个账本只允许添加、不允许删除。账本底层的基本结构是一个线性的链表,这也是其名字“区块链”的来源。链表由一个个“区块”串联组成(如图2-1所示),后继区块记录前导区块的哈希值(pre hash)。新的数据要加入,必须放到一个新的区块中。而这个块(以及块里的交易)是否合法,可以通过计算哈希值的方式快速检验出来。任意维护节点都可以提议一个新的合法区块,然而必须经过一定的共识机制来对最终选择的区块达成一致。

看完上述的解析,是不是有点清晰了,同时也可能生出了更多的疑问,放心,后续我们还会放出更多的技术类文章。

喜欢记得来一个

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

扫码关注云+社区

领取腾讯云代金券