如何使用代币本身作为矿工费?EIP965和slp邮资协议或可解决

代币经济是公链最大的应用,但发送代币需要主网币作为矿工费这点很反人类习惯。以太坊上的Erc20代币需要ETH作为矿工费,比特币上的omni代币需要btc作为矿工费,比特币现金上的slp代币需要BCH作为矿工费。这些都很烦人。

有很多人愿意持有usdt稳定币,但不持有比特币和以太坊。我曾经卖过少量的BTC和ETH给人作为矿工费,原价10块钱,卖20块钱。

我们付人民币,支付美元,从来不需要黄金作为矿工费。为什么付usdt-Erc20代币需要用ETH作为矿工费,烦死。有没有办法让支付代币免于主链币矿工费?

在链上发送交易,无论是主网币还是链上代币,都需要支付主网矿工费。这主要是为了防止DDoS,试想如果不需要矿工费,一个人生成两个地址,写个脚本无限相互转账,每天产生几亿几亿的交易数据发到链上,整个区块链不得爆掉啊。

发送链上代币能不能默认不使用主链币作为矿工费呢?为什么没有哪条公链会设计成发送代币使用代币本身作为矿工费?

代币是可以随意生成的,如果一个人发了一个代币,它本身没有价值,然后用这个代币无限在链上发交易,这不也把链给搞死了吗?

有没有办法让发代币不需要主链币作为矿工费,而且还能免于DDoS?

以太坊是最大的代币经济平台了,目前币圈主流的代币都跑在以太坊,以太坊也最迫切需要一个免ETH发代币的解决方案。

其实理论上,以太坊是非常容易解决这个矿工费的问题的。因为以太坊是一个智能合约平台,只需要写一个专门为代币交易支付ETH矿工费的合约即可解决问题。

以太坊分别有一为代币支付ETH矿工费的提案EIP965(https://github.com/ethereum/EIPs/issues/965),还有一个未分配到EIP代号的提案:ERC865(https://github.com/ethereum/EIPs/issues/865)

以太坊解决这个问题的基本思路是这样的:

设计一个智能合约。

往合约里预存一些ETH。

合约设计一个白名单ERC20代币列表。

在白名单内的ERC20代币,用户发送代币交易时调用该合约。(这需要钱包设计好)

用户的交易需要给合约支付一笔所发送的代币作为矿工费。

合约会给用户发送交易时支付一笔ETH矿工费,这样交易就可以被矿工打包了。

本质上以太坊的免矿工费发代币是设计一个合约商店,让用户使用代币换ETH。

但以太坊的这一解决方法一直没有流行,相反,以太坊普遍采用了中心化的解决方案。

交易所其实都解决了这个问题,我们在交易所提任何代币都不需要主链币作为矿工费的,交易所直接帮我们扣代币,然后交易所自己会添加主链币作为矿工费。

比特派作为钱包商,也出过帮用户代付矿工费的解决方案。

中心化的解决办法说白了就是用户用代币换中心化公司的主链币,甚至用户可以用人民币来换。

BCH的代币经济系统slp协议现在开始慢慢进入主流了,也需要解决发代币免使用BCH作为矿工费的问题,以提高用户体验。

BCH开发者提出一个叫slp邮资协议的解决方案。(slp-postage-protocol:https://github.com/simpleledger/slp-specifications/blob/master/slp-postage-protocol.md)

使用slp邮资协议发交易的基本构成如下:

用户使用anyonecanpay发送slp交易,交易输入至少两个:

Input1:用户需要发送的slp币

Input2:空留一个bch输出,留给邮资协议服务商补齐

Input3:一般邮票金额是固定的,如果用户的交易尺寸比较大,就需要贴多张邮票,就需要空留多个Input给邮资协议服务商贴邮票。

交易输出至少三个:

Output1:用户发送的slp币的目标地址

Output2:服务商的收币地址,用户使用slp币支付给邮资协议服务商的邮票

Output3:邮资协议服务商的地址,input2的BCH金额-output3的BCH金额=矿工费。如果有多张邮票,就会有output4这些。

补充一点Anyonecanpay的交易格式知识。

如其名,就是任何人都可以支付的交易。一般交易钱包组装交易时会把所有的输入输出都写好,并把输入的签名写好,然后发送出去。

钱包组装anyonecanpay交易时,允许第一个发送者只组装部分输入并签名和所有输出,并且空缺若输入,或者在脚本上设置满足多少金额的输入后即生效。然后其他钱包在收到这个交易时可以主动添加后续输入并签名,但不能添加输出。然后再广播给矿工打包,矿工可以验证交易是否合法。

有了以上知识就可以描述邮资协议的基本逻辑了:

邮资服务器设立slp代币白名单列表。

在白名单内的slp用户使用anyonecanpay交易格式发送slp代币。

邮资服务器收下一部分代币。

服务器给交易贴邮票,即添加BCH矿工费,追加到用户的交易里。

交易成立,矿工验证并打包。

因为邮资协议是公开的,任何人都可以搭建邮资服务器,但需要钱包端的支持。钱包需要用户能够构建anyonecanpay交易,并且默认添加slp矿工费给邮资服务器。

邮资协议是在2019年末提出的,我只看到面包钱包集成了。但随着slp代币的流行,估计其他钱包也会跟随的。

邮资协议需要BIP70的支持,BIP70是一个支付协议,细节不用关心了。BTC禁用了BIP70,所以BTC不能使用邮资协议。

BTC生态总体思路是场景收缩,集中于实现去中心化和储值。BTC的一个设计理念就是交易格式越来越少,集中做那些交易尺寸小的交易。比如和本文中提到的anyonecanpay格式相对应的还有一个叫anyonecanspend的交易,BTC就禁用了。

像邮资协议这种把交易搞的更复杂,去适应更多的场景的协议,BTC生态都不怎么爱搞,有人提也得不到支持。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块分享

BTC自然常数e与Filecoin预期共识有什么关系?

老子曰:“人法地、地法天、天法道、道法自然”。在区块链的实践中,由于是建立Code is Law的体系,遵循 In Math We Trust 的法则。在一个不受个体控制的网络,遵循自然的法则尤其重要。我提倡Filecoin的设计从简、自然。也是这个道理。 自然常数 e,是一个神奇的数,在数学中又极为自然。

欧易交易所app下载7.28午间行情:趋势行情拿着不动 比频繁操作赚得多

文章系金色财经专栏作者牛七的区块链分析记供稿,发表言论仅代表其个人观点,仅供学习交流!金色盘面不会主动提供任何交易指导,亦不会收取任何费用指导交易,请读者仔细甄别,谨防上当。 昨日午评提到比特币突破10330后上方空间将打开,今天一波又拉盘百分之十,直接拉到了11386美金,市场一致认为牛市已经来了,同时各交易所也流入大批资金,为后期拉盘奠定基础。

[0:0ms0-0:484ms