想到一种简单的防止算力攻击的办法,将比拼算力,变为比拼节点
1、在main.cpp的AcceptBlock函数中(第1857行),加入验证前100个区块中的挖矿地址检测,一旦检测到此地址已存在,则拒绝加入链中,加入高度判断,判断从编写代码后预定的时刻开始,否则会造成同步失败问题
2、更改区块生成的时间,严格要求必须大于30秒
3、此更改必须将节点和矿池都进行更新,少部分不更新的也不会影响使用,主要是矿池
4、矿池数量要达到100以上,最好增加1.5到2倍,否则会出现无法产块的问题
5、还可加入均匀化算力难度,如果本次难度超过前一个区块15%以上,则丢弃此区块,直到均衡化的算力,且产块时间超过30秒为止
注:
1、100个区块和100个节点,只是假设,需要论证
100个矿池可以理解为100个节点,节点可以开启solo挖矿,也可以使用ltc_scrypt算法的矿机,但是矿机挖矿可能算力会被磨掉,大算力起不到优先打包权
2、15%也是一个参考数值
这种方案是将算力弱化,将去中心化强化,防止
其他的问题大家思考
如果有人能够实现,请下载源码,https://github.com/withu2018/infinitecoin
发布前请公开审核,并在测试网络中进行测试
如果需要社区可以配合测试
依然是POW,仅仅加了限制,且可以实现软分叉,不影响原有区块链数据
理论上比现有POS或POW或POS+POW等方案更加去中心化和更安全一些
缺个程序员编写代码
一种简单的防止算力攻击的办法,将比拼算力,变为比拼节点
下载声明:
本站所有软件和资料均为软件作者提供或网友推荐发布而来,仅供学习和研究使用,不得用于任何商业用途。如本站不慎侵犯你的版权请联系我,我将及时处理,并撤下相关内容!