分布式记账在区块链。比特币网络中有很多节点,相当于无数台服务器,但所有节点的地位都是平等的。每个节点都有记账权,相互记账不会影响工作,这叫分布式记账。。当然,区块链不仅创造了比特币,还应用于很多行业,使得分布式记账发挥了特殊的作用。
区块链fabric数据以分布式书籍的形式存储。分类账由一系列有序且防篡改的记录组成。该记录包含数据的所有状态变化。账本中的数据项以键-值对的形式存储,账本中的所有键-值对构成账本的状态,成为世界的状态。每个渠道的唯一账簿由所有同业成员共同维护。。每个维护节点都会保留一份所属渠道的账簿,所以是分布式账簿。对账簿的访问需要通过链码来增加、删除、更新和查询账簿的键值对。账簿由区块链和状态数据库两部分组成。
区块链十一组不可更改、有序的区块,记录所有这些事务的日志。一个块包含多个事务数据,不同块中包含的事务数量可以不同。块通过散列链相关:每个块头包含块中所有事务的散列值和前一个块头的散列值。。这样的链式架构可以保证每个块的数据不可更改,每个块之间的顺序关系也不一样。该特征决定了区块链的块只能被添加到链的末端。
区块链分布式共享数据库,区块链国家数据库是记录在帐本中的既定值,它等于当前帐本的交易日志作为指南。链码执行交易时需要读取账簿的当前状态,从状态数据库中可以快速获取剪枝的更新状态。如果没有状态数据库,当一个键值需要是活的。它需要遍历整个区块链来汇总与这个键值相关的事务,效率非常低。因此,读取状态数据库可以被认为是定位和访问键值的一种快速方法。另外,当状态数据库失效时,可以通过遍历账本重新生成。状态数据库。当块被附加了块尾时,如果块中的有效事务修改了键-值对,它将相应地在状态数据库中被更新,这样区块链和状态数据库就可以一直保持一致。区块链的数据库以文件的形式存储在每个节点中。原则上,状态数据库可以是各种键值的数据库。