Re: [Coin] 铭文Token合约

楼主: DarkerDuck (達克鴨)   2023-12-17 20:25:44
很久没发技术文了,因为这波就是没什么新技术啊,meme币整天博傻,动物园都快盖好了。
就算是最近被吹上天的BRC-20讲的好像BTC的Defi summer,
https://www.blocktempo.com/is-the-bitcoin-ecosystem-unable-to-replicate
但实际上类似的东西,10年前的BTC在还未有ETH生态系就玩过了。
mastercoin可以玩代币,counterparty还可以玩智能合约咧。
BCH之前也早就玩过SLP token了,USDT甚至有在SLP上发行咧。
https://i.imgur.com/g9zbGoe.png
https://tether.to/en/transparency/#usdt
但这种代币玩法实际上就是劣化版的ERC-20,更不用谈什么defi summer了。
既然原PO讲到了,就来讲一下技术上BRC-20与ERC-20上的不同。
ERC-20是由图灵完备的EVM所执行的程式语言代币标准,EVM是由矿工执行与验证的。
所以ERC-20上的mint, transferFrom等方法当然都是由矿工执行与验证的。
而且因为最新的state都是已经和智能合约储存在区块链上了。
所以所有的代币参与者都可以从区块链上取得最新的"共识"。
整个交易安全都是由区块链确保的,因为矿工已经帮忙验证过了,所以不用重新验证。
更重要的因为是由EVM所执行的,所以自订化程度很高,也可以和后续的DeFi相容。
像是DEX交易,staking,AMM等DeFi玩法,要更详细的资讯可以看下面文章。
https://www.toptal.com/ethereum/create-erc20-token-tutorial
而BTC并不支援图零完备智能合约,
所以从以前到现在的玩法就是把BTC的区块链当作数据库使用。
以前用OP_return可以在BTC上写入额外的资料,
不过Luke等开发者不想让BTC太好用就限缩了OP_return的使用,免得spam attack
https://www.panewslab.com/zh_hk/sqarticledetails/4nl41tx7aw2u.html
https://i.imgur.com/pwzLSUN.png
直到Bitcoin Core用万能的soft-fork完成了taproot升级。
被人发现taproot有bug,不~~是feature。可以用taproot程式码绕过交易大小限制。
可以把整个区块用taproot交易的程式码区段塞满满,当然也就可以塞资料进去
https://web3plus.bnext.com.tw/article/271?
https://i.imgur.com/WronFGn.png
这种方式就是ordinal协议,可以在区块链上附加任何资讯,既然可以加上图片。
那当然也可以也可以附加纯文字档。
就有人想到程式语言的通用资料格式json用来附加交易资讯。这时BRC-20就诞生了。
https://domo-2.gitbook.io/brc-20-experiment/
https://i.imgur.com/KWsUieG.png
譬如创建一个BRC-20代币ORDI就是上面那个json指令。把各个字段定义好就行。
https://i.imgur.com/rFibDxB.png
其他的操作也是简单到有点简陋了。
https://i.imgur.com/yEw1kYd.png
https://i.imgur.com/owNLKej.png
比较特别的就transfer是直接用UTXO机制,ordinal的UTXO跑到哪边就是谁的,
所以只需要填数量就好。
那为什么说这其实是劣化版的ERC-20呢?
因为上面的这些操作指令"矿工不验证",所以其实可以乱写都没差。
譬如说我只有1 ORDI,但是我transfer写我传1000 ORDI都可以被"矿工确认"。
所以就需要靠额外的index server去"验证"那些BRC-20交易是"真的有效"。
这问题就导致了中心化index server的产生,
一般人只能去"相信"这些index server是诚实不作恶的。而非trustless。
就算server诚实,但这也会是安全性的single point of failure。
要入侵单一server比入侵整个区块链网络简单太多了。
https://twitter.com/0xmetazen/status/1723734111704244487
另外一个问题就是这些index server会变成整个系统的效能瓶颈。
这问题以前在BCH SLP上就发生过了,index server常常会overload或是离线。
那就不要只跑一个index server,去中心化跑很多个就好了啊~~~
然后你又会得到一个新问题,可怜啊~~
https://abmedia.io/asset-security-brc-20-version-discrepancy
https://abmedia.io/what-are-the-security-risks-from-inadequate-brc-20
这本身已经是劣化版的ERC-20在劣化的区块链BTC上,问题只会更严重。
永恒牛市需要永恒mempool
https://jochen-hoenicke.de/queue/#BTC,24h,weight
https://i.imgur.com/EgTYcBV.png
然后就有这种玩法:
https://news.cnyes.com/news/id/5412431
https://twitter.com/evilcos/status/1735685957662441563
用低BTC手续费卡住mempool,涨价了就用tailTodd发明的RBF加速交易。
跌价了就ToTheMempool,等它自然被踢出mempool就好。
也难怪Luke把这东西当作bug,还写到CVE list里面了。
https://tinyurl.com/brjms38t
https://i.imgur.com/pwzLSUN.png
因为这种做法问题实际上很多。
所以BCH后来就用CashToken这种矿工验证的代币标准来取代SLP标准了。
回到正题,假如真的要用ETH智能合约写BRC-20这种玩法可以怎么写呢?
首先当然就是摒弃ERC-20标准,因为ERC-20标准里的方法与资料结构都是矿工验证的。
我们只需要把区块链当作数据库使用就好。
下面就随便写一个把智能合约当作字串数据库的程式码,
没经过任何验证检查,只是要方便讲概念。
pragma solidity ^0.8.0;
contract LongStringArray {
string[] public strings;
function write(string memory newString) public {
strings.push(newString);
}
function read() public view returns (string[] memory) {
return strings;
}
}
有最简单write和read function可以读写这个字串数据库。
所以只要用write(newString)写入BRC-20标准的json字串进去理论上就可以使用了。
index server则是用read去读这个字串阵列数据库去验证交易并且得出所有余额。
不过BRC-20有些操作必须改一下,就是因为ETH等EVM链是account模式。
所以mint与transfer的操作必须加上地址字段。
可以额外写这些function,
让合约操作者方便呼叫这些function就可以把这些json格式的指令写入到strings中。
后面就不写了,在EVM链上做这种事情真的是没有意义的事情。
有兴趣的人自己研究吧。
作者: Bewho (壁虎)   2023-12-17 20:54:00
持续关注技术
作者: dnac6h12o6 (steven)   2023-12-17 20:58:00
推推
作者: jixian (litMager)   2023-12-17 21:13:00
作者: MustangF (野马F-type)   2023-12-17 21:19:00
作者: leechiungyi (Ianlee)   2023-12-17 21:26:00
看不懂还是默默推了
作者: kf013099 (KenKuan)   2023-12-17 21:28:00
Eth 上已经有了,叫 ethscriptions ...真的莫名其妙lol
作者: qw5526259 (缤纷乐)   2023-12-17 21:53:00
推~~~
作者: MACD (MACD)   2023-12-17 22:05:00
在EVM上发铭文就是一件很瞎的事情,但是币圈就是有一个怪现象,越没用的东西越能够赚钱
作者: wahaha99 (此方不可长)   2023-12-17 22:17:00
原来BRC-20不只是垃圾,还是垃圾中的垃圾这不修掉对BTC不是好事,毕竟是加密货币龙头,炼上都是垃圾是怎样
作者: Shinn826 ((*∂v∂))   2023-12-17 23:20:00
现在链上卡了一堆垃圾 Gas高矿工爽 打铭文的迟早要归零
作者: ripple0129 (perry tsai)   2023-12-17 23:35:00
换句话说ERC20做成铭文就是放弃矿工验证,给莫名的index server验证XD
作者: zack0000 (哄哄哄轰轰)   2023-12-17 23:36:00
推 这波乱喷一波
作者: gajo1564 (gajo1564)   2023-12-18 00:17:00
推 不过赌徒无所谓安全不安全 有人当流动性能下车就行
作者: gR7P4zXH (tpn7gpdx)   2023-12-18 01:04:00
Luke XDD
作者: sdtty (龙井裘德洛)   2023-12-18 03:05:00
作者: Orisinal (http://orisinal.com)   2023-12-18 05:17:00
现在风气就是管他什么内涵 反正fomo进去 然后翻了几倍财富自由
作者: ssnopra (provia不要開口~不要回 )   2023-12-18 09:54:00
作者: shuo19971203 (iphoneQQQQQQ)   2023-12-18 10:13:00
也不是不能冲 也不一定赚不到钱 但你要明白铭文就是垃圾 拿你的真钱冲垃圾 值不值得 风险会不会大就自己判断了
作者: adamcha (生于安乐 死于忧患)   2023-12-18 10:37:00
加密货币就是充斥一堆垃圾 才让一般人不敢进场
作者: jimjim951357 (v54dt)   2023-12-18 12:21:00
作者: wlsh5701 (舞林树枝)   2023-12-18 13:06:00
EVM版的铭文甚至不用写到storage 用calldata还更省gas
作者: allen139443 ( ∩ д ∩ )   2023-12-18 13:43:00
用evm捏铭文币某种程度上也算一种行为艺术了lol
作者: cweotn   2023-12-19 12:01:00
作者: wlsh5701 (舞林树枝)   2023-12-19 12:09:00
只要能够做json留言版的地方都可以玩铭文
作者: Ayukawayen (亚布里艾尔发芽>//<)   2023-12-19 12:11:00
论PTT Tipper是不是一种铭文(?)
作者: leofu100 (dreamingleo)   2023-12-19 14:40:00
好文推
作者: he00234643 (冰冰的)   2023-12-19 16:38:00
看不懂先推一个就对了@@
作者: andy7829 (罐头)   2023-12-19 19:19:00
推黑鸭大
作者: CN091118 (熬夜放假人生ZZZ)   2023-12-19 21:27:00
看不懂推@@
作者: ms0529876 (大洋游侠)   2023-12-20 01:40:00
作者: tomroy (离题辉。)   2023-12-20 10:46:00
这种烂东西竟然可以换钱....
作者: bojue (neverforget)   2023-12-20 13:27:00
先推再看
作者: ydnar331   2023-12-20 13:40:00
作者: albertBTC (躺平的胖韭菜)   2023-12-21 02:48:00
重点就是我们矿工赚翻了https://youtu.be/bO4HMfYtmiQ?si=k4BfsbmvXh_x_qEG1t收益达到 3.5台币,120t比特币矿机,1天收益420台币(电费200台币)每天净利润220台币上下炒铭文有没有赚钱我不知道,但矿工100%赚手续费然后河北好冷..https://i.imgur.com/6qVqXLz.jpg
作者: redbullwings (红牛给你一对翅膀)   2023-12-21 10:21:00
长知识!
作者: BisWang (胃痛提督)   2023-12-21 16:00:00
推技术
作者: kidneyweakx   2023-12-21 22:06:00
应该未来btc上要是src20或rune这类像cashtoken协议BRC20太过暴力 风险真的太高
作者: jinhouse123 (回到1981吧)   2023-12-24 08:30:00
其实也可以创69协议,那聪又可以再重新玩一遍。。
作者: justben (BEN)   2023-12-28 00:54:00
重新使用木轮 比重新发明轮胎更屌
作者: mystage (亭)   2022-01-14 13:04:00

Links booklink

Contact Us: admin [ a t ] ucptt.com