区块链是否包含 WebSocket 服务器?

6

最近我在阅读关于区块链的信息,对这种技术非常感兴趣。我有一些关于区块链的问题:

  1. 区块链是否使用WebSockets在用户之间传输信息?如果是的话,那么发送的信息(块)是否总是JSON对象?

  2. 所有用户是否都拥有完整的区块链副本,还是他们只看到部分区块链?如果是的话,这个文件会变得多大?

  3. 另外,什么决定了每秒交易数?我读到比特币大约可以处理7笔交易/秒,为了使它们更具扩展性,需要什么,是编写更有效的算法(大O表示法),还是某种硬件限制?

如果这些问题看起来很琐碎,对不起,我是一个新手,试图学习这项技术。任何帮助都将不胜感激。

1个回答

5
  1. 通常它们使用基于TCP协议的低级协议。
  2. 用户应该拥有整个区块链的副本以便验证交易。比特币的数据库大小为200GB,以太坊的数据库大小为660GB。您可以使用轻量级客户端,但在这种情况下,您将不是网络的一部分。
  3. 比特币中有一个区块大小限制,为1MB。平均交易大小约为400字节,因此平均区块包含2000个交易。增加区块大小限制没有问题,比特币现金网络已经做到了(32MB)。但我们不能将其无限增加,因为互联网连接速度和交易验证磁盘/CPU资源不是无限的。

谢谢你的回答-关于第三点。是什么决定了区块大小的限制?我的意思是比特币的1MB区块大小是如何确定的? - pi2018
@pi2018 这是最初的开发人员设置的初始限制,这里没有特定的逻辑,只是最初的估计。 - Zergatul
这并不完全正确:轻量级客户端(例如SPV客户端)是网络的一部分,它们只是缺少“完整的区块链”功能。实际上,每个不是“完整节点”的节点都没有在本地存储整个区块链,但仍然是网络的一部分。 - theDima
1
@theDima 我同意,从技术角度来看,它们是网络的一部分,它们连接到其他节点并请求数据。但是我指的是,从加密货币网络的角度来看,它们对网络毫无用处。它们无法向其他节点提供任何数据,也不会增加网络安全性。 - Zergatul
1
矿工可以随时使用@Ixx。矿工有完全的自由。他们可以决定不在区块中包含任何交易。他们可以只包括满足某些标准的交易,例如每字节费用大于某个值。他们甚至可以包括所有没有费用的交易。最大块大小仅限制了他们可以包含多少交易字节。如果未确认交易池大于限制,则对于矿工来说最有利可图的方式是仅包括具有高费用的交易。这导致结论:更大的块大小=更小的费用和更快的确认时间。 - Zergatul
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接