9大核心结构,吃透稳定币GUSD技术白皮书(中文版)

2018-09-17 9大核心结构,吃透稳定币GUSD技术白皮书(中文版)已关闭评论

最近稳定币的人气飙升超乎人们的想象,尤其是 Winklevoss 兄弟创办的美国 Gemini 交易所发行的 GUSD 更是震动了金融和科技两个圈子,哈希1024 社区(主站地址:https://hash1024.org在第一时间组织人力翻译了 GUSD 的英文白皮书原文,并研读了对应的智能合约代码,旨在快速、全面的将信息传递到感兴趣的朋友手中。全文翻译如下:

摘要

Gemini dollar 是一个拥有如下特征的加密通证:

1. 由纽约的一家信托公司发行;

2. 和美元 1:1 严格锚定;

3. 在以太坊网络[1]上遵循ERC20 代币标准构建而成。

Gemini dollar 是一种稳定价值币,结合了美元的信誉和价值稳定特性。具备加密数字货币的技术优势并受美国监管部门的监督。作为一个符合 ERC20 的代币,Gemini dollar 可以在以太坊网络上进行转账。

Gemini dollar 在从Gemini 平台提现时创建,而在存入Gemini 平台时被赎回或者“销毁”。

1.导论

加密数字货币最近人气飙升,引起了很多投资者的兴趣。尽管加密数字货币可能承担着和互联网技术本身一样深远愿景,但是因为剧烈的价格波动,阻碍了它们作为交易媒介和价值尺度的工具去使用(货币的三大职能中的两个)。潜在的解决办法是创造一种价值稳定的货币(通常称作”稳定币“),在这个方案中,发行者向客户分配一定量的加密数字货币,以换取相应数量比如美元的法币,汇率固定为 1:1。由于美元是非常理想的交易媒介,并且是全世界都接受的交易单位,因此它是稳定币的理想锚定。

已经有一些与法币锚定的稳定币方案被提出,但是它们或者缺乏监督,或不够透明、缺少测试验证[3]。因此人们仍然会怀疑它们的偿付能力,并对其中的系统性风险表示担忧[4]。

我们需要一种人们可以信赖的稳定币,我们在本文提出Gemini dollar,这是一种被监管的稳定币,将美元的信誉与价格稳定性和加密数字货币的技术优势与美国监管机构的监督相结合。

2.信任

如何建立一种可行的稳定币是一个信任问题,也是一个计算机科学问题。比特币系统依托的是密码学证明而不是依托信任,而与法币锚定的稳定币由于依赖与中心化发行者,因而同时需要密码学证明以及信任。

在依赖(或部分依赖)信任的系统中,理想的结果是需要被监督。关于稳定币的讨论,我们认为发行人必须获得牌照许可,并接受监管的监督。因此,透明和检查验证成为系统的必要条件,确保其完整性,并调动市场信心。我们提出 Gemini Trust Company,LLC(Gemini),一家纽约信托公司,作为 Gemini dollar 的发行人。Gemini dollar 在纽约州金融服务部的直接监督和监管下运营,并受纽约州银行法和其他适用的美国法律法规的约束。Gemini 必须拥有必要的许可牌照来以合法的发行 Gemini dollar。

3. 偿付能力证明

稳定币的一种理想情况是所发行的通证与用于交换它们的美元之间的融合。已发行和流通的通证数量可以在区块链上进行查看,但是,验证稳定币对应的美元余额以证明偿付能力证明却需要受信任方进行审查。为保险起见,我们建议 Gemini董事会审计委员会聘请独立注册会计师事务所根据美国注册会计师协会制定的证明标准定期审查和证明美元余额。

4. 创建,赎回和转账

一个简单而优雅的创建和赎回机制对于提高系统的可用性,以鼓励更多人使用是十分必要的。我们通过允许 Gemini 客户在 Gemini 平台上创建和兑换 Gemini dollar 来实现这一目标。Gemini dollar 是在从 Gemini 平台提现时创建的。双子Gemini 的客户拿美元以 1:1 的汇率兑换 Gemini dollar,客户发起从 Gemini 账户提现 Gemini dollar 到他们指定的任何以太坊地,。当客户取出 Gemini dollar 时,从他们 Gemini 账户的美元账户中扣除相应的金额。

Gemini dollar 在存入双子座 Gemini交易平台时被赎回或“销毁”。 Gemini 客户可以通过将Gemini dollar 存入 Gemini 账户,并以1:1的汇率兑换美元。 Gemini dollar 的金额在存款时记入客户的客户Gemini 账户的美元余额。

Gemini dollar 可以在以太坊网络上进行转账。

5. 合约规范

Gemini dollar 的规范要求网络必须具备去中心化应用开发(包括智能合约)的的能力,这些应用可以根据开发者设置的某些特定条件来进行价值的存储和转移。

以太坊网络符合这一标准,并拥有通证的技术标准,即’ERC20’标准[4],该标准已经在全球范围内被广泛采用。因此,已经存在大量兼容 ERC20 令牌标准的软件和服务,并为终端用户提供访问和服务(参考Tether,最初建立在Omni Layer上,这是一种建立在比特币区块链之上的协议[5])。按照另外一种情况,如果Gemini dollar 作为原生的通证构建在自己的区块链上,则需要一段时间才能出现类似的、充满活力的第三方开发者和软件生态系统。因此,我们在以太坊上建立了 ERC20 标准的 Gemini dollar。这样Gemini dollar 可以在以太坊网络上传输并存储在任何以太坊地址中。

6. 合约分工

作为受监管的发行者,我们需要技术的设计和实现,确保我们有升级 Gemini dollar 的能力,以便我们可以:

1. 解决安全漏洞

2. 扩展新功能

3. 完善系统,优化运行效率,以及

4. 暂停,阻止或撤销通证转账以响应安全事件(即灾难性事件),或者按照其他诸如法院或其他政府机构的法律义务或要求而执行

我们通过构建一个相互协作的合约系统使得升级成为可能(更加详细的机制下面会讲)。Gemini dollar 系统的关键组件是三个合约,依次是‘Proxy,’‘Impl,’和 ‘Store.’(译者著:代理、实现和存储三个模块)。被称为“Proxy”的智能合约是 Gemini dolla r的公众界面 – 它是 Gemini dollar 在以太坊区块链上的永久地址。它只有一个“Proxy”实例,提供了通证持有者可以与之交互并执行诸如转移代币和查看代币余额等操作的接口。但是,“Proxy”既不包含代码,也不包含构成 Gemini dollar 行为和状态的数据。相反,“Proxy”将执行管理代币传输,发布和其他核心功能的逻辑的权利委托给称为“Impl”的智能合约。但是,“Impl”不会直接控制构成 Gemini dollar 账本的数据(即代币持有者与其余额的映射); 相反,它将账本所有权委托给称为“Store”的智能合约 – 外部和永久的 Gemini dollar 账本。

7. 合约托管

对于 Gemini dollar  系统中的某些高风险行为,我们需要一个离线审批机制。因此,我们要求 Gemini dollar 系统中的每个智能合约都需要托管人批准。托管人可以是另一个智能合约或密钥集(在线或离线)。托管人可以查看另一名托管人,而后者又可以查看其他托管人,依此类推,从而形成监管链或“托管人链”。

例如,一个智能合约可能会寻找其他的智能合约,最终寻求一个批准密钥集。如果智能合约的托管关系终止于离线密钥集,那么对于该操作的一个离线批准机制则被创建。

例如,“Proxy”查找名为“Custodian”的智能合约,该合约最终会查找离线密钥集以供审批。

同样,“Store”查找“Custodian”,它最终会查找离线密钥集以供审批。

8. 合约升级

升级 Gemini dollar 代币系统是一项利用 Gemini dollar 系统离线审批机制的高风险行为。为此,我们通过指示’Proxy’(通过’Custodian’)将一个新的‘Impl’实例激活为当前的代币实现,同时指示“Store”(通过‘Custodian‘)在接受 Gemini dollar 账本的更新时,将新的‘Impl’实例作为其唯一可信源头。

上图反映了升级后的全局状态,其中先前的’Impl’(1)实例已被’Impl’(2)的新实例所取代。 ‘Proxy’的实例现在委托给’Impl’(2)。同样,’Store’实例现在只接受来自’Impl’(2)的调用。之前的’Impl’实例仍然存在,但已变得不活跃了,因为它现在与系统无关。

总之,“Proxy”和“Store”的托管关系使的 Gemini dollar 系统升级成为可行。此外,托管本身也可以升级。例如,如果我们需要更改我们的离线密钥集,我们可以命令“Custodian”让 “Proxy” 寻找“Custodian”的一个新实例,以查看一个新的离线密钥集。

9. 代币印发

印发通证是一种高风险行为 – 发行和流通的 Gemini dollar 数量绝不能超过底层的美元余额。我们需要一种解决方案,既提供安全的离线审批机制,同时提供灵活性的在线审批机制。我们提出了一种混合解决方案,即“Impl”的托管,即控制增加 Gemini dollar 代币供应的智能合约,涉及在线和离线审批机制。为了实现这种独特的方法,我们在’Impl’托管链中插入了一个名为’PrintLimiter’的智能合约。

通过在线密钥的批准,’Impl’可以打印 Gemini dollar,达到’PrintLimiter’规定的金额或“上限”。此上限在离线密钥集的批准后增加(或者在在线密钥集批准后减少)。该解决方案为 Gemini dollar 系统提供了通证发行所需的安全性和灵活性。

10. 合约安全

Gemini dollar  系统实现以下安全功能:

1)离线密钥:批准高风险操作的密钥在Gemini 专有的冷存储系统中离线存储。

