(二)区块链的认识,理解“区块”和“链”

区块链的基本三个概念:

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

        

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

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

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

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

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

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

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

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

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

这样按序串联成“链”。

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

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值