区块链在软件架构及应用设计中的应用与评估
1. 区块链在软件架构中的功能
1.1 计算通信
在软件架构里,不同组件能够借助区块链来协调计算。具体操作方式有两种:一是向智能合约提交交易以调用其功能;二是利用预言机对依赖外部状态的交易进行签名。
- 智能合约的运作 :应用的控制流通常从外部账户发起,然后在合约账户间转移。智能合约如同存在于区块链系统及其网络执行环境中的代理。通过向区块链网络提交包含合约代码的交易(依据区块链平台的不同,代码可以是源代码或编译后的代码),合约得以实例化。智能合约定义了一组函数,当在交易中被调用时,合约会使用提供的参数值运行函数代码。此外,合约还能创建新合约,也可自行终止。合约终止后便无法响应交易,但合约代码会永久存储在创建该合约的交易中。
- 预言机的作用 :区块链系统的执行环境是封闭的,不能通过轮询外部服务器来导入外部状态。预言机的作用就是评估外部世界的条件,这些条件无法仅从区块链内部信息推导得出。预言机有助于组件与外部状态进行协调,它是基于区块链的系统中的一个组件。部分区块链平台直接支持预言机,而在其他平台中,预言机是通过普通交易与区块链交互的独立外部服务。当交易验证依赖某些外部状态时,平台支持的预言机可以验证并签署交易,这可能会使交易进度受阻,直至预言机完成操作。作为外部服务的预言机通过添加交易将数据注入区块链,其他智能合约随后可利用这些数据验证交易。这样虽能减少上述延迟,但会增加外部状态变化与在区块链中记录这些变化的时间间隔。预言机通常是自动化的外部系统,但有时也代表人类的决策,如仲裁者。使用自动化外部服务预言机时,它们可以定期更新值。无论采用何种方式,预言机都是受信
超级会员免费看
订阅专栏 解锁全文
1362

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



