使用区块链

时间:2018-04-28 18:34:16

标签: arrays blockchain merkle-tree

我已经构建了一个简单的区块链。我想构建一个数字数组的版本控件。我想记录新数字,删除和数字交换的补充。 什么可以节省空间的方式来存储这些更改?我考虑过创建一个包含数组所有元素的merkle树并存储merkle root来检查版本是否匹配,但是将相同的数据存储到多个块中是多余且低效的。请指导我!

STATE 1: [3,4,5,6]
STATE 2: [3,4,5,6,4]
STATE 3: [4,3,5,6,4]


Block1 HeaderHash: h(h(34)+h(56))
Block2 HeaderHash: h(h(34)+h(56)+h(44))
Block3 HeaderHash: h(h(43)+h(56)+h(44))

P.S。我正在学习区块链的概念并从头开始构建。请不要自己判断项目。

1 个答案:

答案 0 :(得分:0)

对于跟踪更改,您可以简单地为阵列中的每个元素保存单独的更改。在您的示例中,它希望:

YTPlayerView

如果每次状态更新都有很多变化,那么它将不会节省空间。但如果超过一半的阵列保持不变,那么你将受益。

Merkle Tree用于验证从未知或鲜为人知的来源收到的各个数据块(交易)。它用于区块链钱包或洪流客户端。它不用于存储数组。