什么是 Programmability?
Programmability 是一种概念,指加密资产可以遵循以代码编写的规则。你可以设置资金在触发条件下移动、拆分、流式支付或自我锁定,无需人为干预。可以把它想成自动支付与“如果...那么...”逻辑结合的价值执行方式。
“Programmability 意味着可以为所欲为。”不完全是。代码在严格的区块链规则下运行,有 gas 限制和硬性检查。如果代码不允许某个操作,链也不会执行。
Programmability 的工作原理
快速示例:假设你想每月一日把房租在室友之间分摊。
- 步骤 1:你发送一笔交易,调用合约上的一个函数。
- 步骤 2:网络按照 智能合约 中写的内容精确执行该函数,不会有私下交易。
- 步骤 3:如果规则通过,余额会更新并触发转账。如果不满足,交易会回滚,仿佛什么都没发生。
- 步骤 4:对于可替代代币,转账遵循 ERC 20 标准,这样每个钱包和应用都知道如何处理。
- 步骤 5:事件会记录该操作,仪表板和机器人可以据此响应,例如发送收据或触发下一步。
这就是流程。代码设定规则,链确保规则得到遵守。
为什么 Programmability 重要
那又怎样?因为能移动价值的代码是一种真正可用的强大能力。
- 好处:自动化支付、贷款、交易、退款或版税,让这些在你休息时继续运行。
- 视角:它为 DeFi、游戏和创作者工具打开了可能,但漏洞可能导致 漏洞利用,因此谨慎胜过炒作。
- 实用性:你会在 dApp、DAO、NFT 发布以及能够定时或批量处理交易的日常钱包中看到它。
遵循经实践检验的标准和模版。对于 NFT 常用的是 ERC 721。然后只添加真正需要的自定义部分。
Programmability 的关键特征
其运作要点:
- 确定性:相同输入在每个节点上产生相同输出。
- 组合性:合约可以调用其他合约,如乐高积木一般,快速构建更大系统。
- 无许可:任何人都可以编写并部署代码,其他人可以接入。
- 透明性:逻辑和交易是公开的,所以可以核验,而不是凭猜测。
- 原子性:所有步骤要么一起成功,要么全部失败,从而避免半完成状态。
变体
同一概念,不同实现:
- 完整式:通用语言可以表达几乎任何逻辑。
- 脚本式:指令受限,使逻辑更简单、更易理解。
- 链上:逻辑在链上运行,以获得最高可验证性。
- 链下:机器人和守护者由链外观察者触发链上动作。
已部署的代码和历史交易保存在一个 不可变 账本上。如果需要升级,请在设计阶段预先考虑,通过代理合约和时间锁来实现。
示例
一个音乐 dApp 根据收听次数,每分钟向多个钱包流式分发版税,所有操作只需一次合约调用。
趣闻
Vitalik 曾说,某次游戏削弱促使他想像一种遵循规则且公司无法更改的钱,这启发了以太坊。可编程货币由补丁说明催生,妙不可言。
总结
Programmability 让你告诉资金该怎么做,然后它会每次照做。简单的想法,引发深远影响。
