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

在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巡查官制度的几点思考的更多相关文章
- 社区观点 | 理解比原链MOV链上交换协议
去中心化交换协议的发展 从Bitshare,Stellar到以太坊上的Etherdelta,Bancor,0x协议,去中心化交换协议也经过了好几代发展和很多模式的探索,每一代都通过前面的协议的痛点来进 ...
- 比原链CTO James | Go语言成为区块链主流开发语言的四点理由
11月24日,比原链CTO James参加了Go中国举办的Gopher Meetup杭州站活动,与来自阿里.网易的技术专家带来Kubernetes.区块链.日志采集.云原生等话题的分享.James向大 ...
- 比原链设计思考: 扩展性UTXO模型
用户模型是比原链在最初就需要确定的重要数据结构, 团队的选择还是聚焦在两种典型的模型系统中,Account模型和UTXO模型,和其他大多数区块链设计一样, 选择了模型就决定了协议层的重要实现,两种模型 ...
- 比原链(Bytom)正式开源Bytom-JavaScript库
12月13日,比原链(Bytom)正式开源Bytom-JavaScript库,这个库是官方原生支持的新一代JavaScript SDK接口.JavaScript是世界上最多人使用的解释性脚本语言,JS ...
- 图解比原链Tensority算法:如何让POW做到人工智能友好
共识算法说起 区块链系统首先是分布式系统,而一致性是分布式系统的基础问题,要保证系统满足不同程度的一致性,则就要用到共识算法. 现在主流的算法有POW.POS.DPOS等等,比特币采用的POW共识算法 ...
- 浅析Facebook LibraBFT与比原链Bystack BBFT共识
如果说什么是区块链的灵魂,那一定是共识机制. 它是区块链的根基.无论公链或是联盟链,共识机制都从基础上限制了区块链的交易处理能力和扩展性. 2019年6月18日,Facebook 发布了自己 Libr ...
- 比原链(Bytom)先知节点 Windows接入文档
系统要求 我们建议选择知名的VPS服务商,运行比原链节点对算力没有要求,但是请配置尽可能大的磁盘空间. 节点服务器最小配置: 操作系统: Windows/Linux/Docker CPU: 2核 内存 ...
- 比原链(Bytom)先知节点 Ubuntu接入文档
系统要求 我们建议选择知名的VPS服务商,运行比原链节点对算力没有要求,但是请配置尽可能大的磁盘空间. 节点服务器最小配置: 操作系统: Windows/Linux/Docker CPU: 2核 内存 ...
- 比原链Bytom错误码一览
0XX API错误 BTM000", "Bytom API Error" 非比原标准错误 BTM001", "Request timed out&qu ...
随机推荐
- 数据可视化之DAX篇(二十二)一文搞懂Power BI中的排名问题
https://zhuanlan.zhihu.com/p/68384001 本文聊聊在PowerBI中如何进行各种类型的排名问题. PowerBI中计算排名主要使用RANKX函数,关于该函数的具体语法 ...
- Java并发编程实践
最近阅读了<Java并发编程实践>这本书,总结了一下几个相关的知识点. 线程安全 当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任 ...
- 我为什么不再推荐 RxJava
本文转自作者: W_BinaryTree 链接:juejin.im/post/5cd04b6e51882540e53fdfa2,如有侵权,可删除 距离上一次更新也有一段时间了,其实这篇文章我早就想写, ...
- Web Scraping using Python Scrapy_BS4 - Software
Install the following software before web scraping. Visual Studio Code Python and Pip pip install vi ...
- 网课神器之obs-studio的安装使用
obs-studio 首先,下载obs-studio安装文件,然后点击安装. 建议安装完后直接跳过配置,然后进入文件-设置-通用-系统托盘-勾选"总是最小化到系统托盘,而不是任务栏" ...
- python怎么自学?今日头条技术大佬的真实经历分享
大家好,我是武州,27岁,目前在字节跳动担任Python后端工程师一职. (摆拍一下,假装是保安) 在开始今天的文章之前,不知道你们有没有遇到过这样的问题: 大学没学到什么实质技术,毕业后找不到高薪的 ...
- 图灵学院笔记-java虚拟机底层原理
Table of Contents generated with DocToc 一.java虚拟机概述 二.栈内存解析 2.1 概述 2.2 栈帧内部结构 2.2.1 我们来解析一下compute() ...
- JAVA中JSON字符串格式转换
alibabab版本 即com.alibaba.fastjson *以下Node为实体类 //JSON字符串->Map Map map1 = (Map)JSON.parse(strJson); ...
- 题解 CF938G 【Shortest Path Queries】
题目让我们维护一个连通无向图,边有边权,支持加边删边和询问从\(x\)到\(y\)的异或最短路. 考虑到有删边这样的撤销操作,那么用线段树分治来实现,用线段树来维护询问的时间轴. 将每一条边的出现时间 ...
- 为什么在SpringBoot+maven的项目中,所引入的依赖包可以不指定依赖的版本号?
当在Springboot项目中引入了spring-boot-starter-parent,则可以不用引入依赖包版本号,比如: <parent> <groupId>org.spr ...