CelesOS研究院丨在区块链上实现RAM随时间衰减的实操演示

论坛 期权论坛 期权     
CelesOS   2020-3-28 03:35   931   0



接上文,CelesOS研究院针对当前RAM资源的紧缺昂贵造成网络频频拥堵,投机者长期囤积大量空闲RAM进行炒作,真正需要RAM的用户购买RAM的成本不断变高等区块链资源使用缺陷进行了详细阐述,并全新构架了在区块链上实现RAM随时间衰减的方案以及影响参数的设计

在CelesOS区块链系统中实现RAM随时间衰减的具体操作步骤、相关代码设置、和触发RAM衰减场景及过程等技术方案,也将在本章节中展开。




No.1
操作过程图解






在区块链上实现RAM随时间衰减的方法,具体操作如下:

S1.在系统里增加系统参数:衰减周期,这个参数最初是由系统设置,可以通过BP多签的方式来修改;


S2.在系统里增加系统参数:RAM总衰减幅度百分比,这个参数最初是由系统设置,可以通过BP多签的方式来修改;


S3.在系统里增加系统参数:用户最小持有RAM,这个参数最初是由系统设置,可以通过BP多签的方式来修改;


S4.在区块链节点代码里增加一张表resource_verify_ram_object,用于记录衰减用户名称及上一次RAM衰减时间;


S5.在区块链节点代码里增加查询用户本次RAM衰减量的方法ram_attenuation,该方法接收的参数为需要进行RAM衰减的用户的用户名;


S6.系统合约的全局对象_gstate里增加属性:last_user,用于保存上一次衰减用户名称;


S7.在系统合约里增加衰减用户RAM的方法ramattenuator,该方法接收的参数为需要进行RAM衰减的用户的用户名。






备注
Note01:所述根据传入的用户名调用ram_attenuation查询用户此次需要衰减多少RAM。
Note02:所述如果需要衰减的RAM大于零,根据这个衰减量减少用户持有的RAM,更新用户表该用户的RAM记录。


Note03:所述调计算RAM价格的方法将衰减掉的RAM转换为X个代币。


Note04:所述调用系统转账方法,从系统账户eos.ram里转出X个代币到eos.ramfee里。进一步,所述设置:_gstate.last_user=传入的用户。








No.2
触发RAM衰减场景





用户买卖RAM时,触发衰减的过程:


  • 用户通过客户端或者第三方钱包向EOS系统发起买RAM或卖RAM的交易;


  • 系统合约会处理用户的买RAM或卖RAM的交易;

  • 系统合约以用户购买RAM时传入的接收者用户名为参数调用ramattenuator方法进行RAM衰减。




用户已使用的RAM被释放的时候触发RAM衰减的过程:


  • 用户释放了已使用的RAM,在resource_verify_ram_object表里记录该用户名称;


  • 待超级节点出块时,从resource_verify_ram_object查找记录进行RAM衰减。


超级节点出块时触发的RAM衰减过程:


  • 超级节点开始出块,调用系统合约onblock方法;

  • 查询resource_verify_ram_object表里保存的需要进行RAM衰减的用户名称,如果resource_verify_ram_object表里没有记录,根据_gstate.last_user从系统USER表里查找下一个衰减用户;

  • 根据查找到的用户名称调用ramattenuator方法进行RAM衰减。


综上所述,CelesOS区块链系统对RAM持有量的监管提供了解决方案,主要还是希望用户在购买RAM的时候能够遵循“用多少买多少”的原则,其中的核心衰减方法通过传入的用户名以及系统设置的一系列参数来计算衰减量,然后根据这个衰减量来对用户持有的RAM进行衰减,并将衰减掉的RAM转换为代币转入系统账户,有效避免投机者长期持有大量RAM,从系统层面提供对用户持有RAM的监管,RAM的衰减由系统自动触发,无任何额外的资源开销。





相关术语:bancer算法:大多数区块链中计算RAM价格所依赖的算法,系统售出的RAM越多RAM的价格会越高。RAM:区块链系统里的一种资源,在区块链里发起一笔交易时需要使用,需要用户使用代币购买。超级节点:在使用委托权益证明共识的区块链系统中,会通过投票选出若干节点用于打包交易和生产区块,这些被选出的节点叫超级节点。多签:在使用委托权益证明共识的区块链系统中,如果需要修改某个系统参数,可以通过发起一个修改提案,然后由所有超级节点对这个提案进行投票,如果同意提案则对提案进签名,当由2/3+1的超级节点通过了提案时这个提案可以被执行。



CelesOS
CelesOS作为首个DPOW金融区块链操作系统,采用共识机制3.0突破“不可能三角” 既可提供高TPS,又能兼顾去中心化。致力于打造拥抱监管的金融区块链操作系统,为金融机构和监管链上开发应用提供服务,为监管制定角色和共识生态的监督层协议。
CelesOS团队致力于为区块链和监管机构/金融业之间搭建桥梁。我们相信只有与监管机构合作的区块链技术才会拥有真正的未来。我们相信并为实现这一目标而做出贡献。




Website

https://www.celesos.com/



Telegram

https://t.me/celeschain



Twitter

https://twitter.com/CelesChain



Reddit

https://www.reddit.com/user/CelesChain



Medium

https://medium.com/@CelesChain



Facebook

https://www.facebook.com/celeschain



Youtube

https://www.youtube.com/channel/UC1Xsd8wU957D-R8RQVZPfGA



分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP