关于 Uniswap V3 的计算
机制改变Uniswap V3 采用了集中流动性(Concentrated Liquidity)。用户可以为自己的流动性设置一个价格区间。超出这个价格区间或低于这个价格区间,所有代币将被转换成两者中不值钱的那个。这一步转化造成的损失是无常损失。一个价格区间中的最小间隔叫 Tick,为 0.01%。 符号Swap添加流动性相关阅读:Uniswap V3 白皮书编辑于昨天 14:30文章被以下专栏收录* Blockchian;unblock256.com
矿工可提取价值
日渐增多的 MEV 可能导致了高昂的 Gas Fee在*上一期*的周报中我们为大家介绍了 Gas Fee , Gas Fee 越高,交易就越可能被矿工打包。本期我们就来讨论一下这种打包机制所产生的问题,Miner-extractable Value(MEV)。 MEV 指的是矿工重新排序交易后可以获得的利润。在实际情况中, MEV 可能并不是矿工推动。有可能是我付出了一个很高的 Gas Fee ,希望矿工优先打包我的交易。 希望矿工优先打包交易的原因有以下几种:抢跑(Frontrunning)主流的 DEX 都支持滑点,也就是成交价格的区间,假设当前下单价格 100 块,滑点是 5%,这意味着成交价格会在 95 - 105 之间。 宽松的价格区间让套利者有机可乘。 假如一个套利者在内存池中(没有打包的交易都会在内存池中)看到一笔大额买单(币价即将上涨)。根据 AMM 的模型,只要有买单成交,代币价格就会上升。因此,套利者可以通过高额的 Gas Fee 或者贿赂矿工来插入一笔买单,抢在代币价格上涨之前完成买入。套利者的抢跑行为将导致后续的那一笔大额买单以以更高的价格成交。 其实在现...
流动性挖矿(Yield Farming)
⚠️ 以下为非投资建议 (No Financial Advise) 内容,流动性挖矿存在投资风险。概念流动性挖矿是 AMM 协议下的提供流动性的更进一步,它是通过锁定流动性来获取代币奖励。 如何获取收益*上期*我们讲到在 AMM 协议下,流动性提供者可以通过从交易手续费中获取一定收益。流动性挖矿与单纯的提供流动性(LP)略有不同,它是将组好的 LP,注入到资金池中(矿池),以获取额外的不同的代币支付奖励。用于奖励的代币大多为矿场的代币。以 BSC 上的 PancakeSwap 的 Farm 作为例子,这是一个 $BUSD - $BNB 矿池,在 Stake(质押、注入)前,我们需要先为 $BUSD - $BNB 交易对提供流动性以及 Approve(授权使用代币)。 LP 组好后,我们就可以将我们的 LP Stake 进矿池,开始挖矿。 一段时间后,我们可以获得 $CAKE (PancakeSwap 的平台代币)作为奖励,通过 Harvest(收成)我们就可以把 $CAKE 收入囊中。与此同时,我们的 $BUSD - $BNB 还在努力的工作,持续产出 $CAKE。 又过了一段...
关于 Uniswap V3 的计算
机制改变Uniswap V3 采用了集中流动性(Concentrated Liquidity)。用户可以为自己的流动性设置一个价格区间。超出这个价格区间或低于这个价格区间,所有代币将被转换成两者中不值钱的那个。这一步转化造成的损失是无常损失。一个价格区间中的最小间隔叫 Tick,为 0.01%。 符号Swap添加流动性相关阅读:Uniswap V3 白皮书编辑于昨天 14:30文章被以下专栏收录* Blockchian;unblock256.com
矿工可提取价值
日渐增多的 MEV 可能导致了高昂的 Gas Fee在*上一期*的周报中我们为大家介绍了 Gas Fee , Gas Fee 越高,交易就越可能被矿工打包。本期我们就来讨论一下这种打包机制所产生的问题,Miner-extractable Value(MEV)。 MEV 指的是矿工重新排序交易后可以获得的利润。在实际情况中, MEV 可能并不是矿工推动。有可能是我付出了一个很高的 Gas Fee ,希望矿工优先打包我的交易。 希望矿工优先打包交易的原因有以下几种:抢跑(Frontrunning)主流的 DEX 都支持滑点,也就是成交价格的区间,假设当前下单价格 100 块,滑点是 5%,这意味着成交价格会在 95 - 105 之间。 宽松的价格区间让套利者有机可乘。 假如一个套利者在内存池中(没有打包的交易都会在内存池中)看到一笔大额买单(币价即将上涨)。根据 AMM 的模型,只要有买单成交,代币价格就会上升。因此,套利者可以通过高额的 Gas Fee 或者贿赂矿工来插入一笔买单,抢在代币价格上涨之前完成买入。套利者的抢跑行为将导致后续的那一笔大额买单以以更高的价格成交。 其实在现...
流动性挖矿(Yield Farming)
⚠️ 以下为非投资建议 (No Financial Advise) 内容,流动性挖矿存在投资风险。概念流动性挖矿是 AMM 协议下的提供流动性的更进一步,它是通过锁定流动性来获取代币奖励。 如何获取收益*上期*我们讲到在 AMM 协议下,流动性提供者可以通过从交易手续费中获取一定收益。流动性挖矿与单纯的提供流动性(LP)略有不同,它是将组好的 LP,注入到资金池中(矿池),以获取额外的不同的代币支付奖励。用于奖励的代币大多为矿场的代币。以 BSC 上的 PancakeSwap 的 Farm 作为例子,这是一个 $BUSD - $BNB 矿池,在 Stake(质押、注入)前,我们需要先为 $BUSD - $BNB 交易对提供流动性以及 Approve(授权使用代币)。 LP 组好后,我们就可以将我们的 LP Stake 进矿池,开始挖矿。 一段时间后,我们可以获得 $CAKE (PancakeSwap 的平台代币)作为奖励,通过 Harvest(收成)我们就可以把 $CAKE 收入囊中。与此同时,我们的 $BUSD - $BNB 还在努力的工作,持续产出 $CAKE。 又过了一段...
Share Dialog
Share Dialog
我们主要来学习一下 ETH 和 EVM,ETH 的诞生让区块链世界充满无限可能;开发部分我们承接上期的安全话题,聊聊如何写出安全可靠的代码
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 的行为就像一个数学函数一样。给定一个输入,它就会产生一个确定性的输出。因此,我们可以将 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 上的插件,提供以安全为中心的语法和语义代码高亮
我们主要来学习一下 ETH 和 EVM,ETH 的诞生让区块链世界充满无限可能;开发部分我们承接上期的安全话题,聊聊如何写出安全可靠的代码
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 的行为就像一个数学函数一样。给定一个输入,它就会产生一个确定性的输出。因此,我们可以将 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 上的插件,提供以安全为中心的语法和语义代码高亮

Subscribe to un.Block

Subscribe to un.Block
<100 subscribers
<100 subscribers
No activity yet