木星链 木星链
Ctrl+D收藏木星链

FIN:如何在DFINITY上铸造自己的Token?关于Token标准的讨论

作者:

时间: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代币的查询、转账、交易管理与质押等功能是现在智能合约中。

由于DFINITY的智能合约更类似于互联网微服务下的容器,而智能合约的状态是保存在Ledger容器内部。实际上,ICP的所以交易记录是保存在智能合约内部的,需要使用该合约的函数进行查询。

恒生电子:联盟链的创新空间应集中在如何更好地服务中小和小微企业方面:金色财经报道,6月23日,恒生电子区块链发展部运营经理林晗做客金色财经举办的“联盟链-创新场景应用的偶然与必然”为主题的金色沙龙第64期活动。林晗表示中国的区块链研究和专利成果,从一开始就比较集中在区块链技术的应用和落地,也就是产业区块链方面。现阶段联盟链适用于与具体细分产业相结合的场景,比如说产业金融领域,例如产业金融区块链平台范太链。联盟链的创新空间应是集中如何利用区块链解决小微企业的信任问题、更好提升小微企业运营效率来开展。因为区块链能解决的一个核心痛点是信任问题,与本身就具有信任背书能力的大企业相比,在产业中往往是小企业才需要解决信任问题。区块链作为一种划时代意义的记账技术,其最大的价值是应该被用来与实体产业结合,促进社会发展。[2021/6/23 0:00:23]

实际上,只有DFINITY的gas代币cycles是链上唯一的底层原生代币,而只有通过燃烧ICP才能获取cycles。

所有操作都记录为Ledger容器内的交易,同时DFINITY在Ledger容器中记录账本时使用了区块链式的数据结构。注意,这里的区块链只是存账本数据的格式,并不是我们理解的有共识的区块链。以下是实现的状态。

波卡社区正在讨论如何限制验证者大幅更改佣金:刚刚,Web3基金会技术教育主管Bill Laboon发推提醒用户小心局。Web3基金会、Polkadot官方以及Parity都没有赠送DOT和KSM代币。与此同时,Bill Laboon还公布波卡项目进展。内容显示:1.目前验证者可以随意更改佣金比例。目前社区正在讨论如何限制佣金变动以避免佣金大幅变动,例如在获得足够多的提名者后,将佣金由0%改为100%。2.财政部已经开始讨论Elara 0.2提案。Elara 0.2是Patract Labs是为以Substrate为基础的链提供的基础设施。[2020/10/29]

因此,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编写。

声音 | 北京商报:如何把区块链等与金融业务进行融合是关键:8月28日,北京商报发布了题为《持牌机构怎么变:破体制禁锢 走独立之路 》的文章,对央行《金融科技(FinTech)发展规划(2019-2021年)》进行了解读。文章称,在分析人士看来,场景化是金融科技发展的一个重要趋势,因为只有嫁接到具体场景,才能让金融科技更好地服务于实体经济,降低风险发生的可能,而如何把AI、大数据、云计算、区块链等技术与金融业务进行合理而深度的融合是关键。[2019/8/28]

owner_表示token创建者,一般是容器的部署者;name_表示名称;decimals_表示代币的精确位数;symbol_是代币的标志;totalSupply_是代币的总供应量。以上是一些基础。

但其实表示代币位数的decimals_可以考虑删除,在以太坊合约中需要这个参数是因为以太坊使用的solidy无法支持浮点数的计算,但是DFINITY的语言是可以支持浮点数运算的。

balances是一个数据库下的类型,表示一个账户对应的余额是多少。这里使用了DFINITY的持久化数据库HashMap,在账户与余额间建立了联系。allowance记录的是Approve,这在以太坊中经常使用,允许一个账户或智能合约使用你的余额。

声音 | 美国商会Julie Stitzel:美国必须以不同方式思考如何将现有监管原则应用于数字资产:据Cointelegraph消息,美国商会资本市场竞争力中心副总裁Julie Stitzel表示,美国在金融部门通过和修改法律框架的历史导致了强有力的监管结构,使市场稳定并有效管理风险。尽管数字资产市场仍处于萌芽阶段,但存在着美国可能落后的风险和担忧——错过利用新兴技术培育创新、创造就业和增长经济的机会。作为世界上最大的经济体,美国必须以不同的方式思考如何将现有的监管原则应用于数字资产——包括加密货币。对数字资产进行适当分类,并确定有权监管和监督数字资产的联邦实体,这是为创新者提供监管清晰度的一种方式。[2019/8/5]

