👨🚀 Glzae & Jasmine:本周 DEFI 市场风云变幻,但我们先把这些几家欢喜几家愁的事情放一放,一起来看看 RAI ——被 V 神点赞的稳定币。在区块链 101 环节你将学习ETH、EVM与安全开发的知识。
如果你喜欢本期内容,不妨在阅读后给我们点个 ❤️ ,并在下方订阅 un.Block Weekly ⬇️
🪙 本周热点:稳定资产 - RAI
RAI 是具有创新性的区块链产品。以下内容有一定难度,建议慢读 🍵
❓ 什么是 RAI
RAI 不像 USDT,DAI 之类的传统稳定币,RAI 标榜自己为稳定资产,不是稳定币。虽然大家的名字中都有稳定二字,但是大家的设计理念完全不同。传统稳定币最重要的是和美元锚定,绝对稳定的价格。RAI 称他们为 Pegged Coin。相比和美元锚定,RAI 并不直接和什么资产挂钩。RAI 的稳定指的是减少抵押资产的波动性。RAI 的稳定由 RAI 的市场价格靠近动态调整的赎回价格所保证。
RAI 在官网把自己比作稳定的资产,就跟美元在传统金融的地位一样。从前美元和黄金挂钩,现在美元不和任何东西挂钩,但它依然是为稳定资产。
⚙️ RAI的货币机制
RAI 在某些地方和 DAI 很像,官方也声明他们参考了 DAI 的设计。如果对稳定币不熟悉的可以看这篇介绍。铸造 RAI 需要抵押 ETH。RAI 通过这样几个手段影响 RAI 的价格
赎回价格(Redemption Price):可以理解为 RAI 的目标价格
赎回率(Redemption rate):激励或阻止用户销毁 RAI。赎回率控制着赎回价格 1 s 内的变化
铸造价格(Borrowing Power):1 ETH 可以铸造多少 RAI
RAI 业界首创的使用 PID 来控制赎回率来缩小赎回价格和市场价格差距。
PID 是一种易于实现的算法,使用过去和预测未来的信息来减少现在的值和目标值之间误差。PID 控制器的简介可以看 MATLAB 的视频。
PID 的引入也减少了社区治理的需求。RAI 完全可以独立的运行。
⚠️ 当然 PID 也不是万能的,在以下情况会需要管理员的介入:
缺少流动性
市场操纵
DAO 推广过度的激励措施
单边市场行情
RAI 背后的团队来自 BlockScience。从他们官网的介绍可以感觉到他们的独特之处。他们创新性的将系统工程,运筹学应用在了区块链金融产品。除 RAI 之外,他们还开发了 cadCAD 用于模拟和验证复杂系统的运行。
💬 感想:
看下来感觉 RAI 受到 V 神的推崇不是没有原因的。RAI 在机制上并没有太多的创新之处。它并不像 2020 年底出现的 Basis,DSD 创新的使用了双币或者三币机制。RAI 的创新在于 PID 算法的使用以及它的理念,想要做 DEFI 世界的美金。习惯了稳定币的老玩家或许很难理解这样一个”不稳定“的稳定资产。
美金作为稳定资产,稳定在于它的购买力,而不是货币之间的汇率。然而今天的 DEFI 只有币币交易即汇率,购买力还很模糊。我更喜欢将目前的 RAI 定义为波动较少的ETH。对货币和经济有独特的见解的读者欢迎留言讨论。
Basis 和 DSD 的机制在半年内被市场发现了漏洞,当币价低于锚定价格时,债券(Bond)并不能有效的提升币价。让我们看看半年后,市场将会怎么评价 RAI。
📔 相关阅读:
📈 Coinbase 上市纳斯达克
🎉 Coinbase 上市了!Coinbase 作为加密货币龙头交易所上市了。区块链相关公司不仅可以 ICO 也可以合规的 IPO。相比大多数区块链初创公司选择 ICO 的过去,现在选择传统融资的公司也多了起来。
相比于十分合规的 Coinbase,币安前段时间还受到美国的商品期货交易委员会(CFTC)的调查。但是币安的平台币表现优异,目前 Coinbase 还没有自己的平台币,或许是因为合规的原因。
🏫 区块链 101
本周理论部分我们主要来学习一下 ETH 和 EVM,ETH 的诞生让区块链世界充满无限可能;开发部分我们承接上期的安全话题,聊聊如何写出安全可靠的代码
📖 区块链理论:可编程的区块链
❓ Ethereum 是什么
Q: What is Ethereum?
A: The foundation for our digital future.
BTC 标志着一种全新形式的货币的出现,它不受任何中心化机构的控制。随着时间的推移,人们开始意识到,BTC 带来的区块链技术除了用来记账,还可以应用到更广阔的领域,随之而来的就是以太坊 (Ethereum)。
关于 BTC 和 Ethereum 的区别,推荐阅读 ⬇️
📖 Bitcoin vs. Ethereum: What's the Difference?
Vitalik Buterin 创造的 Ethereum 实现了一个内置编程语言的区块链协议。由于 Ethereum 支持了编程语言,那么理论上任何区块链应用都可以使用这门语言进行定义,并且运行在以太坊虚拟机 (Ethereum Virtual Machine, EVM) 上。
Ethereum 通过区块链技术,在维护去中心化的支付网络的同时,还存储着防篡改的去中心化应用程序 (DApp) 与智能合约 (Smart Contract)。
Ethereum 协议就像互联网时代的 TCP/IP 协议一样,基于这个协议,区块链应用开发者可以在顶层高效便捷地开发顶层应用。
通过阅读以下文档,你可以深入的了解以太坊 ⬇️
❓ EVM 是什么
EVM 的行为就像一个数学函数一样。给定一个输入,它就会产生一个确定性的输出。因此,我们可以将 Ethereum 理解为一个状态转换函数(或状态机)。
关于 (EVM) Ethereum Virtual Machine 的描述略有玄学的味道,它不能被认为是云服务器或集群服务器,但它确实是作为一个单一实体存在于世界上,由运行着 Ethereum 客户端的成千上万台电脑链接维护。
Ethereum 协议存在的价值是为了保持 EVM 的连续、不间断、不被篡改的稳定运行,EVM 是所有 Ethereum 账户和智能合约的生存环境。在链上的任何一个区块,Ethereum 都只有一个 “规范” 的状态,而 EVM 就是定义了区块之间计算出新的有效 “规范状态” 的机器。
📖 ETHEREUM VIRTUAL MACHINE (EVM)
就像部署在中心化网络的应用程序消耗服务器资源一样,在 EVM 上运行程序(或转账)也是需要消耗资源的,我们称消耗的资源为 Gas,你可以把它理解驱使汽车前进的为汽油,Gas Fee 就是最终消耗的资金。
关于 Gas Fee、Gas Limit、Gas Price,我们下次再聊。
除了 EVM,还有另外一条较为著名的可编程链叫 BSC (Binance Smart Chain), BSC 也能运行智能合约,他和 EVM 兼容并行工作 👉 An Introduction to Binance Smart Chain (BSC)。
🔨 区块链开发:安全开发
上期我们提到 Force DAO 因为一个低级漏洞而发生了安全事故,那么本期我们就来了解一下,如何写出安全的代码
知己知彼,百战不殆,认识常见的攻击可以提高我们的代码安全意识,Consensys 的 Known Attacks 列出了常见的各种攻击如 Reentrancy、Front-Running 等,并给出了相关的解决方案。
在 DApp 开发过程中,我们经常会遇到转账、外部调用等有风险的操作,要使代码安全可靠,除了在编码时注意代码逻辑与各种判断条件,我们还可以使用被认为是较可靠的第三方库来处理有风险的操作,如 Openzeppelin,它是一个建立在社区审核代码基础上的安全智能合约开发库,它
实现了 ERC20 和 ERC721 等标准
灵活的基于角色的访问控制方案
提供可充用的 Solidity 智能合约组件
在开发的过程中,我们可以使用静态分析器来检测低级漏洞,开发完成后,可以通过编写各种测试来提高代码的可靠性,也可以将项目代码移交第三方安全机构(如 Certik)进行代码审计,由专业的的区块链安全专家对代码进行分析,并给出相关改进建议。
找第三方审计某程度上可以理解为:由可信赖的机构为项目的安全性背书,增强用户信心。
🧰 区块链工具分享
在 DApp 开发过程中,我们可以通过这些工具来提高代码可靠性:
Slither:基于 Python 的开源 Solidity 静态分析框架,能够对代码进行静态分析,并提供 API 来编写自定义分析
MythX:收费的专业级安全分析服务工具,通过标识分析与模糊化输入来验证智能合约的正确性
Solidity Visual Auditor:一个 VSCode 上的插件,提供以安全为中心的语法和语义代码高亮
📘 文章推荐
以太坊迎来了延迟多时的柏林升级;各家 Layer2 解决方案持续发力
以太坊终于迎来了柏林升级。这篇文章为我们介绍了柏林升级的具体内容 ,前瞻即将到来的伦敦升级。
Layer2 是目前区块链最火热的方向之一。主要的方向有 Optimistic Rollup,Zero Knowledge Rollup。目前ZK Rollup有着更好的前景,Optimistic Rollup具有更好的兼容性。这篇文章为我们介绍了类似Optimistic Rollup 的 Arbitrum Rollup。
📰 Arbitrum 是更好的 Optimistic Rollup 吗?
🚏Find us
提问&纠错&反馈:
Email:unblocketh@gmail.com
特别鸣谢:
本文非商业目的转载授权遵循 CC BY-NC 4.0 协议
版权所有 ©️un.Block Weekly 2020-2021