
成长 -- 随笔(2)
深夜陷入了沉思,回顾了一下自己的成长历程。距离上一次的成长随笔已经过去7个月了~~ https://mirror.xyz/0xaaE7a1AD2764626d09a233a9bC06C38b413637cf/By3P_3NiIriKGObdbWlFo0mDdwFDY1v9VFbjaUMmObU 既然是随笔,我觉得格式什么的,就随意了~~ 这段时间我学了啥呢~~ Uniswap V2, V3; 精通Curve ( 3 Pool, Meta Pool, Compond Pool, AAVE Pool) ~~~ Balancer V2, Kyber, Bancor ; AAVE, Clipper, DODO, Mstable, Saddle, Shell, Wombat ~~~ DODO, DODO V2, Fraxswap ~~ 对我来说,能力提升最大的是打CTF。比赛的过程,纠错发现bug的攻防真的很能提升一个人的合约能力~~~ 最开心的是,认识了组内Andrew和Jimmy两位Crypto科学家~~ 最感激的是,Melvin带着我做项目,耐心和孜孜不倦地引导我去激发自己的潜能~~...
成长 -- 随笔
我完全不敢想象自己的成长速度。 1个月前,我还在和慢雾的群上问curve的合约代码的语言是的时候。余弦大佬回了我是vyper。我现在已经可以把vyper语言看懂了, 并且对于原理也掌握了。 把curve代码看了一下一遍,其实也发现不过如此。白皮书,其实也没这么深奥。跟当年打ACM的那种级别比,还是差得有点远。 Hardhat也越来越熟悉了。当时那个编写测试用例还要问XD的那个毛头小子,已经成长了好多。 我觉得我现在完全可以独立撑起一个商业项目,唯一卡住的地方可能是JS还是不太熟悉。基本功能是OK的,但是遇到一些比较少见的bug。估计,要问人。 对于以前的我来说,3,4天吃透一个主流Defi协议,我真的想都不敢想。如果只是调研,我觉得我还是勉强可以一试。 这种成长的速度我只能用指数级别来形容。我看了一下一个月前的自己,觉得好菜。 我很希望我一个月之后,再回头看现在的我,也是觉得现在的我很菜~~ end
Aptos Move NFT发行代码剖析
背景Move的NFT和Solidity 721/1155相比,相差非常远。所以我觉得挺有必要重新研究一下如何在Aptos发行NFT。我下面的文章的重点是:Aptos Move是面向资源的编程。所以NFT无疑也是一种资源存储在Aptos网络里。 https://mirror.xyz/0xaaE7a1AD2764626d09a233a9bC06C38b413637cf/aaMa0nhHcv6JN-AuN64HpUll3tdWXCTbLj929EhqvDM核心整个Aptos NFT的核心要掌握3个用户:creator(创建者):设计/创建这些NFT的设计者rolayty(收税收的人):用户mint的过程中,rolayty可以收取版税mint(mint NFT的用户):mint NFT的用户用户发行Aptos NFT的大概步骤是:creator提前注册好NFT的资源(或者说注册好这个NFT类型的版权)。(token::create_collection)minter触发mint_nft,记录/传入creator的签名,通过token::create_tokendata方法进行发行NFT所...