这个实现沿用了ERC-20的transfer、transferFrom、balanceOf、allowance、approve这些操作。关于代币的铸造与销毁功能,在以太坊上很多项目会选择直接把代币转入0x0地址进行销毁,因为不可能有人能逆向算出0x0地址的私钥,所以再也无法转出。但在DFinance的标准下并没有这么操作,因为DFINITY目前还没有公认的销毁地址,因此实现了一个burn方法,在数据库中直接减去余额。

更符合DFINITY的代币标准

从DFINITY上线后官方开源的了ICP的实现代码,在沿用ERC-20的情况下更贴近了官方的做法,尽量实现兼容,也变得更为复杂,开源代码:https://github.com/dfinance-tech/ic-token/tree/ledger/src。

声音 | 中国市场学会理事张锐:无论Libra命运如何 Facebook都是大赢家:7月18日,中国市场学会理事、经济学教授张锐发表文章《无论Libra命运如何,Facebook都是大赢家》。文章指出,由于Libra锚定了银行存款、政府债券以及一篮子货币,完全可以量度商品的价值,同时可以充当商品交换的媒介,并作为标的进入公众财富的储藏范畴。因此,即便是Libra不能获得全球性法定货币的身份,但它完全能够以数字货币的身份像比特币那样在商品与服务流通领域长袖善舞,而且庞大的用户群体为其创造的价值空间一定比任何一种数字货币要广阔宽泛得多。不仅如此,Libra还可像微信和支付宝那样打开数字金融与数字社会的入口,从而将Facebook带入新的商业模式。[2019/7/18]

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获取他们的消息,也可以通过后续的测试链接铸造自己的第一个代币。

标签:FINDFI区块链ICPPeach FinanceNDFIL区块链专业怎么样icp币值得长期持有吗是真的吗

抹茶交易所热门资讯
Kusama:Kusama平行链拍卖 下个月会成为波卡的爆发期吗?

6月8日,波卡创始人GavinWood对外释放了较为确定的Kusama卡槽拍卖时间表。需要注意的是这个时间表是按照GavinWood向理事会建议的节奏下,并且Kusama中继链没有重大问题和意外.

1900/1/1 0:00:00
NFT:金色DeFi日报 | BSC链上项目xWin遭到闪电贷攻击

DeFi数据1.DeFi总市值:630.8亿美元 市值前十币种排名数据来源DeFiboxDeFi总市值数据来源:Coingecko2.过去24小时去中心化交易所的交易量:40.

1900/1/1 0:00:00
区块链:新闻周刊 | 长期持有者仍在买入 美联储或2022年底加息

金色周刊是金色财经推出的一档每周区块链行业总结栏目,内容涵盖一周重点新闻、矿业信息、项目动态、技术进展等行业动态。本文是其中的新闻周刊,带您一览本周区块链行业大事.

1900/1/1 0:00:00
ETH:解读4种投资策略:2021年DeFi的表现是否优于以太坊?

在DeFi的爆炸式增长中,出现了无数新项目、工具和全新构想新金融产品的设计方式。这种创新伴随着成长的烦恼和风险。因此,DeFi通常需要更多的实践.

1900/1/1 0:00:00
AION:6.28午间行情:反弹能否持续 关键位置在这

文章系金色财经专栏作者牛七的区块链分析记供稿,发表言论仅代表其个人观点,仅供学习交流!金色盘面不会主动提供任何交易指导,亦不会收取任何费用指导交易,请读者仔细甄别,谨防上当.

1900/1/1 0:00:00
SDT:近4年已有710亿美元加密货币流经“区块链岛”马耳他

据马耳他当地媒体报道,自2017年马耳他的“区块链岛“战略实施以来,已有710亿美元的加密货币流经该国.

1900/1/1 0:00:00