区块链应用设计与模式解析
1. 区块链系统设计中的质量属性权衡
在设计区块链应用时,提升系统某一质量属性的性能可能会损害其他质量属性。以下是一些具体示例:
- 数据加密 :在将数据存储到区块链之前进行加密,可提高数据的保密性,但会降低性能,还可能影响透明度或独立审计性。
- 数据哈希存储 :仅在链上存储数据的哈希值,将内容存储在链下,能提高保密性和性能,但会在一定程度上削弱区块链提供分布式信任的独特优势,可能导致单点故障,降低系统的可用性和可靠性。
- 私有区块链选择 :使用私有区块链而非公共区块链,可对处理节点和交易的准入进行更严格的控制,但会增加参与门槛,部分降低使用区块链的优势。
- 确认块等待 :对于采用中本聪共识的区块链(如比特币或以太坊),等待更多的确认块可以提高对交易完整性和持久性的信心,但会增加延迟,影响服务可用性。
2. 去中心化设计
区块链适用于不需要或不接受单一可信权威,且可信权威可以分散或部分分散的场景。在系统部署和运营方面,有多种选择,从集中式垄断到各方竞争的中央方,再到由联盟共同提供的服务,直至公共对等系统中的完全开放服务。部分组件或功能可以是去中心化的,而其他部分则可以是集中式的。
3. 链上与链下的选择
3.1 数据存储
区块链通常与更广泛系统中的其他组件结合使用。用户界面、加密密钥管理、物联网集成以及与其他外部系统的通信等功能本质上是链下的。出于可扩展性(大数据)、保密性(私有数据)或处
超级会员免费看
订阅专栏 解锁全文
1986

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