成长 -- 随笔(2)
深夜陷入了沉思,回顾了一下自己的成长历程。距离上一次的成长随笔已经过去7个月了~~ https://mirror.xyz/0xaaE7a1AD2764626d09a233a9bC06C38b413637cf/By3P_3NiIriKGObdbWlFo0mDdwFDY1v9VFbjaUMmObU 既然是随笔,我觉得格式什么的,就随意了~~ 这段时间我学了啥呢~~ Uniswap V2, V3; 精通Curve ( 3 Pool, Meta Pool, Compond Pool, AAVE Pool) ~~~ Balancer V2, Kyber, Bancor ; AAVE, Clipper, DODO, Mstable, Saddle, Shell, Wombat ~~~ DODO, DODO V2, Fraxswap ~~ 对我来说,能力提升最大的是打CTF。比赛的过程,纠错发现bug的攻防真的很能提升一个人的合约能力~~~ 最开心的是,认识了组内Andrew和Jimmy两位Crypto科学家~~ 最感激的是,Melvin带着我做项目,耐心和孜孜不倦地引导我去激发自己的潜能~~...
成长 -- 随笔
我完全不敢想象自己的成长速度。 1个月前,我还在和慢雾的群上问curve的合约代码的语言是的时候。余弦大佬回了我是vyper。我现在已经可以把vyper语言看懂了, 并且对于原理也掌握了。 把curve代码看了一下一遍,其实也发现不过如此。白皮书,其实也没这么深奥。跟当年打ACM的那种级别比,还是差得有点远。 Hardhat也越来越熟悉了。当时那个编写测试用例还要问XD的那个毛头小子,已经成长了好多。 我觉得我现在完全可以独立撑起一个商业项目,唯一卡住的地方可能是JS还是不太熟悉。基本功能是OK的,但是遇到一些比较少见的bug。估计,要问人。 对于以前的我来说,3,4天吃透一个主流Defi协议,我真的想都不敢想。如果只是调研,我觉得我还是勉强可以一试。 这种成长的速度我只能用指数级别来形容。我看了一下一个月前的自己,觉得好菜。 我很希望我一个月之后,再回头看现在的我,也是觉得现在的我很菜~~ end
Aptos Move NFT发行代码剖析
背景Move的NFT和Solidity 721/1155相比,相差非常远。所以我觉得挺有必要重新研究一下如何在Aptos发行NFT。我下面的文章的重点是:Aptos Move是面向资源的编程。所以NFT无疑也是一种资源存储在Aptos网络里。 https://mirror.xyz/0xaaE7a1AD2764626d09a233a9bC06C38b413637cf/aaMa0nhHcv6JN-AuN64HpUll3tdWXCTbLj929EhqvDM核心整个Aptos NFT的核心要掌握3个用户:creator(创建者):设计/创建这些NFT的设计者rolayty(收税收的人):用户mint的过程中,rolayty可以收取版税mint(mint NFT的用户):mint NFT的用户用户发行Aptos NFT的大概步骤是:creator提前注册好NFT的资源(或者说注册好这个NFT类型的版权)。(token::create_collection)minter触发mint_nft,记录/传入creator的签名,通过token::create_tokendata方法进行发行NFT所...
由开发人员、艺术家和设计师组成的集体 MatchBoxDAO 宣布推出 MatchBox Arena。该团队将其称为“Web3 公司的世界杯”,并表示游戏锦标赛旨在找出哪家公司拥有最好的技术团队。
首先,可以代表公司和世界顶级的crypto公司(uniswap,polygon,ledger,chainlink。。。)同台竞技真的是一个非常荣幸的事情。所以我牺牲了宝贵的春节假期,就一直在打这个比赛。
这次CTF是一个用solidity操控汽车的算法比赛(终于遇到我非常感兴趣的地方了)
这本质上来说是一次博弈实验,而不是一次简单的代码hackthon。更像是一个社会实验,涉及纯技术方面、经济激励、效用优化模式和理性的压力测试。

