
分布式账本:先理解多方共享什么
试水区块链应用涉及哪些技术概念,可以从“多方共同维护记录”入手。NIST对区块链的概述强调分布式账本及其可显露篡改、抵抗篡改的特征。判断应用是否适合这类技术,应先明确哪些参与方需要共享记录,以及他们能否接受共同的记录规则。
适用性取决于协作需求。如果信息只由一个主体维护,其他人无需独立核验,采用区块链的必要性就需要进一步论证。共享账本的价值在于让参与方依据一致规则验证记录。
哈希与数字签名:分别解决完整性和授权
哈希把数据映射成摘要,区块通过密码学引用连接前后记录。历史内容发生变化,会影响关联关系,使改动能够被检测。数字签名则用于验证请求的授权,帮助网络判断某项操作是否符合账户控制规则。
这两种机制不能证明输入内容符合现实。例如,一条业务记录即使具有有效签名,也只能说明相应密钥签署了该记录,不能单凭签名确认业务描述真实。
节点与共识:共同确认账本状态
节点运行网络软件、交换信息并按规则验证数据;共识机制帮助网络确定共同接受的记录及顺序。以太坊采用权益证明,验证者参与区块提议与验证,其职责不能与所有节点完全等同。
不同区块链的参与权限和共识设计可能不同。理解应用时,需要区分谁能读取、谁能提交请求、谁能参与确认,不能把某一网络的规则直接套用到其他系统。
账户、交易与状态:区分请求和结果
以太坊中的账户余额、合约数据等属于网络状态。交易可以表达转移ETH、部署合约或调用合约等请求;请求经过验证、执行并被纳入链上记录后,才形成相应结果。
提交请求不等于操作已经成功。应用界面需要区分等待处理、执行成功和执行失败,也应把最终业务结果与用户最初发出的请求对应起来。
智能合约、EVM与费用:理解程序如何执行
智能合约是部署在链上的程序,EVM是以太坊执行这些程序的环境。用户通过交易调用合约,程序依据输入、已有状态和规则执行。以太坊使用Gas计量计算资源,相关费用以ETH支付。
自动执行的前提是规则已被正确写入程序。若业务需要判断现实中的交付或验收情况,还需考虑外部信息如何进入系统;合约自身不能直接保证这些信息真实。
常见问题:公开记录是否等于安全可靠
防篡改不等于保密。公开链上的记录具有可验证性,但敏感数据的可见范围需要单独设计,不能把“写入区块链”当作隐私保护措施。
智能合约也不天然没有漏洞。核对应用设计时,可以围绕谁有权操作、哪些数据可信、失败如何处理、哪些内容需要上链展开检查,让技术概念对应具体业务边界。