POE 利用区块链挖掘协同执行遗传算法

这篇具有很好参考价值的文章主要介绍了POE 利用区块链挖掘协同执行遗传算法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

论文地址
Proof of Evolution: leveraging blockchain mining for a cooperative execution of Genetic Algorithms

带着问题去阅读:

  • 什么是进化证明?
  • 进化证明有什么优点,从哪些角度去证明该方法的正确性?
  • 进化证明有什么缺点,哪些原因被限制住了,有什么方法能解决这些问题?
  • 未来的方向

核心思想

POE与POW和POS的区别与联系

使用部分挖矿组件来执行一些客户可以提交的遗传算法(GA)
PoE实现了矿工之间的一种合作心思。在采矿过程中,矿工必须维护和发展候选解决方案的群体,PoE为他们提供了分享他们当前发现的最佳解决方案的可能性,他们可以将这些解决方案添加到他们的群体中。
PoW的优势,只要诚实的节点集体控制的计算能力超过任何合作的攻击者节点群,该系统就可以被认为是安全的。这种说法建立在矿工必须解决散列难题的属性,以实例化一个区块。
上述属性包括:

  • 问题的内在硬度
  • 容易解决的公共可验证性
  • 所有问题的同质硬度
  • 难度可调整性
  • 区块敏感性
  • 不可重复使用性
  • 计算的独立同分布性

PoW的缺点:为了保持区块链运行引起的巨大消耗。

本文贡献

  • PoE能在采矿时执行优化问题,并且包含了PoW的所有属性,它通过在采矿过程中消耗的部分计算能力来执行GA,使矿工之间进行合作,提高GA的解决方案的质量。
  • 提供来一个关于工作在采矿计算总量中的百分比估计,实验结果表明使用PoE达成的解决方案质量优于用PoS达成的结果。
nonce的结构
 - nonce("sol","eval","cmp") 
 - sol:使用中的GA的可能解决方案 
 - eval:精确性
 - cmp:衡量所使用的精确性函数的复杂性 nonce的结构

在 PoE 的 nonce 第三个值与作业的解决方案及其评估一起要求。
每个基本操作都有自己的去权重,而且这些权重不是固定,会被一个伪随机变量所改变,这个偏移量由前一个区块的哈希值和矿工的公钥决定。

如何引入合作?

矿工应该能够分享他们的解决方案,使其他们无法窃取他们。 在PoS中, 这个问题是可以避免的,因为只有宣布最佳解决方案的矿工才会在比赛结束时公布其解决方案。
PoE中,矿工想分享他们当前的最佳解决方案:

  • 检查他们的解决方案所属的工作是否开放
  • 检查他们的解决方案是否优于已知的最佳解决方案
  • 在交易中提交解决方案时,ID以及通过评估器获得的解决方案的分数连接哈希值
  • 等到当前区块被开采出来,这样他们之前的交易就被确认了
  • 其他矿工可以将解决方案添加到他们的本地群里中,并使用它进行交叉,如果他们发现了更好的解决方案
奖励

PoE有三种不同的独立奖励:

  • 对发现有效nonce的第一个矿工的奖励
  • 对客户提交的GA最佳解决方案的矿工的奖励
  • 以及对激励矿工合作的奖励

挖矿的奖励由系统分配能够像PoW那样实例化一个区块的第一个矿工。
最佳解决方案的奖励是由提交相应GA的客户支付的,就像在PoS中。这样一来,客户就没有兴趣提交一个他已经知道最佳解决方案的作业,无法作弊。
为了建立一个真正的合作系统,应该刺激矿工分享个人解决方案。因此只要他们的解决方案对其他人有用,他们就应该得到一点奖励。这种奖励不能由系统产生,否则客户可能会赚取欺骗的钱。所以这种奖励也必须由客户支付。系统应该制定一些标准来说明一个解决方案是否“有用”,以确定何时必须向矿工付款。

安全考虑

这个模型中并不鼓励客户为自己的工作提交解决方案,特别是提交他已经知道的好解决方案的工作,因为他必须为使用这个系统付费。
这个恶意的客户端可以建立一个假的评估器,它为他所知道的特定输入返回最大的分数,而为输入中的每一个其他值返回常规的分数。如果矿工在区块链中分享他们的解决方案,客户端可以阅读它们,在比赛结束时,他将成为拥有假的最佳解决方案的赢家,获得他支付的奖金。因此,他将从其他人那里读到一些好的解决方案,而不支付他们。为了防止这种不良行为,PoE要求对有用的共享解决方案也要付费,而且这种付费必须由客户来执行。如果一个客户提交了一个假的最佳解决方案,没有其他的解决方案会更好,因此,从那一刻起,没有更好的解决方案会被公布。

