首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否所有Blockchain数组实现都不正确?

是否所有Blockchain数组实现都不正确?
EN

Stack Overflow用户
提问于 2019-01-08 02:44:33
回答 1查看 189关注 0票数 0

我在网络上找到了很多Blockchain实现,但它们是否是真正的能扩展的Blockchain呢?这里我们可以看到块链是作为数组启动的。

代码语言:javascript
复制
var blockchain = [getGenesisBlock()];

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

代码语言:javascript
复制
constructor() {
        this.chain = [this.createGenesis()];
    }

文章还建议:

代码语言:javascript
复制
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会做什么呢?发条链会就此结束吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-08 03:55:56

  • 可伸缩性问题来自于验证事务和在节点之间达成一致的成本。因此,这里问题不在于访问某个块的成本。
  • 区块链是,而不是数组,。从概念上看,它更像是一个链表。
  • 有无限制的块的数量(有一个硬币的数量,但)。存储这些区块的空间也是不受限制的。

回答这个问题

是的,问题中给出的所有实现都不正确/不足以使块链工作。对于某些实现,您可以参考比特币储存库埃瑟姆氏

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54084583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档