
概念范围:云服务与区块链如何组合
区块链云应用可以理解为结合云计算资源与区块链功能的应用。云端承担哪些工作、哪些逻辑交由链上执行,需要按具体架构区分。应用使用了区块链,并不意味着所有组件都以去中心化方式运行。
NIST SP 800-145将云计算概括为通过网络按需获取共享的可配置计算资源,资源能够快速配置和释放。IaaS、PaaS、SaaS分别对应基础设施、平台和软件层面的服务。对区块链应用而言,这些概念帮助说明资源如何交付,以及开发者负责管理哪些部分。

核心组件:合约、网络与前端
以太坊开发者文档将去中心化应用描述为智能合约与前端界面的组合,其后端逻辑运行在去中心化网络上。合约在以太坊虚拟机中执行,前端也可以托管于IPFS等去中心化存储。文档同时指出,此类应用存在维护、性能及中心化依赖方面的限制。

理解这种架构,可以从用户界面、业务规则和执行环境三个层面入手:界面负责交互,合约表达链上规则,网络负责执行和记录。虚拟机提供合约运行环境,但运行环境的隔离不能保证合约自身的业务逻辑没有缺陷。
部署与存储:判断依赖在哪里
分析云与链的结合,关键是明确每个组件的位置。前端由谁提供、业务逻辑在哪里执行、敏感信息由谁保管,都会影响应用的可用性与控制权。即使合约仍可访问,前端服务发生故障也可能妨碍用户使用。
存储方式同样需要单独考察。前端文件采用去中心化存储,只能说明该部分的托管方式;业务数据如何保存、应用是否依赖集中式服务,仍需分别判断。
适用条件:可验证规则与维护需求
当应用需要让参与者检查共同规则及其执行行为时,智能合约具有相关价值;当系统需要按需获取计算、网络和存储资源时,云计算提供了相应的资源交付方式。两者可以组合,但各自解决的问题不同。
设计时需要衡量规则是否稳定、数据是否适合公开,以及能够接受多大的处理等待。链上代码和数据较难修改,意味着测试与维护安排应提前考虑;增加云端资源也不能直接消除区块链网络自身的处理约束。
常见问题:上云、隐私与安全
部署到云端是否就实现了去中心化?不能据此判断。去中心化程度还取决于规则执行、服务入口和关键权限是否集中在少数主体手中。
无需提供真实身份是否意味着数据保密?两者是不同问题。公开链上的活动可能被观察,身份要求与数据可见性应分别分析。
记录难以篡改是否意味着输入内容必然真实?记录完整性不能替代对输入事实的核验。同样,合约能够按代码执行,也不代表代码准确表达了预期规则。