Py学习  »  区块链

是否所有区块链阵列实现都不正确?

Sophie259 • 5 年前 • 883 次点击  

我在网络上发现了许多区块链实现,但它们是真正可以扩展的区块链吗? Here 我们可以看到区块链是作为一个数组启动的。

var blockchain = [getGenesisBlock()];

Here 我们可以看到相同的实现:

constructor() {
        this.chain = [this.createGenesis()];
    }

This 文章还建议:

constructor(genesisNode) {
     this.chain = [this.createGenesisBlock()];

然而,这些实现中是否有任何一个可以扩展?

技术上,根据 maerics ,

根据ECMA-262第5版,阵列的最大长度 由于 touint32抽象操作,因此最长的数组 232-1=4294967295=42.9亿元素。

尺寸不是问题。以太坊使用“仅” 7 millions blocks ,比特币“仅” 500k 因此,未来有足够的空间。我想的真正问题是,读取数组的最后一个元素需要多长时间,这是否可以扩展? 在区块链中,“块”结构总是需要读取最后一个块的散列值,因此我假设随着它的扩展,需要更长的时间才能完成。

如果比特币和/或以太坊的区块链阵列没有更多空间存储区块,那么比特币和/或以太坊会做什么?区块链会就此结束吗?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/30548
 
883 次点击  
文章 [ 1 ]  |  最新文章 5 年前
molamk
Reply   •   1 楼
molamk    5 年前
  • 这个 可扩展性 问题来自 确认交易并达成共识的成本 在节点之间。所以访问某个块的成本并不是问题所在。
  • 链链是 非数组 . 从概念上来说,它更像是 链表
  • 无限制 块的数量(但硬币的数量有一个)。存储这些块的空间也不受限制。

回答这个问题

是的,问题中给出的所有实现都不正确/不足以让区块链工作。对于一些实现,您可以参考 Bitcoin's repository Ethereum's