拒绝服务攻击,阻止工作的执行或支付。一种方法是为候选解决方案提交一个虚假的高评价。这种攻击可以被检测到与评估者检查解决方案。执行攻击的节点可以被禁止进入网络,最佳解决方案的选择可以重新开始。
PoW的另一个可能的问题是由挖矿的竞争性质引起的,它促使矿工购买应用规格集成电路形式的定制硬件。这种硬件比一般的硬件更有效,因此更容易使用。

测试和比较

作者将POE和POW以及POS进行了比较。
考虑到给定作业的评估者的复杂性,散列问题的硬度也相应进行了调整。POS(Proof of Search)被设计为使用与POW相同数量级的能量。POE也进行了相应的调整,使其消耗相同数量级的能量。POE与POW最大的不同在于,其在运行时会解决相应的优化问题。
挖矿任务的难易程度是由哈希字符串开头所需的零数来决定。在此我们假设哈希值是以十六进制字符串的形势存储在区块中,给定一个硬度k,随机nonce的有效概率为p=16^(-k).
挖矿有很多不走,矿工在其中生成一个新的nonce并检查其哈希值,知道一个有效的nonce被发现。最终操作量是由所有矿工进行尝试的次数乘以每一次尝试所需操作次数得到。
假设一个POW挖矿任务需要一个硬度k,则称之为:

  • 可以调整PoE对一个作业说要求采矿任务的硬度,以便需要与PoW相等的总操作量。
  • 如果PoE为一个特定的工作选择的硬度是k-1, 那么在每个采矿点花费的93%的操作尝试是有益的工作。
  • 如果PoE为某一特定工作选择的硬度为k-2或者更小,则99%的操作都是有用的。

提出的定理

将一项工作在POE中的硬度与它的复杂性联系起来。

POE中挖矿任务的硬度y可以通过计算y=k-log16((w+x)/w) w是制作区块哈希的计算要求,k是POW的目标硬度。
如果我们有y=k-1,更与上面的公式我们可以算出x~w(16^1 - 1)=15w。因为在每次采矿中尝试所进行的计算都是w+x=w+15w=16w,每次尝试的有用功百分比为x/(w+x)=15/16~93%

  1. IV.1 设k是POW中挖矿任务的硬度,y是POE为使用挖矿过程与POW在总量上一致而应该设置的硬度。设w为POW在每次尝试执行散列和检查时花费的操作量,设x为POE在每次尝试通过评估工作的候选解决方案生成新的nonce时花费的额外操作量。
    于是有了下面两条近似结果
    遗传算法优化区块链挖掘,论文解析,区块链,区块链

  2. 在证明IV.1之前,我们还需要证明 IV.2,设Pk为硬度k的采矿过程中哈希有效的概率,a是一个期望的阈值。矿工应该进行多少次尝试N,使得有K>=a的概率发现。一个有效的nonce是
    遗传算法优化区块链挖掘,论文解析,区块链,区块链

以最简单的方式表达就是:给定一个复杂度为x的工作,有可能找到一个使数量相等的硬度y,反之,给定一个硬度y,有可能得到工作必须具有复杂度x,以使得数量相等。

POE相比较于POS(搜索证明)的优势在于:它可以通过促成矿工之间合作来提高最终解决方案的质量。
通过在两种模式(标准和合作)下执行一套GA,在一组用不同种子初始化的矿工身上执行固定代数。
在这些测试中,一共考虑了4个GAs实现的实例:

  • TSP problems (最小化问题)
  • Knapsack problems (最大化问题)
  • Locolmotion problem (一个调用外部程序的复杂fitness任务)
  • Symbolic Regression problem(使用GP编程)
    遗传算法优化区块链挖掘,论文解析,区块链,区块链

最终实验结果表明,合作可以提高GA的最佳解决方案的精确性。

遗传算法优化区块链挖掘,论文解析,区块链,区块链
如果这篇文章对你有所帮助~
欢迎关注我的公众号夏虫不可语冰也
同时也欢迎访问我的个人网站 www.cjl946.com
未来将会出更多区块链相关论文解析哦!
遗传算法优化区块链挖掘,论文解析,区块链,区块链文章来源地址https://www.toymoban.com/news/detail-781043.html

