在ChainNode白皮书解密读书会01期活动中,比原链高级研究员刘秋杉带领大家领读「MOV:下一代去中心跨链 Layer 2 价值交换协议」白皮书,得到了很多粉丝的关注,其中gentledog的读书帖「关于MOV巡查官制度的几点思考」获得了读书活动的第一名。

正文如下:

根据白皮书,MOV中有巡查官一职防止侧链作恶。我就在想,这个制度是否存在漏洞呢?经过一番思考,似乎有以下几种攻击方式: 1、复制交易攻击 巡查官发现问题并在主链上发起一笔交易,有人获取这笔交易内容后,提高手续费或者直接向网络隐瞒这笔交易,然后再发起一笔同样内容的交易,从而窃取巡查官的劳动成果。在这种情况下,巡查官能够获取的利益几乎为零,甚至为负,这样就不会有动力去巡查了。 这种攻击是有对策的。有一样东西是作恶者无法复制的:钱包地址!可以采取提案(承诺)+证据的模式,巡查官可以先提交承诺(数据+钱包地址的哈希值),等区块确认后,再公布数据(钱包地址可以不用公布)。这样就能比较完美地解决这个问题了。 2、假装作恶攻击 当网关节点给予的奖励大于侧链作恶者所遭受的损失时,可以采取这种攻击。侧链作恶者可以假装作恶,然后串通巡查官抢先提交作恶的证据,从网关节点处骗取奖励,当奖励大于作恶者所受到的惩罚时,作恶者就获利了。这种攻击说明,网关节点给予的奖励是有上限的,它不能大于作恶者所受到的惩罚,并不一定与作恶程度对等。 3、DOS攻击 当侧链作恶且涉及金额庞大时,在网络上发起垃圾交易,暂时阻塞网络,使得巡查官的监察成本远大于他所能获得的奖励(由于假装作恶攻击,奖励是有限的,它并不与作恶程度对等),一旦争议期过去,作恶者就得逞了。DOS攻击并非不可能(参见以太猫和EIDOS空投),作恶者可以选择在网络拥堵的时候发起攻击以减小成本。

先撇开DOS攻击不谈,下面试从经济角度分析巡查官制度。先取一个观察时间段,设在这个观察时间段内,巡查官的巡查成本为U,网关节点的奖励为V,作恶者被举证时遭受的损失为R,作恶成功时获得的收益为S,作恶者作恶的概率为p,巡查官的平均巡查人数为q,某单个巡查官巡查的概率为t。这里假设巡查官的机会是均等的,即当巡查官的巡查人数为q时,成功举证的概率为1/q。则某单个巡查官和作恶者的博弈如下图: 则某单个巡查官的期望支付为 在完全竞争的条件下,某单个巡查官的期望支付应当接近于0。由此可以推算出。 由此可以得知,当时,q=0。 进一步的,我们可以计算作恶者的最佳作恶概率。这里不妨设,于是,。 则作恶者的期望收益为 在区间上,该式单调递减。所以,在处取得最大值。 所以,作恶者的最佳作恶概率为,此时无人巡查!

上述的“观察时间段”是指一个充分小的、不可分割的时间段。如果是一个较长的时间段T,怎样计算作恶概率呢? 这里设巡查官在单位时间内的巡查成本为u。 将时间段T等分为n(充分大)个小时间段。则每个小时间段内的作恶概率约为。则n个时间段内作恶发生的概率约为 所以,在较长时间段T内,作恶发生的概率为

我们可以得出以下结论: 1、巡查官制度可以减小侧链作恶的概率。 2、侧链作恶的概率与巡查官的巡查成本U和网关节点的奖励V有关,减小U或增加V都能减小作恶的概率。 3、侧链作恶的概率与作恶成功时获得的收益S无关,也就是说减少侧链上托管的资产无助于减小作恶的概率。 4、侧链作恶的概率与作恶者被举证时遭受的损失R无关(如果忽略V≤R的关系),也就是说在不增加网关节点的奖励的前提下,只增加侧链运营者的保证金无助于减小作恶的概率。 5、由于假装作恶攻击,网关节点的奖励V无法无限增加。巡查官的巡查成本U也无法无限减小。巡查官制度无法杜绝作恶的发生。

作者:gentledog

社区观点 | 关于比原链MOV巡查官制度的几点思考的更多相关文章

  1. 社区观点 | 理解比原链MOV链上交换协议

    去中心化交换协议的发展 从Bitshare,Stellar到以太坊上的Etherdelta,Bancor,0x协议,去中心化交换协议也经过了好几代发展和很多模式的探索,每一代都通过前面的协议的痛点来进 ...

  2. 比原链CTO James | Go语言成为区块链主流开发语言的四点理由

    11月24日,比原链CTO James参加了Go中国举办的Gopher Meetup杭州站活动,与来自阿里.网易的技术专家带来Kubernetes.区块链.日志采集.云原生等话题的分享.James向大 ...

  3. 比原链设计思考: 扩展性UTXO模型

    用户模型是比原链在最初就需要确定的重要数据结构, 团队的选择还是聚焦在两种典型的模型系统中,Account模型和UTXO模型,和其他大多数区块链设计一样, 选择了模型就决定了协议层的重要实现,两种模型 ...

  4. 比原链(Bytom)正式开源Bytom-JavaScript库

    12月13日,比原链(Bytom)正式开源Bytom-JavaScript库,这个库是官方原生支持的新一代JavaScript SDK接口.JavaScript是世界上最多人使用的解释性脚本语言,JS ...

  5. 图解比原链Tensority算法:如何让POW做到人工智能友好

    共识算法说起 区块链系统首先是分布式系统,而一致性是分布式系统的基础问题,要保证系统满足不同程度的一致性,则就要用到共识算法. 现在主流的算法有POW.POS.DPOS等等,比特币采用的POW共识算法 ...

  6. 浅析Facebook LibraBFT与比原链Bystack BBFT共识

    如果说什么是区块链的灵魂,那一定是共识机制. 它是区块链的根基.无论公链或是联盟链,共识机制都从基础上限制了区块链的交易处理能力和扩展性. 2019年6月18日,Facebook 发布了自己 Libr ...

  7. 比原链(Bytom)先知节点 Windows接入文档

    系统要求 我们建议选择知名的VPS服务商,运行比原链节点对算力没有要求,但是请配置尽可能大的磁盘空间. 节点服务器最小配置: 操作系统: Windows/Linux/Docker CPU: 2核 内存 ...

  8. 比原链(Bytom)先知节点 Ubuntu接入文档

    系统要求 我们建议选择知名的VPS服务商,运行比原链节点对算力没有要求,但是请配置尽可能大的磁盘空间. 节点服务器最小配置: 操作系统: Windows/Linux/Docker CPU: 2核 内存 ...

  9. 比原链Bytom错误码一览

    0XX API错误 BTM000", "Bytom API Error" 非比原标准错误 BTM001", "Request timed out&qu ...

随机推荐

  1. 前端07 /jQuery初识

    前端07 /jQuery初识 目录 前端07 /jQuery初识 1.jquery介绍 1.1 jquery的优势 1.2 jquery是什么? 1.3 jquery的导入 2.jQuery的使用 2 ...

  2. IDEA 编译 Jmeter 5.0

    IDEA 编译 Jmeter 5.0 1.下载源码后解压,我这边下载的是最新的『apache-jmeter-5.0_src.tar』,解压. 2.解压后 修改下列两个文件 eclipse.classp ...

  3. three.js 制作属于自己的动态二维码

    今天郭先生说一下用canvas解析图片流,然后制作一个动态二维码的小案例,话不多说先上图,在线案例点击博客原文.这是郭先生的微信二维码哦! 1. 解析图片流 canvas = document.cre ...

  4. JAVA各种OOM代码样例及解决方法

    周末了,觉得我还有很多作业没有写,针对目前大家对OOM的类型不太熟悉,那么我们来总结一下各种OOM出现的情况以及解决方法. 我们把各种OOM的情况列出来,然后逐一进行代码编写复现和提供解决方法. 1. ...

  5. WebView in ScrollView:View not displayed because it is too large to fit into a software layer

    报错信息 W/View: WebView not displayed because it is too large to fit into a software layer (or drawing ...

  6. springboot文件上传 流的方式 后台计算上传进度

    //代码 public static void main(String[] args) throws Exception { String path = "f:/svn/t_dictiona ...

  7. IO—》字节流&字符流

    字节流 一.字节输出流OutputStream OutputStream此抽象类,是表示输出字节流的所有类的超类.操作的数据都是字节,定义了输出字节流的基本共性功能方法. FileOutputStre ...

  8. 800页的《数据随想录》PDF版电子书|百度网盘免费下载|数据科学领域必读

    百度网盘免费下载|<数据随想录> 提取码:51y7 本电子书内容包含从数据埋点到数据可视化整个链条的内容,同时,也整理了很多小伙伴们在交流社区中常问到的问题<数据百问>系列 数 ...

  9. 如何使用Excel管理项目?

    1.什么是复杂问题? 复杂问题需要很多道工序,涉及到与多个人进行沟通,人的注意力没法持续关注,导致很容易忘掉很多重要步骤.像这种问题就要用到项目管理工具,在重要的节点上,来检查自己是否遗漏了重要的环节 ...

  10. Fortify Audit Workbench 笔记 Unreleased Resource: Database( 未释放资源:数据库)

    Unreleased Resource: Database 未释放资源:数据库 Abstract 程序可能无法成功释放某一项系统资源. Explanation 程序可能无法成功释放某一项系统资源. 资 ...