光电 · 技术与产业
文章库关于本站

研究资料

区块链与合同管理相关术语如何理解:执行规则、权限与适用边界

摘要

智能合约、状态、预言机、所有权和多签分别描述链上程序的不同能力。理解这些术语,需要区分规则执行、外部事实输入和管理权限,并明确它们在合同流程中的适用条件。

区块链供应链溯源的科技主题配图

智能合约、函数与状态

区块链与合同管理相关术语如何理解,可以先从程序做什么、谁能操作、依据什么信息执行三个问题入手。这里主要讨论以太坊智能合约及相关权限机制。

以太坊开发文档将智能合约解释为部署在特定地址上的代码与数据。函数规定可执行的操作,状态保存程序当前的数据,用户通过交易调用相应功能。部署也是交易,需要支付网络计算费用,即通常所说的 gas 费用。

区块链数字身份的科技主题配图

映射到合同管理场景,函数可以理解为预先定义的流程动作,状态可以用来表达流程进度。但程序能否支持审批、变更或终止,取决于具体代码,不能仅凭“智能合约”这个名称判断。

比特币挖矿散热的科技主题配图

预言机与外部事实

以太坊开发文档还说明,智能合约不能自行取得链外事件信息,预言机用于把链外数据提供给合约。合约之间也可以相互调用,这种能力称为可组合性。

例如,涉及交付确认的流程,需要先明确谁提供交付结果,以及结果如何进入链上。程序可以按照输入执行规则,但输入是否准确仍需单独判断。适合自动执行的条件,应能够被明确表达,并有可用的数据输入。

所有权、角色与管理权限

OpenZeppelin 文档中的 Ownable 表示由指定账户承担管理权限;基于角色的访问控制则把不同操作分配给不同角色。角色持有者与角色管理员是不同概念:能够执行某项操作,不代表能够给别人授予同样权限。

这里的“所有权”是程序权限术语,不能仅据此判断合同业务中的权利归属。若一个流程有提交、复核和管理等分工,可以用角色分别表达权限;是否允许同一账户兼任,需要在权限设计中明确。

多签、权限交接与常见问题

多签要求达到预设数量的有效签名才能执行相关操作,可用于需要共同确认的管理事项。它与角色控制关注点不同:角色决定谁有资格操作,多签决定一次操作需要多少签名确认。

管理员能否直接更换?OpenZeppelin 提供所有权转移机制,其中两步转移要求接收方主动接受。放弃所有权可能使仅限所有者调用的功能无法再使用,因此交接和放弃不能混为一谈。

上链后能否随意改回?链上交互通常不可逆,不能把传统系统中的撤销按钮直接套用到链上。需要纠正业务状态时,是否存在相应操作、由谁授权以及如何保留记录,都应由具体程序规则明确。

← 返回全部文章

延伸阅读 · 相关栏目

光电技术产业观察研究资料资料与核验