quota模式和charge模式的区别

除了charge模式中原生代币可以用来治理链,两者模式的本质区别是什么?分别适用于那种场景?

@cipher , 你怎么看这个问题?

一种适用于没有交易手续费模式,一种适用于需要用交易手续费补贴出块节点模式。
前者比较适合已经有链外激励,或者本身就是有基础设施属性,例如政府机构这一类的场景。
后者可以更好的激励商业合作,因为本质上运行节点产生的基础费用,需要有成本补贴,这样大家才能有动力。另外原生token的好处在于可以为平台设置一个通用的结算单位。CIPHER可以补充。

非原生代币也可以用来治理链,取决于你的治理合约认可的是哪个代币。

quota 模式和 charge 模式的本质区别在于对系统资源占用的度量。首先不论在哪个模式里面,我们都需要防止 DDOS 攻击,即对系统资源的无休止占用。例如如果没有任何限制,恶意用户,或者善意但不当使用的用户可能持续发起交易,导致其他人无法使用区块链。

在 quota 模式中,每个地址在每个区块中能够获得的运算资源是有个上限的,它是由 quota limit 参数描述,这样可以一定程度地防止资源被无休止占用。

在 charge 模式中,我们对资源占用有了市场化的度量,需要占用更多资源的交易需要付出更多的原生代币。所以对比 quota 模式,前者是计划经济,后者是市场经济。

具体选择哪种模式,取决于业务的参与对象。例如有中央监管方的链可以用 quota 模式,完全社会化协作的链则建议用 charge 模式更加公平。

2赞

quota*price = charge?
计划经济的体现形式是什么?因为我理解我们设置了quota limit,只是限制一笔交易的运算资源上限

除了 quota limit 还有 BQL 与 AQL ,来限制一个用户的过度资源占用。见:

你也可以看一下之前关于 quota 的两个 talk:


这两天我又仔细想了一下这个问题,我的理解如下,供讨论:

quota 应定义为:用户交易在系统执行过程中的资源消耗的基本单位。它仅仅是表达一个资源的消耗,而后文所描述的 BQL, AQL 也都是就这个资源消耗而言,它的作用仅在于用户对系统资源消耗限制,从而达成我们所说的资源控制目标。它无关乎费用,与用户的帐户里是否有 token 没有任何关系。

charge 模式,才与 token 有关系,才与费用有关系。charge 模式将系统的资源消耗转化成了 Native Token, 用以对用户在区块链上的行为收费,然后将这些收费重新分配。所以,charge 模式才有费用的度量,将系统资源的消耗换算成实际的费用 (Native Token) 。

简单的说就是:

quota 模式 = 系统资源消耗的统计, 而

charge 模式 = quota 模式 + 资源定价 + 价值再分配