区块链可扩展性与去中心化应用构建
1. 引言
区块链,广义上可理解为去中心化账本,能让应用在无需信任的点对点基础设施上运行。若单个节点在未掌控网络阈值的情况下无法影响系统执行,那么该系统就是去中心化的。去中心化架构不仅能抵御简单的故障,还能防范恶意攻击,这使得在线服务无需依赖可信第三方就能运作,与以往用户数据由单一组织完全掌控的架构形成鲜明对比。
然而,区块链协议虽前景光明,但实际存在明显不足。例如,比特币每秒处理交易不足 10 笔,以太坊的 gas 限制也阻碍了计算密集型应用在其链上的执行。这些局限源于去中心化需要大量复制计算和数据,从而导致高计算、通信和存储开销,影响了吞吐量和延迟。
为解决这些问题,可从四个方面对区块链进行扩展:
- 加快共识协议本身的速度。
- 采用分片技术,并行运行多个共识协议。
- 利用二层解决方案,如支付通道。
- 探索联邦区块链,它可视为二层和分片解决方案的结合。我们的讨论主要围绕安全性(确保区块链系统的一致性和完整性)和可用性(保证能随时检索和检查区块链的当前和过去状态)展开。
2. 去中心化账本抽象
每个去中心化架构本质上都提供了一个只可追加记录的账本抽象,其语义超越了单纯的数据存储和程序执行。这些语义对于在去中心化环境中构建高完整性的应用至关重要,在修改现有或创建新的去中心化账本协议之前,理解这些语义十分必要。
我们将数据库 D 定义为包含交易历史 HD 和对象集合 OD,每个对象都有一个全序的对象版本集合。每个交易是一组应用于特定对象的操作,如读取、写入或追加。对象的版本历史初始值为 ⊥,表示该对象尚未创建。
交易之间
超级会员免费看
订阅专栏 解锁全文
2111

被折叠的 条评论
为什么被折叠?



