Crypto HODL / Life-long learner / Super Rick Fan / Life is a Meme.

zk-Snark开发入门篇之circom开发
由于已有些许基于circom circuit的zkp开发经验,所以本文就围绕circom开发来做一个入门级report。首先,对circom的特点、开发流程做了一个简要介绍;而后,分享了一些常用的circom库及用例;最后,以Tornado为例做了一个应用案例分析。Part 1. Circom开发概述Circom是一个底层用rust实现的编译器,它可以编译用circom语言实现的circuit。它将circuit编译的结果以contraints的形式输出,这些constraints能被用于计算相应生成逻辑的proof。Single Circuit上图的circuit在最后一行 s3 <= 1 - s1 * s2 设置了constraint,并将 s3 输出为计算结果。需要注意的是,circom的input默认为private,output默认为public,同时,这些信号的可视性都可以通过显式定义进行修改。Composable Circuit如上图,通过对单个电路的组合,可以实现功能各异的复杂电路,并且在工程上也能通过调用circom库避免重复造轮子。Circuit开发流程配置开...

zk-Snark开发入门篇之circom开发
由于已有些许基于circom circuit的zkp开发经验,所以本文就围绕circom开发来做一个入门级report。首先,对circom的特点、开发流程做了一个简要介绍;而后,分享了一些常用的circom库及用例;最后,以Tornado为例做了一个应用案例分析。Part 1. Circom开发概述Circom是一个底层用rust实现的编译器,它可以编译用circom语言实现的circuit。它将circuit编译的结果以contraints的形式输出,这些constraints能被用于计算相应生成逻辑的proof。Single Circuit上图的circuit在最后一行 s3 <= 1 - s1 * s2 设置了constraint,并将 s3 输出为计算结果。需要注意的是,circom的input默认为private,output默认为public,同时,这些信号的可视性都可以通过显式定义进行修改。Composable Circuit如上图,通过对单个电路的组合,可以实现功能各异的复杂电路,并且在工程上也能通过调用circom库避免重复造轮子。Circuit开发流程配置开...
ZK-Proof Tutorial - 1: Onboarding Guide
As trend of privacy protection and trustless collabration is unstoppable in decentralized protocol, zk-proof is going to be widely implemented as technological infrastructure in blockchain network. Even though academic research in this space is booming, there is a huge gap for those working in crypto industry to both understand zk-proof theoretically and apply it appropriately. After researching into it diligently with abundant experience as a blockchain developer, I decided to write a series...
ZK-Proof Tutorial - 1: Onboarding Guide
As trend of privacy protection and trustless collabration is unstoppable in decentralized protocol, zk-proof is going to be widely implemented as technological infrastructure in blockchain network. Even though academic research in this space is booming, there is a huge gap for those working in crypto industry to both understand zk-proof theoretically and apply it appropriately. After researching into it diligently with abundant experience as a blockchain developer, I decided to write a series...
关于Price Oracle的原理及实现
广义的Oracle包括链上链下各种繁杂信息的转译和传递,要能实现无障碍的信息交互还是道阻且长,但在细分场景下,对Price Oracle的落地应用已经有较为成熟的解决方案。链下预言机(eg. Chainlink)Chainlink是去中心化网络,其中的节点将链下数据和信息通过预言机发送给智能合约。Link token用于支付节点提供的数据服务。 1. oracle作用:作为链上链下数据的“翻译机” 2. oracle提供数据服务process: (1)Requesting Contract发出数据请求 (2)Chainlink协议将请求注册为event,监听event创建SLA Contract(Chainlink Service Level Agreement Contract) (3)SLA合约生成三个sub-contracts:Chainlink Reputation Contract:验证oracle provider的历史记录,拒绝历史记录不良Node的服务;Chainlink Order-Matching Contract:转发Requesting Contract的...
关于Price Oracle的原理及实现
广义的Oracle包括链上链下各种繁杂信息的转译和传递,要能实现无障碍的信息交互还是道阻且长,但在细分场景下,对Price Oracle的落地应用已经有较为成熟的解决方案。链下预言机(eg. Chainlink)Chainlink是去中心化网络,其中的节点将链下数据和信息通过预言机发送给智能合约。Link token用于支付节点提供的数据服务。 1. oracle作用:作为链上链下数据的“翻译机” 2. oracle提供数据服务process: (1)Requesting Contract发出数据请求 (2)Chainlink协议将请求注册为event,监听event创建SLA Contract(Chainlink Service Level Agreement Contract) (3)SLA合约生成三个sub-contracts:Chainlink Reputation Contract:验证oracle provider的历史记录,拒绝历史记录不良Node的服务;Chainlink Order-Matching Contract:转发Requesting Contract的...
关于OpenDAO、GasDAO和空投的碎碎念
自从ENS打响了大规模社区空投+Fair Launch的第一枪后,fomo的后起之秀纷纷效仿。更有OpenDAO做了“社区空袭”式微创新+Fair Launch+Meme之后,仿盘GasDAO快马加鞭进场,1天之内揽金过亿。若是业内深耕细作的项目方向贡献者发放空投,自然无可厚非,并且长期看来是正向价值分配和引导的Token分发模式。但如OpenDAO、GasDAO做的“空袭式”或“空气币式”空投是否值得追捧?研发成本 从研发成本角度看,一纸简单智能合约的开发成本最多只需几个工作日,完全不足以支撑短期巨大的市值泡沫。OpenDAO、GasDAO智能合约中最核心的模块是签名验证,实际代码量非常小。 代码细节 (i)OpenDAO采用基于EIP712标准的签名验证,这种方式需要注意在要将签名过程在合约函数内复现。function claim(uint256 amountV, bytes32 r, bytes32 s) external { uint256 amount = uint248(amountV); uint8 v = uint8(amountV >> 248); uint25...
关于OpenDAO、GasDAO和空投的碎碎念
自从ENS打响了大规模社区空投+Fair Launch的第一枪后,fomo的后起之秀纷纷效仿。更有OpenDAO做了“社区空袭”式微创新+Fair Launch+Meme之后,仿盘GasDAO快马加鞭进场,1天之内揽金过亿。若是业内深耕细作的项目方向贡献者发放空投,自然无可厚非,并且长期看来是正向价值分配和引导的Token分发模式。但如OpenDAO、GasDAO做的“空袭式”或“空气币式”空投是否值得追捧?研发成本 从研发成本角度看,一纸简单智能合约的开发成本最多只需几个工作日,完全不足以支撑短期巨大的市值泡沫。OpenDAO、GasDAO智能合约中最核心的模块是签名验证,实际代码量非常小。 代码细节 (i)OpenDAO采用基于EIP712标准的签名验证,这种方式需要注意在要将签名过程在合约函数内复现。function claim(uint256 amountV, bytes32 r, bytes32 s) external { uint256 amount = uint248(amountV); uint8 v = uint8(amountV >> 248); uint25...
Gimmick or Trick ?Memecoin之Reflection Token
何为Reflection?简单理解,是对代币持有者的奖励支付。以最近大火的Mongoose Coin为例,在每次转账发生时,都会向交易发起者收取13%的税费,其中6%分配给代币持有者作为奖励。 Reflection的设计看似平平无奇,实则暗藏玄机。首先,fomo的散户在未发觉交易滑点的情况下,梭哈进场,那必然秒被套10%以上。在持有成本增加30%左右的情况,散户的持有周期会变长,同时有更大概率补仓;另一方面,由于分红机制,持币数量的增加营造出持有回本甚至暴富的幻觉,散户hold的心理压力能随之缓解。基于以上原因,当散户更有动机成为holder而非trader,也就给了项目更大的空间运营(aka CX)。交易Case,以Mongoose为例交易前rTotal = 115792089237316195423570985008687907853269984619000000000000000000000000000000tTotal = 69 * 10**30currentRate = rTotal / tTotal = 16781462208306696019995367574542...
Gimmick or Trick ?Memecoin之Reflection Token
何为Reflection?简单理解,是对代币持有者的奖励支付。以最近大火的Mongoose Coin为例,在每次转账发生时,都会向交易发起者收取13%的税费,其中6%分配给代币持有者作为奖励。 Reflection的设计看似平平无奇,实则暗藏玄机。首先,fomo的散户在未发觉交易滑点的情况下,梭哈进场,那必然秒被套10%以上。在持有成本增加30%左右的情况,散户的持有周期会变长,同时有更大概率补仓;另一方面,由于分红机制,持币数量的增加营造出持有回本甚至暴富的幻觉,散户hold的心理压力能随之缓解。基于以上原因,当散户更有动机成为holder而非trader,也就给了项目更大的空间运营(aka CX)。交易Case,以Mongoose为例交易前rTotal = 115792089237316195423570985008687907853269984619000000000000000000000000000000tTotal = 69 * 10**30currentRate = rTotal / tTotal = 16781462208306696019995367574542...