
适用范围与基本概念
区块链专题知识的适用条件有哪些,可以从共享账本是否必要、记录是否需要核验、规则能否程序化几个方面理解。这里讨论通用技术条件,以及以太坊智能合约的相关原理,不涉及具体项目的效果判断。
NIST《区块链技术概述》将区块链描述为以分布式方式实现、能够显现篡改并抵抗篡改的数字账本。在网络正常运行的条件下,已发布的交易记录具有难以更改的特征。这一表述包含运行前提,不能理解为任何情况下都绝对不可改变。
条件一:存在共同维护记录的需求
当多个参与方需要围绕同一组记录协作时,共享账本的概念具有解释价值。判断适用性时,需要明确哪些人提交记录、哪些人验证记录,以及大家依据什么规则接受结果。仅有“保存数据”的需求,还不足以说明必须采用区块链。
抗篡改能力主要面向记录发布后的历史完整性。它不能单独证明录入内容符合现实。例如,一条业务记录即使长期保持原样,其最初内容仍可能存在错误,因此输入核验与账本核验需要分别考虑。
条件二:业务规则能够明确表达
以太坊开发文档将智能合约解释为部署在链上地址中的代码与状态,用户通过交易调用其功能。合约按程序规则执行;涉及链外信息时,需要预言机等机制把数据提供给合约。
据此,适合程序执行的流程,需要有清楚的输入、条件和状态变化。如果关键条件依赖模糊判断或临时协商,就需要明确哪些部分交由代码处理、哪些部分仍由参与方判断。自动执行的可靠性也取决于规则是否正确表达。
条件三:能够说明外部数据和权限来源
如果合约判断依赖现实事件,就需要解释数据由谁提供、如何核验,以及错误数据如何处理。数据进入链上,并不会自动获得真实性保证。
参与方还需要理解提交记录与执行操作的权限。以太坊智能合约的执行受代码规则约束,因此分析应用时,应具体检查谁能调用相关功能、哪些条件会阻止操作,不能仅凭“自动化”判断责任已被消除。
常见问题
区块链能保证所有数据真实吗?不能。历史记录的完整性与原始信息的真实性是不同问题,后者仍需要输入端的验证机制。
智能合约能自行知道现实事件吗?不能直接获取链外事实。使用外部数据时,数据提供机制本身也是需要评估的环节。
了解区块链是否等于应当采用它?不等于。这些知识用于辨认共享记录与自动执行的需求;是否适用,还要看具体流程是否具备上述条件。