以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads

如何在DFINITY上鑄造自己的Token?關于Token標準的討論_DFI

Author:

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

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

本期亮點:

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

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

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

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

ICP代幣的實現

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

美國財政部正在研究如何使用數字美元來保護隱私:金色財經報道,負責金融機構的助理部長Graham Steele表示,美國財政部一直在研究如何使潛在的數字美元的零售交易盡可能保持私密和匿名,盡管他說美國還沒有決定是否推進中央銀行數字貨幣(CBDC)的發展。

然而,Steele也指出了零售業CBDC可能存在的風險,特別是運行的危險。最近的美國銀行業動蕩表明,\"使存款流動的技術只會越來越快,\"這增加了高速、恐慌性的資金流動的危險。斯蒂爾說,一個由財政部領導的小組正在研究建立美國中央銀行數據中心的可能性,\"該小組正在評估與全球金融領導地位、國家安全、隱私、非法金融和金融包容性有關的政策目標。[2023/6/14 21:34:44]

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

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

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

中央紀委國家監委網站發文《元宇宙如何改寫人類社會生活》:12月23日消息,中央紀委國家監委網站于今日發文《元宇宙如何改寫人類社會生活》,文中解釋了什么是元宇宙,元宇宙為什么能出圈,并且提到要“理性看待元宇宙帶來的新一輪技術革命和對社會的影響,不低估5-10年的機會,也不高估1-2年的演進變化”。[2021/12/23 7:59:46]

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

沿用ERC-20的代幣標準

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

聲音 | 礦海學院創始人Andy:如何利用金融工具鎖定利潤是新時代礦工必須補的一門課:在今日TokenInsight對話首席第20期《比特幣挖礦,你真的懂嗎?》的直播中,針對“是否在未來會出現更加智能的豐枯水期預測工具以輔助礦工進行決策?的提問,礦海學院創始人Andy指出:枯水期來臨,電力資源減少,勢必會淘汰小算力的機器,受影響的將是這部分礦工群體。2019年四川灃水期延遲,這讓很多礦工機器停放在礦場無電可挖,如果有準確的灃枯水期預測工具,相信會為礦工提供更好的決策參考。現在大部分礦工考慮的是如何能夠找到低價合規穩定的電力資源,然后大部分礦工應該都希望比特幣的價格可以漲起來,早期礦工依靠囤幣就可以賺錢,這在幣價上漲行情下可行,可是2018年持續下行,如何利用金融工具鎖定利潤是新時代礦工必須補的一門課。[2019/9/6]

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

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

比特幣共識大會圓桌討論有關政府如何使用加密技術:今日比特幣共識大會召開,在有關政府如何使用加密技術的圓桌討論環節,德勤高級經理Wendy Henry表示,美國正著眼于能夠實現現代化的技術。這些技術例如區塊鏈技術,實際上可以作為連接的組織,人們必須弄清關于如何使用區塊鏈技術。linux基金會首席營銷官Jamie E. Smith表示,區塊鏈技術并非將房子燒毀一樣的革命,而是提供政府目前已經提供了的服務的更好版本。[2018/5/15]

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

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

美國商品期貨交易委員會公布關于如何定義加密貨幣已經交易完成的解釋: 美國商品期貨交易委員會(CFTC)已經公布了解釋說明,關于如何定義加密貨幣已經從買方“交付”給了賣方。確認交付已經完成的的兩個因素是:1. 客戶有能力 (i)擁有和控制全部數量的商品,無論是以保證金,還是使用杠桿或其他融資購買,以及(ii)在交易之日起28內,自由地商業使用商品(在任何特定平臺內外);以及2. 報價人及賣方(包括各自的關聯方或與報價人或賣家合作的其他人士)不保留任何利益或控制任何以保證金,杠桿或其他融資方式購買的商品,在超過自交易日期起計28日后。據CFTC稱,提議的解釋不是最終的,需要經過90天的公眾評議期。[2017/12/16]

更符合DFINITY的代幣標準

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

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

最大的區別在于增加了記錄轉賬歷史消息的數據庫:因為代幣同樣也是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與該代幣的交易對,來扣取對應數量的該代幣,實現手續費完全覆蓋交易處理成本。

進一步優化?去掉Approve

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

使用PrincipalID節省空間

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

語言選擇

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

管理合約控制者

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

關于DFinance

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

Tags:DFIFINICPANCguildfi幣論壇Fox Finance V2icp幣有價值嗎Kuber Finance

比特幣價格實時行情
歐洲放射學會:區塊鏈技術如何賦能醫學成像?_區塊鏈

編者注:歐洲放射學會(EuropeanSocietyofRadiology)是一個非營利性非治政性國際組織,致力于促進和協調所有歐洲國家放射學的科學、慈善、知識和專業活動.

1900/1/1 0:00:00
Uniswap V3 LP與傳統永久看漲看跌期權的相似之處_UNI

UniswapLP代幣和期權。將Dai-ETHUniswapv3LP頭寸部署到比當前現貨價格高一個點的位置,就相當于寫入了一個Dai-ETH備兌看漲期權.

1900/1/1 0:00:00
ZT三周年 乘風起 扶搖直上_EFI

轉眼之間,ZT已經在波蕩起伏的市場里走過了三載春秋。正可謂數易春秋,風華正茂;幾載耕耘,卓有成效。這三年,區塊鏈行業可謂是風起云涌,ZT已經逐步成長為新一線交易所.

1900/1/1 0:00:00
NFT 有哪些社會價值?_NFT

目錄 NFT的價值導向 藝術品買賣 真實性證明 稀缺性保護 虛擬物品證明 新工作 新經濟 平行世界 NFT如何助力慈善事業 刺激捐贈 品牌和身份 互惠性 慈善拍賣 BeNeFiT 收入分享功能.

1900/1/1 0:00:00
我勸我媽不要炒幣_BIT

去中心化穩定幣項目Ethena完成600萬美元融資:7月17日消息,去中心化穩定幣項目Ethena完成600萬美元融資,Dragonfly領投.

1900/1/1 0:00:00
出海不易 留守無門 中國加密礦工“進退維谷”眾生相_比特幣

6月19日中午,一位礦工在微博上感慨:“四川800萬負荷,今天0點,集體關閉,區塊鏈歷史上,礦工最慘烈和最壯觀的一幕要發生,這里究竟有多深遠的影響,未來才會知道.

1900/1/1 0:00:00
ads