对于每一个参赛者,你需要实现自己的Car合约,特别是takeyourturn这个函数。对于每一轮你都需要做出决策,具体有五种决策:
1)加速(ACCELERATE)
2)炮弹(SHELL)
3)超级炮弹(SUPER_SHELL)
4)香蕉(BANANA)
5)盾(SHIELD)
有点像跑跑卡丁车?是的。。每一种决策都会耗费掉你的金额,你的金额总量是17500。而道具的价格会随着轮次和大家购买数量的变化而变化。
大体上一般分为几种策略:
1)激进策略:不断加速,尽可能耗尽金额冲到终点。
2)防守策略:前期猥琐,等1,2名互相消耗金额了之后再发力。
3)金融策略:打持久战,选最便宜的时候买道具。等他们的金额耗费了很多的时候,就把价格拉起来,打金融战。
4)xjb策略
问题的本质是一个最优化问题。但因为这里状态很多,而且没有最优子结构,这里不能使用动态规划。我的第一个想法其实是贪心, or 强化学习。但注意这里是一个使用智能合约的编码环境,solidity没有办法实现pytorch和tensorflow的计算。强化学习只能使用QLearning来模拟。
1)强化学习。
Qlearning的实现主要是定义状态,然后实现状态表,定义状态转移方程。这里的难点是怎么去定义状态S (s1, s2, s3 ….. ),和学习数据的问题。对于每一刻状态s,决策理论上是无穷的,而且数据无法拿到对手的数据,这里的方法是不可能实现的。
2)求解博弈论模型。
也是需要提前定义好决策集合,设计奖励函数,遍历2个轮次的决策结果,选择在三者博弈下最好的当前抉择。这个的难点其实在于决策本质上也是无数的,而且计算量也是很大。
3)贪心策略。
这大概是最可行的决策。我们没有办法计算出全局最优的决策,但是我们可以计算出当前状态下最优的决策。这个是可行的。我尝试把计算全局最优的想法,专注在局部最优。
局部最优:我希望在考虑对手的决策的前提下,计算出当前我决策的最优价值的决策。
比赛还在继续,赛车博弈这真的非常有意思。只是时间太尴尬,发生在了春节。
梦回当年打ACM的日子。。。
由开发人员、艺术家和设计师组成的集体 MatchBoxDAO 宣布推出 MatchBox Arena。该团队将其称为“Web3 公司的世界杯”,并表示游戏锦标赛旨在找出哪家公司拥有最好的技术团队。
首先,可以代表公司和世界顶级的crypto公司(uniswap,polygon,ledger,chainlink。。。)同台竞技真的是一个非常荣幸的事情。所以我牺牲了宝贵的春节假期,就一直在打这个比赛。
这次CTF是一个用solidity操控汽车的算法比赛(终于遇到我非常感兴趣的地方了)
这本质上来说是一次博弈实验,而不是一次简单的代码hackthon。更像是一个社会实验,涉及纯技术方面、经济激励、效用优化模式和理性的压力测试。

对于每一个参赛者,你需要实现自己的Car合约,特别是takeyourturn这个函数。对于每一轮你都需要做出决策,具体有五种决策:
1)加速(ACCELERATE)
2)炮弹(SHELL)
3)超级炮弹(SUPER_SHELL)
4)香蕉(BANANA)
5)盾(SHIELD)
有点像跑跑卡丁车?是的。。每一种决策都会耗费掉你的金额,你的金额总量是17500。而道具的价格会随着轮次和大家购买数量的变化而变化。
大体上一般分为几种策略:
1)激进策略:不断加速,尽可能耗尽金额冲到终点。
2)防守策略:前期猥琐,等1,2名互相消耗金额了之后再发力。
3)金融策略:打持久战,选最便宜的时候买道具。等他们的金额耗费了很多的时候,就把价格拉起来,打金融战。
4)xjb策略
问题的本质是一个最优化问题。但因为这里状态很多,而且没有最优子结构,这里不能使用动态规划。我的第一个想法其实是贪心, or 强化学习。但注意这里是一个使用智能合约的编码环境,solidity没有办法实现pytorch和tensorflow的计算。强化学习只能使用QLearning来模拟。
1)强化学习。
Qlearning的实现主要是定义状态,然后实现状态表,定义状态转移方程。这里的难点是怎么去定义状态S (s1, s2, s3 ….. ),和学习数据的问题。对于每一刻状态s,决策理论上是无穷的,而且数据无法拿到对手的数据,这里的方法是不可能实现的。
2)求解博弈论模型。
也是需要提前定义好决策集合,设计奖励函数,遍历2个轮次的决策结果,选择在三者博弈下最好的当前抉择。这个的难点其实在于决策本质上也是无数的,而且计算量也是很大。
3)贪心策略。
这大概是最可行的决策。我们没有办法计算出全局最优的决策,但是我们可以计算出当前状态下最优的决策。这个是可行的。我尝试把计算全局最优的想法,专注在局部最优。
局部最优:我希望在考虑对手的决策的前提下,计算出当前我决策的最优价值的决策。
比赛还在继续,赛车博弈这真的非常有意思。只是时间太尴尬,发生在了春节。
梦回当年打ACM的日子。。。
Share Dialog
Share Dialog

Subscribe to shaneson.eth

Subscribe to shaneson.eth
<100 subscribers
<100 subscribers
No activity yet