
理解区块链能够解决的问题
NIST《区块链技术概述》将区块链描述为分布式实现、具有篡改可察觉和抗篡改特性的数字账本。在网络正常运行的条件下,已发布的交易记录不能被随意改动。这种能力主要服务于共享记录和核验历史。
以太坊智能合约介绍说明,合约是链上运行的程序,可按照代码执行规则;它自身不能直接读取现实世界事件,需要预言机等机制提供链外数据。判断应用是否适合区块链,需要同时考虑账本价值与程序边界。

条件一:确有多方共享和核验记录的需要
当多个参与方需要围绕同一组记录协作,并核对记录内容与先后顺序时,共享账本才有明确用途。需要先回答:哪些主体提交记录,哪些主体验证记录,各方为何需要共同维护历史?

如果记录仅供单一组织内部使用,且各方已经接受统一管理者,仅凭“需要存储数据”不足以说明采用区块链的必要性。
条件二:业务重视历史留痕,能够明确纠错方式
适合的业务应当重视历史记录的稳定性,例如需要追溯某项记录曾由谁提交、经历了哪些状态变化。对于录入错误,应预先设计追加更正记录等处理方式,避免把随时覆盖旧数据作为流程前提。
抗篡改具有运行条件,不能理解为任何情况下都绝对不可改变;它也不能证明最初提交的信息符合现实。
条件三:自动执行规则清楚,外部输入可核验
如果场景需要智能合约,触发条件、权限和结果应能够清楚表达为程序规则。大量依赖主观判断或临时协商的事项,难以仅靠代码完成处理。
涉及收货、检测结果等现实事件时,还需明确由谁提供数据、如何核验以及出错后如何处理。预言机承担信息传递作用,输入信息的真实性仍需相应机制保障。
条件四:参与方能够约定共同运行规则
共享账本需要明确记录提交、验证和规则变更的权限。采用智能合约时,还应厘清程序执行权限与异常处理责任。技术可以落实已定义的规则,但参与方之间的职责分配仍需事先确定。
常见问题:上链是否意味着可信和自动化
上链能否保证内容真实?不能。保留记录和证明现实事实是不同问题,错误信息也可能被持续保存。
使用区块链是否必须使用智能合约?不必。共享记录与自动执行是不同层次的需求,应分别判断。
合约能否自动识别现实事件?不能直接识别。它需要接收可用输入,再按代码处理,因此外部数据的可靠性会影响执行结果。