DigiCurrency 板


LINE

很久沒發技術文了,因為這波就是沒什麼新技術啊,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鏈上做這種事情真的是沒有意義的事情。 有興趣的人自己研究吧。 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.27.80.199 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/DigiCurrency/M.1702815946.A.F8D.html ※ 編輯: DarkerDuck (114.27.80.199 臺灣), 12/17/2023 20:48:10 ※ 編輯: DarkerDuck (114.27.80.199 臺灣), 12/17/2023 21:13:14
1F:推 Bewho: 持續關注技術 12/17 20:54
2F:推 dnac6h12o6: 推推 12/17 20:58
3F:推 jixian: 推 12/17 21:13
4F:推 MustangF: 推 12/17 21:19
5F:推 leechiungyi: 看不懂還是默默推了 12/17 21:26
6F:推 kf013099: Eth 上已經有了,叫 ethscriptions ...真的莫名其妙lol 12/17 21:28
7F:推 qw5526259: 推~~~ 12/17 21:53
8F:推 MACD: 在EVM上發銘文就是一件很瞎的事情,但是幣圈就是有一個怪現 12/17 22:05
9F:→ MACD: 象,越沒用的東西越能夠賺錢 12/17 22:05
10F:推 wahaha99: 原來BRC-20不只是垃圾,還是垃圾中的垃圾 12/17 22:17
11F:→ wahaha99: 這不修掉對BTC不是好事,畢竟是加密貨幣龍頭, 12/17 22:17
12F:→ wahaha99: 鍊上都是垃圾是怎樣 12/17 22:17
13F:推 Shinn826: 現在鏈上卡了一堆垃圾 Gas高礦工爽 打銘文的遲早要歸零 12/17 23:20
14F:推 ripple0129: 換句話說ERC20做成銘文就是放棄礦工驗證,給莫名的in 12/17 23:35
15F:→ ripple0129: dex server驗證XD 12/17 23:35
16F:推 zack0000: 推 這波亂噴一波 12/17 23:36
17F:推 gajo1564: 推 不過賭徒無所謂安全不安全 有人當流動性能下車就行 12/18 00:17
18F:推 gR7P4zXH: Luke XDD 12/18 01:04
※ 編輯: DarkerDuck (122.121.132.61 臺灣), 12/18/2023 01:11:35
19F:推 sdtty: 推 12/18 03:05
20F:推 Orisinal: 現在風氣就是管他什麼內涵 反正fomo進去 然後翻了幾倍 12/18 05:17
21F:→ Orisinal: 財富自由 12/18 05:17
22F:推 ssnopra: 推 12/18 09:54
23F:推 shuo19971203: 也不是不能衝 也不一定賺不到錢 但你要明白銘文就 12/18 10:13
24F:→ shuo19971203: 是垃圾 拿你的真錢衝垃圾 值不值得 風險會不會大 12/18 10:13
25F:→ shuo19971203: 就自己判斷了 12/18 10:13
26F:推 adamcha: 加密貨幣就是充斥一堆垃圾 才讓一般人不敢進場 12/18 10:37
27F:推 jimjim951357: 推 12/18 12:21
28F:推 wlsh5701: EVM版的銘文甚至不用寫到storage 用calldata還更省gas 12/18 13:06
29F:推 allen139443: 用evm捏銘文幣某種程度上也算一種行為藝術了lol 12/18 13:43
30F:推 cweotn: 推 12/19 12:01
31F:→ wlsh5701: 只要能夠做json留言版的地方都可以玩銘文 12/19 12:09
32F:推 Ayukawayen: 論PTT Tipper是不是一種銘文(?) 12/19 12:11
33F:推 leofu100: 好文推 12/19 14:40
34F:推 he00234643: 看不懂先推一個就對了@@ 12/19 16:38
35F:推 andy7829: 推黑鴨大 12/19 19:19
36F:推 CN091118: 看不懂推@@ 12/19 21:27
37F:推 ms0529876: 推 12/20 01:40
38F:推 tomroy: 這種爛東西竟然可以換錢.... 12/20 10:46
39F:推 bojue: 先推再看 12/20 13:27
40F:推 ydnar331: 推 12/20 13:40
41F:推 albertBTC: 重點就是我們礦工賺翻了 12/21 02:48
42F:→ albertBTC: https://youtu.be/bO4HMfYtmiQ?si=k4BfsbmvXh_x_qEG 12/21 02:49
43F:→ albertBTC: 1t收益達到 3.5台幣,120t比特幣礦機,1天收益420台幣 12/21 02:51
44F:→ albertBTC: (電費200台幣)每天淨利潤220台幣上下 12/21 02:51
45F:推 albertBTC: 炒銘文有沒有賺錢我不知道,但礦工100%賺手續費 12/21 02:53
46F:推 albertBTC: 然後河北好冷..https://i.imgur.com/6qVqXLz.jpg 12/21 02:58
47F:推 redbullwings: 長知識! 12/21 10:21
48F:推 BisWang: 推技術 12/21 16:00
49F:推 kidneyweakx: 應該未來btc上要是src20或rune這類像cashtoken協議 12/21 22:06
50F:→ kidneyweakx: BRC20太過暴力 風險真的太高 12/21 22:06
※ 編輯: DarkerDuck (36.236.242.187 臺灣), 12/22/2023 18:25:37 ※ 編輯: DarkerDuck (36.236.167.70 臺灣), 12/22/2023 19:50:47
51F:→ jinhouse123: 其實也可以創69協議,那聰又可以再重新玩一遍。。 12/24 08:30
52F:推 justben: 重新使用木輪 比重新發明輪胎更屌 12/28 00:54
53F:推 mystage: 推 01/14 13:04







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BuyTogether站內搜尋

TOP