General¶
存储技术¶
区块链的存储技术,可以从以下角度来理解。
持久化:存啥¶
首先我们说过,区块链是去中心化的分布式账本,换一个角度看,也就是个分布式的 数据库 。那么,既然是数据库,就应该具有数据持久化的能力。
blockchain-based¶
基于区块链的持久化,顾名思义,我们要把区块链结构全部存下来。这样会有大量相同的数据存在不同节点上。
contract-based¶
contract在这里理解为合同较好,意思是大家达成一致意见:存什么内容,存多久时间。
比如,我们所有节点可以一起约定:所有节点都存放区块链地址的hash值,每个节点最多存放1h。
数据保留:真存了吗¶
如何确定数据真的存在节点上?我们需要一些机制。
挑战机制¶
我们向节点发出关于存储内容的加密挑战,节点回答不上来会收到惩罚。
去中心¶
共识机制:谁来存¶
PoW¶
矿工挖矿,不再赘述。
PoS¶
proof of stake,意思是你持有的币越多,就越有记账权。
具体实现依靠持有的币数量和时间,乘积在拿到新区块入链权时清空。
区块结构¶
区块里面有什么呢?区块大小、区块头、交易计数器、交易信息。
区块头¶
区块头结构如下: