買比特幣 買比特幣
Ctrl+D 買比特幣
ads
首頁 > 波場 > Info

ICP:如何在DFINITY上鑄造自己的Token?關于Token標準的討論_區塊鏈

Author:

Time:1900/1/1 0:00:00

6月10號,ICP League 聯合社區開發者舉辦了第三期的開發者電話會,邀請了 DFinance 項目的開發者共同探討了如何在 DFINITY 上發行代幣,以及類似 ERC-20 代幣標準的設計思路。點擊“閱讀原文”可以查看視頻回放。

本期亮點:

ICP 本身就是 DFINITY 的第一個代幣,是以智能合約的形式部署在鏈上的,因此可以作為實現標準的參考;

在 DFINITY 上實現類 ERC-20 標準時,與以太坊不同,DFINITY 的區塊鏈上不會保留交易的 massage,因此需要在代幣標準下記錄交易記錄;

因為有限的容器空間中需要保存交易記錄,因此代幣合約存在擴容問題;

DFINITY 使用了反向 gas 模型,用戶使用無需消耗 gas,因此為了避免大量垃圾交易攻擊,需要在代幣標準中寫入轉賬扣費或手續費;

在以太坊網絡中,ETH 代幣是區塊鏈底層的原生代幣,其挖礦、轉賬、與合約交互、支付 gas 等交易事件也被打包放在區塊中,與區塊鏈耦合;而在 DFINITY 上,ICP 代幣實際上搭建在網絡上被稱為“Ledger”的智能合約,ICP 代幣的查詢、轉賬、交易管理與質押等功能是現在智能合約中(archive_node.rs)。

摩根大通投資策略主席:不管比特幣如何擴張,如何流行都不能讓人感到滿意:金色財經報道,金融巨頭摩根大通投資策略主席Michael Cembalest在最近的一次采訪中表示,他對比特幣和加密貨幣的世界并不瘋狂,暗示盡管比特幣如何擴張,如何流行,但這種貨幣不會讓所有人都感到滿意。Cembalest 表示所表達的觀點是他自己的觀點,而不是摩根大通的觀點。不喜歡世界排名第一的數字貨幣,原因有兩個。首先是因為它的波動性,他說這阻止了比特幣“進入與價值投資相一致的范圍”。另一個原因是因為比特幣并沒有像許多分析師讓我們相信的那樣證明自己是對沖通脹的工具。(livebitcoinnews)[2022/2/14 9:49:52]

由于 DFINITY 的智能合約更類似于互聯網微服務下的容器,而智能合約的狀態是保存在 Ledger 容器內部。實際上,ICP 的所以交易記錄是保存在智能合約內部的,需要使用該合約的函數進行查詢。

實際上,只有 DFINITY 的 gas 代幣 cycles 是鏈上唯一的底層原生代幣,而只有通過燃燒 ICP 才能獲取 cycles。

所有操作都記錄為 Ledger 容器內的交易,同時 DFINITY 在 Ledger 容器中記錄賬本時使用了區塊鏈式的數據結構。注意,這里的區塊鏈只是存賬本數據的格式,并不是我們理解的有共識的區塊鏈。以下是實現的狀態。

數據:谷歌搜索“如何購買NFT”興趣值達到100 全球對NFT興趣在八月飆升426%:金色財經報道,根據區塊鏈中心對谷歌趨勢數據的分析顯示,2021年8月,全球對非同質化代幣(NFT)的興趣增加了426%。2021年8月1日,谷歌搜索關鍵字“如何購買NFT”的次數為19,但到2021年8月29日,該數字已經上升到100。谷歌的搜索興趣以點數來衡量,100分最高,0分最低。由于谷歌搜索“如何購買NFT”興趣值已達到100,這表明創下了2021年迄今為止的最大搜索量。另外根據國家區塊鏈,對數字藝術作品興趣最高的是新加坡,谷歌搜索值為100,澳大利亞以86分位居第二,尼日利亞緊隨其后(70分)。(finbold)[2021/9/8 23:10:29]

因此,ICP 可以看成 DFINITY 上第一個代幣規范,他的代碼已經開源,在實現類似 ERC-20 標準時最好沿用 ICP 代幣的設計,開源鏈接:https://github.com/dfinity/ic/tree/master/rs/rosetta-api/ledger_canister。

訪問 https://github.com/dfinance-tech/ic-token/blob/main/simple-erc20/src/token.mo,可以查看 DFinance 沿用 ERC-20 的 DFINITY 代幣標準的源碼,使用了官方開發的語言 Motoko 編寫。

聲音 | Ripple CEO:正與監管機構會面解釋如何使用加密技術:Ripple CEO Brad Garlinghouse在接受采訪時表示其正在告訴銀行,“加密不是一個壞詞”。他稱,“我正在做很多事情是與監管機構、銀行高層會面,向他們解釋如何使用加密技術,特別是XRP來解決實際問題,而不是規避監管。一旦人們理解了這一點,他們很快就會解除武裝,加密這個詞就不再是一個貶義詞”。(CoinTeleraph)[2020/2/20]

owner_ 表示 token 創建者,一般是容器的部署者;name_ 表示名稱;decimals_ 表示代幣的精確位數;symbol_ 是代幣的標志;totalSupply_ 是代幣的總供應量。以上是一些基礎。

但其實表示代幣位數的 decimals_ 可以考慮刪除,在以太坊合約中需要這個參數是因為以太坊使用的 solidy 無法支持浮點數的計算,但是 DFINITY 的語言是可以支持浮點數運算的。

balances 是一個數據庫下的類型,表示一個賬戶對應的余額是多少。這里使用了 DFINITY 的持久化數據庫 HashMap,在賬戶與余額間建立了聯系。allowance 記錄的是 Approve,這在以太坊中經常使用,允許一個賬戶或智能合約使用你的余額。

動態 | 美國大學不知如何處理所得數字貨幣捐款:據Cryptoticker消息,美國大學處于數字資產捐贈的接收端,每年以比特幣和其他數字資產形式接受捐贈的美國大學名單繼續增長。然而,似乎并非所有大學都非常熱衷于接受不熟悉的資產作為捐贈,許多大學都不清楚如何處理他們所獲得的數字貨幣資金。[2018/10/18]

這個實現沿用了 ERC-20 的 transfer、transferFrom、balanceOf、allowance、approve 這些操作。關于代幣的鑄造與銷毀功能,在以太坊上很多項目會選擇直接把代幣轉入 0x0 地址進行銷毀,因為不可能有人能逆向算出 0x0 地址的私鑰,所以再也無法轉出。但在 DFinance 的標準下并沒有這么操作,因為 DFINITY 目前還沒有公認的銷毀地址,因此實現了一個 burn 方法,在數據庫中直接減去余額。

從 DFINITY 上線后官方開源的了 ICP 的實現代碼,在沿用 ERC-20 的情況下更貼近了官方的做法,盡量實現兼容,也變得更為復雜,開源代碼:https://github.com/dfinance-tech/ic-token/tree/ledger/src。

DFINITY 的 ICP 實現用中,賬戶使用的是 account ID,而在該實現中使用的是 Principal ID,關于兩者區別我在《對DFINITY的去中心化身份、賬戶與錢包介紹,開發者能如何利用?》中有過介紹,關于兩者的選擇社區也不同的意見。

金色財經現場報道 海納云CTO鄒均:區塊鏈技術難點在于如何讓所有節點統一步調:金色財經現場報道,在2018區塊鏈技術及應用峰會上,海納云CTO鄒均認為,區塊鏈技術當前的限制難點在分布式系統中讓所有節點統一步調,區塊鏈目前存在性能限制、擴展性限制、易用性限制、兼容性跨鏈互聯限制、存儲限制、治理限制、軟件升級限制等問題。[2018/3/31]

最大的區別在于增加了記錄轉賬歷史消息的數據庫:因為代幣同樣也是 DFINITY 上的智能合約的實現,因此和 ICP 存在同樣的問題,即以數據最終一致性為先,而區塊上查不到交易信息。因此必須在容器內建立數據結構來保存 message。在核心代碼下找到 OpRecord.mo,每一次轉賬、鑄造、銷毀、approve 的操作都以一條 OpRecord 的記錄,一條 OpRecord 下有詳盡的相關信息,方便用戶日后查詢。

在此前我們多次聊過擴容問題,同樣在代幣標準中又出現了。因為現在的需要在智能合約中保存代幣的轉賬記錄,這將是非常龐大的數據,而 DFINITY 目前只支持最大 4GB 的容量。

實際上所有 DFINITY 的應用都會遇到容器容量限制的問題,終極解決方案是實現一套自動擴容的數據庫基礎設施,它會會在一個容器容量消耗殆盡前,把數據劃分到新的容器里。

這個基礎設施相當于一個標準化的數據庫中間層,上層 DApps 可以直接調用數據庫中間層的接口,而數據庫容器的擴容問題由中間層。目前雖然有嘗試去實現數據庫引擎的 sudograph,但他目前更多是方便開發者自定義數據類型,還沒有去嘗試自動擴容。

當然短期內,也可以定期打包一些交易歷史到外部靜態存儲中去,然后刪掉 DFINITY 容器內的歷史,只保留一段時間。而且 DFINITY 的 WASM 可能會支持 64 位,這樣可以擴大單個容器的內存。

在《為什么說是下一代區塊鏈,DFINITY的8大核心優勢!》中介紹過,DFINITY 使用了反向的 gas 模型,以太坊上用戶為自己的發送的交易付 gas,而 DFINITY 上由部署合約的支付 gas,普通用戶不需要付手續費就能享受合約的服務,當然包括代幣轉賬。

但可能會遭受潛在的攻擊,如果有人惡意發出一大堆垃圾交易,或者不停地調用合約,又或者在你的合約里面塞滿垃圾數據,消耗合約的存儲空間與 gas,就會出現宕機。在代幣合約上的直接表現就是所有人都無法轉賬,甚至可以利用這種 DDOS 攻擊阻止大家交易,從而操縱市場。

DFINITY 的 ICP 代幣在實現時考慮到了這一點,每次調用轉賬都需要扣去手續費,現在一筆操作回固定扣走 0.0001,來防止攻擊。而代幣合約在設計時,可以衍生出更多有意思的設計:

1、轉什么幣,扣什么幣手續費。代幣合約的每次轉賬、鑄造等操作,都扣取或銷毀一定的數量或比例的代幣,這種方案非常簡單,聽起來很像以太坊上的通縮代幣設計。

2、轉幣扣 ICP 當手續費,類似 ICP 自身的實現。

3、在以太坊上每個計算操作都有固定的 gas 消耗數量,開發者可以去估算一個操作消耗的 gas 數量。目前在 DFINITY 上還么有這樣的接口,但是是可以實現的。而且 DFINITY 的 gas 是使用穩定價格的 cycles 支付。因此可以先估算操作需要消耗多少 cycles 來計算操作的單價,然后根據交易所中 cycles 與該代幣的交易對,來扣取對應數量的該代幣,實現手續費完全覆蓋交易處理成本。

以太坊網絡中因為 ETH 與 ERC-20 標準之間的差異,并且為了避免重入攻擊,導致了 approve 這么一個額外的操作。但在 DFINITY 中,有人提議可以去掉 approve 功能,來提升使用體驗,并提出來“訂閱”的替代方案。并且這樣也能防止攻擊,因為在 DFINITY 模型下的 approve,攻擊者可以發送一大堆 approve 來占滿容器的內存讓其宕機。當讓也有一些人提出來反對意見,具體社區討論可以查看:https://forum.dfinity.org/t/thoughts-on-the-token-standard/4694/4。

使用 Principal ID 節省空間

在《對DFINITY的去中心化身份、賬戶與錢包介紹,開發者能如何利用?》中我們介紹來 DFINITY 的 Principal ID 和 Account ID 兩種類似的 ID:Principal ID 被用于容器的使用,而 Account ID 被用于賬本,兩者同源。目前 DFINITY 的 ICP 實現中使用的是  Account ID,但社區也有人提出希望在代幣合約中使用 Principal ID。因為 Principal ID 更短,可以節省 25% 的空間。

語言選擇

官方在 AMA 中表示,建議開發者使用 Rust 來編寫對安全性要求更高的代碼,比如代幣合約。

管理合約控制者

因為 DFINITY 的合約允許升級,因此合約的控制者具備較大權力,甚至可以增發代幣,回滾業務,因此需要更好的去管理控制者。可以把控制者分配給零地址讓合約永遠無法升級,也可以把控制者替換為一個 DAO,由社區集體管理。

感謝 DFinance 開發者的分享,DFinanace 正在建立 DFINITY 的代幣標準,并幫助用戶一鍵發行代幣,并建立 swap 等金融基礎。可以通過關注 https://twitter.com/DFinance_AI 獲取他們的消息,也可以通過后續的測試鏈接鑄造自己的第一個代幣。

Tags:FINDFIICP區塊鏈goldhoefinanceLDFIicp幣最新真實消息新聞區塊鏈專業方向好就業嗎

波場
FTX:高盛:比特幣不是散戶玩得起的投資?_My Pandaverse

隨著比特幣在過去一年中飆升至新高,許多人都在考慮是否應該入場投資。然而近日,高盛ISG團隊卻警告稱,對于大多數投資者,投資組合中配置數字貨幣是沒有意義的.

1900/1/1 0:00:00
比特幣:ATM機上如何數字人民幣存取現金?多地已支持_加密貨幣

據北京商報報道,在北京地區走訪銀行網點時注意到,已有工商銀行、農業銀行等銀行部分網點ATM機啟用了數字人民幣存取現功能.

1900/1/1 0:00:00
ARB:比投資者更不爽馬斯克的 是特斯拉的會計和股東們_JustCarbon Removal

在比特幣上反復無常的Elon Musk(埃隆·馬斯克),不僅讓加密投資者感到惱火,也讓特斯拉(NASDAQ:TSLA )的會計師們感到頭疼不已.

1900/1/1 0:00:00
WEB3:狂人說:換手持續 多點耐心_比特幣今日價格行情價格最新消息

狂人本著負責,專注,誠懇的態度用心寫每一篇分析文章,特點鮮明,不做作,不浮夸!本內容中的信息及數據來源于公開可獲得資料,力求準確可靠,但對信息的準確性及完整性不做任何保證,本內容不構成投資建議.

1900/1/1 0:00:00
以太坊:晚間必讀5篇 | 四川正式開啟虛擬貨幣挖礦項目清退工作_以太坊交易付費的成本是

1.金色觀察 | 立即關停! 四川正式開啟虛擬貨幣挖礦項目清退工作繼新疆、內蒙古、青海、云南相繼出臺針對虛擬貨幣挖礦的監管政策后,比特幣挖礦大省四川終于出手.

1900/1/1 0:00:00
EBTC:比特幣存款收益率對比 如何獲得更高收益?_比特幣

在比特幣過去十多年的發展歷程中,雖然價格總體向上,但過程曲折,牛熊交替中,很多早期參與者被清洗出局.

1900/1/1 0:00:00
ads