blockchain - 区块链是否包含 websocket 服务器?
问题描述
我最近在阅读有关区块链的文章,对这项技术非常感兴趣。我有几个关于区块链的问题:
区块链是否使用网络套接字在用户之间传输信息?如果是,那么发送的信息(块)是否总是一个 JSON 对象?
是否所有用户都拥有区块链的完整副本,他们每个人都只看到区块链的部分副本吗?如果是,那么文件可以有多大?
另外,什么决定了交易/秒?我读到比特币大约 7 次交易/秒,需要什么才能使它们更具可扩展性,是编码因素,例如编写更有效的算法(big-O)还是某种硬件限制?
对不起,如果这些问题看起来微不足道,但我是一个试图学习这项技术的新手。任何帮助,将不胜感激。
解决方案
- 不,通常他们使用构建在 TCP 之上的低级协议。
- 用户应该拥有区块链的完整副本以验证交易。比特币的数据库大小:200 GB,以太坊 660 GB。您可以使用没有完整副本的轻量级客户端,但在这种情况下,您不是网络的一部分。
- 在比特币中,块大小有一个限制,1 MB。平均事务大小约为 400 字节,因此平均块包含 2000 个事务。增加块大小限制没有问题,这是在比特币现金网络(32 MB)中完成的。但我们不能将其增加到无限,因为互联网连接速度和交易验证磁盘/CPU 资源不是无限的。
推荐阅读
- reactjs - 如何在第一次渲染和点击时都渲染 useQuery?[ReactJS,graphql]
- python - Tkinter - 如何立即创建小部件?
- java - Java 项目:无法访问资源目录中的属性文件
- java - 我如何验证文本文件中的电子邮件地址(Java)
- python - 如何对目录中的多个文件使用多处理
- ios - 获取 SwiftUI ScrollView 的当前滚动位置
- python - 如何将numpy矩阵边界设置为零?
- sql-server - ssrs-report:如何修复错误过程需要“ntext/nchar/nvarchar”类型的参数“@parameters”
- javascript - 由于缺少括号而导致更改函数抛出错误
- python - 函数内的全局变量引用