**EOS 原力(EOSC)**是全球首个 EOS 分叉主网,在原来 EOS 的基础上做了许多优化和改进,特别是开创了投票抵押可获得分红的 Staking 模式和一票一投下完全社区自决策的治理模式。EOS 原力已经走出了自己独立的发展路线,不但提出多链架构,为开发者提供一键启链工具,同时还在进行跨链协议开发,打造多链生态。
EOS是基于EOSIO启动的主网,EOS原力(EOSC)是为了解决EOSIO中存在的问题,基于不同的治理理念,对EOSIO进行选举机制优化和大量的技术改进后,在创世高度1启动了EOSC主网,是全球首个EOS分叉主网。
EOS原力(EOSC)共识机制
EOSC沿用了EOSIO的共识机制, 即DPOS BFT Pipeline Consensus, 与EOSIO不同, EOS原力(EOSC)没有采用EOSIO每0.5秒一个区块, 一个节点连出6个块的模式, EOSC中每3秒一个区块, 节点不会连续出块, 虽然节点连续出块可以降低未打包交易的等待时间, 但是由于当前网络环境往往并不十分理想, 快速出块会影响链的稳定, 造成大量的微分叉.
EOSIO当前的共识机制不够完美, 但是作为一个DAPP的平台, 区块的确认时间并不是链的第一优化要务, 对于EOS原力(EOSC), 必须在高负载环境下考虑共识机制, 在当前并行计算机制并不完善的情况下, 仓促改进流水线式的确认机制很带来很大问题.
1.兼容EOSIO发展更新其共识算法,我们根据EOSIO当前开发进度判断,当EOSIO完成并行改进之后, 将会升级共识算法, 实现更快的区块确认时间.
2.将会适配其他的基于确认数的共识机制, 作为现有DPOS共识的补充, 一方面实现内嵌的Layer 2链共识与主链的交互。另一方面, 可以实现与其他共识机制的链完成更加去中心化的跨链机制.
**EOS原力(EOSC)**基于EOSIO启动,是全球首个也是唯一的EOS分叉主网。EOS原力在EOSIO的基础上,主要做了以下改进。
基于手续费的资源模型
EOSIO的CPU和NET资源的支付模式虽然在技术是一个很好的设计, 对于用户来说太过复杂, 同时不能促进DAPP开发者优化其合约, 另一方面, EOSIO的RAM的购买方式会导致某些囤积行为, 不利于DAPP生态的发展, 为此, EOS原力(EOSC)创新的设计了一套全新的资源模型, 通过实践中的优化,探索在复杂智能合约环境下基于手续费的资源模型, 彻底解决困扰EOS生态的资源问题.
首先, EOS原力(EOSC)以手续费模式支付用户的CPU和NET资源消耗, 对于DAPP当中开发者定义的Action, DAPP开发者可以为Action设置所需的手续费, 系统基于此来控制Action的资源使用, 这样一方面便于用户理解资源的消耗, 另一方面也强烈的促进DAPP开发者优化合约资源使用, 使得整个生态良性发展.
EOS原力(EOSC)采用类似租云主机的方式以方式分配RAM资源, 用户可以通过使用投票分红来支付租赁RAM资源的费用, 这样即不需要用户担忧租金缴纳问题, 也杜绝了租金欠费的问题. 通过“以租代售”的方式, EOSC可以有效避免针对RAM资源的投机行为, 使得DAPP的发展不必受到RAM价格的干扰, 有效促进DAPP生态建设.
在大胆创新探索新的资源模型的同时, *EOS原力(EOSC)*也在机制上进行探索以兼容EOSIO的资源模型, 对于CPU和NET资源, 用户可以基于分红票龄支付手续费来达到类似EOSIO抵押获取CPU和NET资源的效果, 对于RAM, 用户可以通过抵押投票互换的形式来达到EOSIO基于市场购买的效果, 这样DAPP开发者可以快速从其他EOSIO链切入EOSC, 并平滑的转向EOS原力(EOSC)的资源模式.
平滑的更新机制
EOS原力(EOSC)的选举机制促使超级节点积极的参与推进技术升级, 不同于EOSIO社区节点版本的分裂, EOSC在实践中积极的推进技术升级和更新.
为了实现更平滑的不兼容升级过程, EOSC添加了一套基于生效区块高度的更新机制, 社区可以通过多签确认一个功能的生效块高度, 以此去中心化的完成平滑的升级过程, 不同于EOSIO最近提出的基于区块拓展数据的标签方案, 原力EOS(EOSC)的更新机制更友好和利于理解. EOSC在基于EOSIO的链中最早实践了去中心化的“软分叉”更新过程, 这是EOSC得以不断进化以解决各类机制问题的基本保障.
在另一方面, 基于多签设置链属性的功能可以为社区提供一套去中心化的链配置上链方案, 各种参数和配置可以根据实际发展来进行去中心化的修改, 使得社区更好的发展.
节点心跳机制与稳定的出块间隔
为了促进主网的稳定性, EOS原力(EOSC)从经济模型的角度加强了备选节点的建设, 同时, EOSC添加了链上的节点心跳机制, 以此促进节点加强提高其稳定性, 促进整个主网更加稳定.
在心跳机制的基础之上, EOS原力(EOSC)可以确认节点的运行情况, 使得基于链上对故障节点进行惩罚, 以此进一步督促节点的建设, 防止节点不作为导致整个主网的不稳定.
在启动之初便提高出块间隔时间, 以此避免在当前网络基础设施还未完善的情况下, 主网出现偶尔的软分叉, EOSIO设计的半秒钟的出块间隔和一个节点连出六个块的机制固然可以在未来提高链的可用性, 但是当前网络环境下还不适用, 本着务实的态度先行提高出块间隔时间, 未来条件成熟之后再改为快速的出块, 这样可以有效的减少软分叉, 同时区块数量减少可以大幅提高全节点同步速率, 使得可以有更多的全节点, 以此加强整个网络的可用性.
更多的合约层API
为了使DAPP开发者可以更加方便的开发合约, 添加了一些API, 并且对系统合约做了一些特定的调整.
首先, 添加了获取区块高度的API, 开发者可以简单高效的获取当前区块高度, 基于这个API, 合约可以有效避免阻塞区块攻击, 及其他基于重试的攻击. 其次, 添加了获取链配置信息的API, 开发者可以在合约层适配链的各种参数修正和链的升级, 以此合约也可以平滑的跟随链升级功能. 最后, 为了避免假币攻击, 在链启动之前, 就使用了独立的核心代币合约, 使得用户可以明显区分假币攻击.
适配跨链服务
在启动之初,原力团队就预见到未来对跨链的支持将是公链的基本功能, 因此原力团队开启Codex项目的开发, 建立Codex.Relay中继链来为各个链提供中继服务, 以此实现各个链之间的跨链机制, 可以对Codex.Relay进行更加完善的支持, 通过两条链的超级节点互相操作, 可以实现“完备化”的跨链机制, 即跨链过程中不会降低任何链的去中心化程度.
通过跨链机制, 可以获得极大的扩展性, 基于中继服务, 可以为添加 Layer 2 子链, 一些资源消耗量较大的服务和DAPP可以基于子链运行, 通过中继服务将计算结果或者核心状态同步到中, 这样后续可以添加存储、计算、DAPP、随机数等专用子链, 以此拓展功能.
高度可定制化的EOSIO区块链开发框架
基于中继服务, 可以为添加 Layer 2 子链, 未来各式子链将会在EOSIO的生态中发挥很大的作用, 但是需要注意到, 目前基于EOSIO开发一条定制功能的区块链项目还是具有很高的门槛的, 为此原力团队开启了Codex.io项目, 这是一个高度可定制化的EOSIO区块链开发框架, 降低子链的开发门槛, 为开发者提供一个更经济更友好的子链开发体验.
原力团队在开发的过程中积累了很多基于EOSIO开发区块链的经验, 也希望能够将这些经验发挥其最大的价值, Codex.io是一个“开箱即用”的EOSIO区块链开发框架, 开发者可以快速的基于Codex.io启动一条自己的链, 经过简单的配置, 可以定制各种符号、自由选择经济系统和资源模型, 在此基础之上, 开发者只需要关注链本身所要解决的问题, 据此可以选择基于合约或者链native层来实现, Codex.io可以便于开发者在链的native层进行的拓展, 以此解决一些性能问题, 同时也可以极大拓展链的功能.
Codex.io集成了目前大多数EOSIO链所提出的拓展功能, 本着兼容并蓄的态度, Codex.io允许开发者自由组合链上功能: 包括低保系统、账户系统、各种黑白名单机制、常见的治理机制和投票机制以及各种插件.
通过Codex.io, 未来将会集成大量的Layer 2 子链, 这会为提供无限拓展性.
EOS原力(EOSC)总量10亿,根据北京时间2018年6月03日的EOS ERC20映射快照完成初始资产分配。用户可使用映射过的EOSIO私钥离线签名激活EOSC资产。
EOS原力(EOSC)通胀
EOS原力(EOSC)的通胀率为上一年总量的20% ,即每年的区块奖励总和是上一年系统中所有EOSC的20%。
EOS原力(EOSC)资产具备以下属性:
可用余额:可用于转账、投票等行为的自由使用金额。
投票金额:投给不同节点的金额,处于锁定状态,减少或撤回投票后转为赎回金额。
赎回金额:撤销投票的金额,需要经过 3 天冻结期后手动提取成可用余额。
待领分红:投票人根据投票权重能获得的分红奖励,手动提取后转为可用余额。
冻结金额:根据《EOSForce主网未激活创世账户的代币锁仓提案》,在提案正式生效前还无转出、无投票行为的创世账户的80%资产已进行锁仓,等额置换为锁仓代币。
EOS原力(EOSC)主网的出块时间设为 3 秒,每产生一个区块,系统都会增发一定数量的EOSC,称为区块奖励。区块奖励的分配如下:
1.区块奖励的10%由出块节点按出块数占比分发。
2.区块奖励的10%由所有收益节点奖励按照投票加权票数占比分发。
3.区块奖励的50%节点可以自由调整分红比例。
4.区块奖励的30%进入去中心化预算系统。
选举机制决定了DPOS机制能否充分生效,而投票机制则是选举机制是核心。
EOSC主网实行一票一投的投票机制,一个账户可以给多个节点投票,但每一个原力EOS(EOSC)一次仅能投给一个节点。EOSC主网的实践证明,一票一投可以有效地防止节点联盟的出现,为节点的竞选营造了一个更加公平、合理、有活力的选举空间。
通过一票一投的投票制度,没有节点可以长期霸占出块节点列席,后来的新节点也有足够的空间跻身成为出块节点。EOSC主网的选举机制充满活力。
EOS原力(EOSC)加权票数
节点的排名由所获得的加权票数决定,节点所获得的加权票数越高,节点的排名越靠前。
参与投票的方式分为定期投票和活期投票。定期投票有多种时间周期可选择,分别是3个月、6个月、12个月和24个月对应的块高度。定期投票期间代币处于锁定状态,到期自动解锁。
活期投票没有无固定周期,投票代币可以随时选择赎回,赎回需要3天时间的块高度解锁。
此外,不同的时间周期所对应的票数权重也不同,活期票数权重为0.2,而3个月、6个月、12个月,24个月的时间周期分别对应的权重为1、2、4、8。
不论是定期投票还是活期投票,投票人都可以随时切换节点,只需要支付系统本身的操作手续费,无需等待时间。
投票分红是EOS原力(EOSC)主网激励链上用户积极参与投票的激励方式。持币人参与投票可获得分红奖励,分红奖励来源于系统的增发。
投票人可获得分红奖励的多少,取决于其投票的加权票数在总加权票数中的占比。加权票数占比越高,可获得的分红奖励也越高。
定期投票和活期投票所产生的分红都可以随时领取和复投,但定期投票的本金无法在定期结束之前释放,到期后票数权重清零。
EOSC主网设有链上去中心化预算系统,任何人都可以发起预算提案申请,并交由管理委员会进行审批。去中心化预算系统的资金来源于通胀,通胀发行的30%进入预算系统,且没有总量限制。
预算提案的申请有以下规则:
提案人发起提案需要抵押100个EOSC作为押金,防止垃圾提案,押金在提案通过后退回。
提案人需要详细说明提案目标,实施细则(周期、成本、金额)以及提案将带来的回报。
提案获得管理委员会批准后,将有14天的公示期,公示期内大于三分之一超级节点反对,即可否决提案。若提案在公示期没有被否决,在公示期后,系统将自动将申请奖励按月份发放到申请人账户。
提案通过公示期后,提案人在下一个区块奖励中,会按月份开始获得申请的EOS原力(EOSC)代币来执行自己的提案内容。
奖励发放期间,管理委员会和超级节点大于三分之一否决,可以叫停该提案奖励发放。
在这里插入图片描述
背景
EOS原力(EOSC)主网的节点分为出块节点和收益节点。
出块节点,也即超级节点,是基于加权票数排名的前23名节点。
收益节点是能够获取网络投票收益的注册节点。任何人都可以接入EOS原力(EOSC)主网成为收益节点,并按照投票加权票数占比瓜分区块奖励的10%。
基于DPOS共识机制的区块链系统需要多个超级节点共同运行和维护,如果这些超级节点中某些节点运行出错或作恶,系统的安全和稳定将会受到威胁。为了更高效地保障系统的安全稳定,淘汰作恶节点和不作为节点,选举出能够真正地为社区服务、支撑系统运作的节点,EOS原力(EOSC)主网建立了节点惩罚机制。
节点惩罚机制主要体现在三个方面,一是减少出块节点的区块奖励,二是扣除出块节点押金,三是冻结节点。
根据区块奖励分配规则,生产节点可以获得区块奖励的10%。但区块奖励并不由出块节点平均分配,而是按照节点的出块币龄(连续出块时间)作为权重来分配。
具体地说,EOS原力(EOSC)主网提出了”出块节点稳定度“的概念。每个节点的出块节点稳定度的初始值为0,如果每个周期600个块不漏块则加1。最大为3800,达到3800不再继续增加。如果有漏块情况重置为0.
出块节点稳定度和出块分红权重相关。如果连续稳定出块则分红权重高,在出相同块的情况下,稳定度越高的节点分红越高。
节点需要抵押一部分系统代币作为押金才能成为出块节点。如果出块节点漏出块,每少生产一个区块将扣除该区块奖励的2倍押金。当节点的押金低于系统设定的最低值,则节点无法获得出块奖励,且不能竞选出块节点。
如果在出块过程中,节点的押金被扣为负数后还不补足,则投票给此节点的所有用户都没有分红,节点也无收入奖励。
在节点连续漏块超过9个块后,任何人都可以发起多签提议惩罚冻结节点,未出块扣除的罚金由提议多签惩罚漏块节点的用户和同意多签的前16名出块节点平分(发起方占20%,同意多签占80%)。提议多签惩罚需要抵押100EOSC代币,14400块高度后无论多签是否通过,可领取返还抵押代币。
被冻结的出块节点进入为期1小时的观察期,此期间用户投票无挖矿奖励,节点也无任何奖励。观察期过后BP可申请恢复正常,再进入正常选举,产生正常投票挖矿收益。
https://www.eosforce.io/