到了这里,关于POE 利用区块链挖掘协同执行遗传算法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 遗传算法优化

    这里采用遗传算法搜索变换参数,它的并行性可以避免搜索陷入局部极 值。由对标准遗传算法的分析可以知道,影响遗传算法应用的主要因素有两个:一 是容易早熟;二是收敛速度慢。这里针对医学图像配准对标准遗传算法进行了改 进,改进后的遗传算法如下: 1)编码方

    2024年02月11日
    浏览(29)
  • 【Matlab】智能优化算法_遗传算法GA

    遗传算法(Genetic Algorithm,简称GA)是一种基于生物进化理论的优化算法,由John Holland于20世纪70年代初提出。它通过模拟自然选择和遗传机制,利用群体中个体之间的遗传信息交流和变异来搜索问题的解空间。 遗传算法的设计灵感来源于达尔文的进化论。达尔文提出,自然界

    2024年02月16日
    浏览(44)
  • 【优化算法】使用遗传算法优化MLP神经网络参数(TensorFlow2)

    使用启发式优化算法 遗传算法 对多层感知机中中间层神经个数进行优化,以提高模型的准确率。 待优化的模型: 基于TensorFlow2实现的Mnist手写数字识别多层感知机MLP 设置随机树种子,避免相同结构的神经网络其结果不同的影响。 准确率为96.7% 使用scikit-opt提供的遗传算法库

    2023年04月13日
    浏览(32)
  • (转载)多种群遗传算法的函数优化算法(matlab实现)

            以下内容大部分来源于《MATLAB智能算法30个案例分析》,仅为学习交流所用。         遗传算法是一种借鉴生物界自然选择和进化机制发展起来的高度并行、随机、自适应的全局优化概率搜索算法。由于优化时不依赖于梯度,具有很强的鲁棒性和全局搜索能力

    2024年02月07日
    浏览(36)
  • matlab simulink 遗传算法优化RBF

    1、内容简介 略 2-可以交流、咨询、答疑 2、内容说明 先用遗传算法优化RBF的权重系数,然后用RBF来做个控制器,查看效果 遗传算法、RBF控制、优化 3、仿真分析 4、参考论文 略  

    2024年02月08日
    浏览(35)
  • Matlab | 基于遗传算法的TSP路径优化

    理论基础 问题导入 MATLAB程序实现及结果分析 总结与扩展 TSP (traveling salesman problem,旅行商问题)是典型的NP完全问题,即其最坏情况下的时间复杂度随着问题规模的增大按指数方式增长,到目前为止还未找到一个多项式时间的有效算法。 TSP问题可描述为: 已知有 n 个城市,各城市

    2024年02月04日
    浏览(30)
  • 基于遗传算法的BP神经网络优化算法(matlab实现)

            BP网络是一类多层的前馈神经网络。它的名字源于在网络训练的过程中,调整网络的权值的算法是误差的反向传播的学习算法,即为BP学习算法。BP算法是Rumelhart等人在1986年提出来的。由于它的结构简单,可调整的参数多,训练算法也多,而且可操作性好,BP神经网

    2024年01月16日
    浏览(39)
  • 基于GA遗传优化的混合发电系统优化配置算法matlab仿真

    目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1遗传算法基本原理 4.2 混合发电系统优化配置问题 4.3 基于GA的优化配置算法 染色体编码 初始种群生成 适应度函数 选择操作 交叉操作 变异操作 5.完整工程文件       基于GA遗传优化的混合发电系统优化配置

    2024年01月25日
    浏览(31)
  • 模拟退火算法与遗传算法求解多目标优化问题的算法实现(数学建模)

    模拟退火算法是一种全局优化算法,解决的问题通常是找到一个最小化(或最大化)某个函数的全局最优解。它通过模拟物理退火的过程来搜索解空间,在开始时以一定的温度随机生成初始解,然后一步步降低温度,同时在当前解的周围随机搜索新的解,并根据一定概率接受

    2024年02月02日
    浏览(36)
  • 基于遗传算法的多目标优化进行0-1规划

    第一次写博客不知道从哪里下手, 之所以想开始博客写作一方面是想记录自己写过的代码,另一方面也分享一下自己在编程的时候遇到的问题,也希望可以帮助到各位。 之所以做基于遗传算法的多目标优化进行0-1规划,是因为在做数学建模2021年C题的时候遇到了一个规划题,

    2024年02月07日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包