2)密钥生成:密钥在硬件安全模块(HSM)上生成,存储和管理。 我们只使用 HSM,每个都是“签名者”,并已达到 FIPS PUB 140-2 Level 3 或更高等级[7]。

3)双重控制(多重签名):高风险行为需要至少两名签名者的批准(即数字签名)。 我们使用M的N签名设计,其中M = 2。这提供了安全性和容错性。

4)时间锁定:即使在获得批准后,高风险行为也会在执行前被锁定一段时间。 这提供了一个宽限期来检测- 并抢先响应 – 潜在的安全事件。

5)撤销:可以撤销待处理的操作,允许在执行之前使错误或恶意的动作无效。

11. 结论

我们已经提出了一种稳定币的解决方案,通过密码学证明和监管建立信任。我们的技术设计已经在以太坊网络上得以实施。它包括升级功能,针对高风险操作的离线审批机制,以及用于通证发行的混合在线 – 离线审批机制,可提供所需级别的安全性和灵活性。我们的信托实现涉及将持牌金融机构和审查员联系起来,形成信任网络。这些实现一起形成了 Gemini dollar,这是一种受监管的稳定币,可作为可行的交换媒介,以及中心化和去中心化应用的帐户单位。

参考

[1] V. Buterin et al., “A next-generationsmart contract and decentralized application platform,”https://github.com/ethereum/wiki/wiki/White-Paper, 2014.

[2] M. Hochstein, “Tether Confirms ItsRelationship With Auditor Has ‘Dissolved’,” In CoinDesk,www.coindesk.com/tether-confirms-relationship-auditor-dissolved/, January 2018.6

[3] N. Popper, “Warning signs about anothergiant bitcoin exchange,” In New York Times,https://www.nytimes.com/2017/11/21/technology/bitcoin-bitfinex-tether.html,November 2017.

[4] S. Nakamoto, “Bitcoin: A peer-to-peerelectronic cash system,” https://bitcoin.org/bitcoin.pdf, 2008.

[5] Ethereum Wiki, “ERC20 Token Standard,”https://theethereum.wiki/w/index.php/ERC20_Token_Standard.

[6] Tether. Tether: Fiat currencies on theBitcoin blockchain.https://tether.to/wp-content/uploads/2016/06/TetherWhitePaper.pdf.

[7] National Institute for Standards andTechnology, “Digital Signature Standard (DSS),” In Federal InformationProcessing Standards Publication 186-4,https://csrc.nist.gov/publications/detail/fips/186/4/final, July 2013.