我在网络上找到了很多Blockchain实现,但它们是否是真正的能扩展的Blockchain呢?这里我们可以看到块链是作为数组启动的。
var blockchain = [getGenesisBlock()];这里我们可以看到相同的实现:
constructor() {
this.chain = [this.createGenesis()];
}这文章还建议:
constructor(genesisNode) {
this.chain = [this.createGenesisBlock()];然而,这些实现中的任何一个都可以扩展吗?
从技术上讲,根据maerics的说法
根据ECMA-262第5版规范,数组的最大长度由ToUint32抽象操作造成的无符号32位整数绑定,因此最长的数组可能有232-1 = 4,294,967,295 =42.9亿元素。
大小不是问题。Ethereum已经使用了“只”7百万区块,只使用比特币“500 K”,因此有足够的空间供未来使用。我想真正的问题是,读取数组的最后一个元素需要多长时间,这是否具有可伸缩性?在块链中,“块”结构总是需要读取最后一个块的散列,因此我假设,随着它的扩展,它需要的时间越来越长。
如果他们的区块链阵列没有更多的空间存储块,那么比特币和/或Ethereum会做什么呢?发条链会就此结束吗?
https://stackoverflow.com/questions/54084583
复制相似问题