
代币能表达什么
制作区块链代币的应用边界是什么,可以从两个层面理解:代币记录什么,以及谁能修改这些记录。以下讨论以以太坊代币接口与智能合约访问控制为范围,适用于理解游戏物品、治理凭证等应用的技术条件。
以太坊开发文档介绍了三类常见接口:ERC-20面向可互换代币,ERC-721面向非同质化代币,ERC-1155可在同一合约中管理多种代币类型。它们为钱包和应用提供共同的交互约定。
标准兼容的边界
选择标准首先要看业务对象是否可互换。例如,同类单位需要统一计量,与每件物品需要独立识别,是不同的建模需求。标准让应用能够按约定查询和操作代币,但具体用途仍需业务规则定义。
符合接口标准并不意味着任何应用都会自动接纳该代币。接口兼容解决的是交互方式,游戏如何使用物品、治理如何计算和执行表决,还需要相应的应用逻辑。
权限决定可操作范围
OpenZeppelin访问控制文档区分了单一所有者管理和按角色授权。铸造等操作可以绑定特定权限,角色管理员可以管理授权;最小权限原则要求各角色只拥有完成职责所需的能力。
因此,代币的应用边界也包含管理边界:谁可以增加数量,谁可以执行已实现的限制功能,谁又能够重新分配这些权限。把操作分给不同角色,可以表达不同职责;若同一账户仍掌握全部角色,实际控制权依然集中。
适用条件如何判断
适用场景应当能够清楚说明代币单位的含义、持有者可参与的操作,以及管理者能够改变的内容。需要独立识别的对象,应采用能够表达这种区别的模型;需要分工管理的系统,则应明确各角色及其授权关系。
标准与访问控制需要共同配合。仅选择一种代币接口,无法补齐业务流程;仅设置管理员,也不能说明其权限是否符合应用承诺。
常见问题
制作代币就等于完成治理系统吗?代币可以作为治理中的计量或资格凭证,但提案、表决和执行规则仍需另行实现,不能由代币名称或接口推导出来。
放弃所有者权限就代表没有管理权了吗?只能据此判断受该所有者权限保护的操作将无法再调用。若系统还存在角色授权等其他控制机制,需要分别检查,不能将放弃所有权等同于消除全部管理能力。