以太币,ETH介绍 以太坊( 五 )


消息机制的一个重要后果是以太坊的“头等公民”财产-合约与外部账户拥有同样权利 , 包括发送消息和创建其它合约的权利 。 这使得合约可以同时充当多个不同的角色 , 例如 , 用户可以使去中心化组织(一个合约)的一个成员成为一个中介账户(另一个合约) , 为一个偏执的使用定制的基于量子证明的兰波特签名(第三个合约)的个人和一个自身使用由五个私钥保证安全的账户(第四个合约)的共同签名实体提供居间服务 。 以太坊平台的强大之处在于去中心化的组织和代理合约不需要关心合约的每一参与方是什么类型的账户 。
应用
一般来讲 , 以太坊之上有三种应用 。 第一类是金融应用 , 为用户提供更强大的用他们的钱管理和参与合约的方法 。 包括子货币 , 金融衍生品 , 对冲合约 , 储蓄钱包 , 遗嘱 , 甚至一些种类的全面的雇佣合约 。 第二类是半金融应用 , 这里有钱的存在但也有很重的非金钱的方面 , 一个完美的例子是为解决计算问题而设的自我强制悬赏 。 最后 , 还有在线投票和去中心化治理这样的完全的非金融应用 。

令牌系统
链上令牌系统有很多应用 , 从代表如美元或黄金等资产的子货币到公司股票 , 单独的令牌代表智能资产 , 安全的不可伪造的优惠券 , 甚至与传统价值完全没有联系的用来进行积分奖励的令牌系统 。 在以太坊中实施令牌系统容易得让人吃惊 。 关键的一点是理解 , 所有的货币或者令牌系统 , 从根本上来说是一个带有如下操作的数据库:从A中减去X单位并把X单位加到B上 , 前提条件是(1)A在交易之前有至少X单位以及(2)交易被A批准 。 实施一个令牌系统就是把这样一个逻辑实施到一个合约中去 。
用Serpent语言实施一个令牌系统的基本代码如下:


这从本质上来说是本文将要进一步描述的“银行系统”状态转变功能的一个最小化实施 。 需要增加一些额外的代码以提供在初始和其它一些边缘情况下分发货币的功能 , 理想情况下会增加一个函数让其它合约来查询一个地址的余额 。 就足够了 。 理论上 , 基于以太坊的充当子货币的令牌系统可能包括一个基于比特币的链上元币所缺乏的重要功能:直接用这种货币支付交易费的能力 。 实现这种能力的方法是在合约里维护一个以太币账户以用来为发送者支付交易费 , 通过收集被用来充当交易费用的内部货币并把它们在一个不断运行的拍卖中拍卖掉 , 合约不断为该以太币账户注资 。 这样用户需要用以太币“激活”他们的账户 , 但一旦账户中有以太币它将会被重复使用因为每次合约都会为其充值 。
金融衍生品和价值稳定的货币
金融衍生品是“智能合约”的最普遍的应用 , 也是最易于用代码实现的之一 。 实现金融合约的主要挑战是它们中的大部分需要参照一个外部的价格发布器;例如 , 一个需求非常大的应用是一个用来对冲以太币(或其它密码学货币)相对美元价格波动的智能合约 , 但该合约需要知道以太币相对美元的价格 。 最简单的方法是通过由某特定机构(例如纳斯达克)维护的“数据提供“合约进行 , 该合约的设计使得该机构能够根据需要更新合约 , 并提供一个接口使得其它合约能够通过发送一个消息给该合约以获取包含价格信息的回复 。
当这些关键要素都齐备 , 对冲合约看起来会是下面的样子:
等待A输入1000以太币 。 .
等待B 输入1000以太币 。
通过查询数据提供合约 , 将1000以太币的美元价值 , 例如 , x美元 , 记录至存储器 。
30天后 , 允许A或B“重新激活“合约以发送价值x美元的以太币(重新查询数据提供合约 , 以获取新价格并计算)给A并将剩余的以太币发送给B 。
这样的合约在密码学商务中有非同寻常的潜力 。 密码学货币经常被诟病的一个问题就是其价格的波动性;虽然大量的用户和商家可能需要密码学资产所带来的安全和便利 , 可他们不太会乐意面对一天中资产跌去23%价值的情形 。 直到现在 , 最为常见的推荐方案是发行者背书资产;思想是发行者创建一种子货币 , 对此种子货币他们有权发行和赎回 , 给予(线下)提供给他们一个单位特定相关资产(例如黄金 , 美元)的人一个单位子货币 。 发行者承诺当任何人送还一个单位密码学资产时 。 发还一个单位的相关资产 。 这种机制能够使任何非密码学资产被“升级“为密码学资产 , 如果发行者值得信任的话 。

推荐阅读