当前位置:比特币中国 > 交易所 >

洒脱喜一周评 | 区块链抢先买卖太无赖?共识算法引入顺序公平性或可破解

ETH2.0研发更新内容:

本期的推荐就到这里啦,下周再见~

写在前面:

“天下武功,唯快不破”,这句话常常会出目前武侠作品当中。

其衍生出来的意思是,只须一方抢占了先机,就可以立身于不败之地。在现实世界的华尔街,这种抢先买卖(Front Running)的现象就常见存在着,这就好比两个人比武,其中一方先朝他们脸上打上一拳,然后耍赖飞速溜掉……

在审视金融系统时,对公平买卖顺序的需要,是显而易见的。由于买卖的实行顺序,可以确定给定买卖的有效性或盈利能力。比如Bob有0USD,并且有两笔买卖发生了:其中tx0是Alice将5USD发送给Bob,而tx1则是Bob将5USD发送给Carol。

假如tx0的顺序是在tx1之前,那样这两笔买卖都会是有效的,而相反的顺序,则会致使tx1失效。

而近期的研究表明,在基于共识算法的无许可区块链中,这种现象也是非常容易见到的。Daian等人的论文提到,机器人对ETH互联网中的买卖进行了猖獗的对抗性操作,然后从单纯的用户那里获得了超越600万USD的收入。

那这种抢先买卖“无赖功夫”有破解之道吗?本周的学术话题,大家就来推荐来自康奈尔大学教授Ari Juels等人的最新研究《拜占庭共识的顺序公平性》。

而在硬核技术文章甄选部分,大家还会看到关于区块链活性、t比特币、稀疏默克尔树等内容。

另外,在过去的一周当中,BTC还迎来了比特币 Core 0.19.1版本推广客户端、schnorr签名及Taproot策略等更新内容,而ETH联合开创者Vitalik则发布了新的Gasper共识协议论文。

(图片来自:tuchong.com)

在过去的三十年中,研究者们在密码学和分布式系统文献中对状况机复制的抽象定义进行了很多研究。

在高层次上,状况机复制协议的目的,是让一组节点赞同不断增长的、线性排列的消息(事务)日志。

如此的协议需要满足两个属性:(1)一致性(Consistency):所有诚实的节点需要对约定的日志有相同的iew,也就是说,它们需要以相同的顺序输出消息;(2)活性(Lieness):推广客户端提交的消息,要在适当的时间内添加到日志当中,不幸的是,一致性(Consistency)和活性(Lieness)都没在最后日志中说明事务的实质顺序。而一种确保所有节点赞同相同顺序的协议,无论其怎么样去生成顺序,都会被觉得是一致的。

而这就给概念留下了空间,即对手方可能会控制顺序,然后让所有节点对该结果达成一致。而在所有依靠于指定“leader”节点的现有协议(包括PBFT、FastBFT、HotStuf)中,恶意的leader就可选择以任何顺序提交买卖。

为了纠正这个问题,来自康奈尔大学和IC3的Ari Juels教授等人提出了第三种共识属性:买卖顺序公平性。

论文链接:https://eprint.iacr.org/2020/269.pdf

直观地讲,顺序公平表示如此一种定义:假如很多节点在另一笔买卖tx2之前同意买卖tx1,那样这应该以某种方法反映在最后的顺序中。

而这篇论文的主要贡献有三个方面:

(1)研究了公平买卖顺序的自然定义,并说明了它为何不可能达成;

(2)研究了稍微弱一点的公平排序定义,这部分定义是直观的,但却可以达成;

(3)引入了一类新的共识协议,并称之为Aequitas,其达成了公平的区块买卖排序,同时也提供了一致性和活性,研究者还讨论了同步和异步的Aequitas协议设置;

顺序公平的性质是对共识问题有效性的自然模拟,马上拜占庭协议扩展到多轮。

假如所有诚实的节点都觉得买卖tx1先于另一笔买卖tx2,那样通过与有效性的自然类比,最后输出日志应该在tx2之前对tx1进行排序。因此,研究者觉得,买卖顺序公平性是共识文献中具备独立理论利益的自然属性。

概念顺序公平性和不可能结果:为了对共识协议进行建模,研究者用了一种办法,其中协议节点从推广客户端接收买卖,并需要以满足一致性和活性的方法输出或出货它们。

概念1.1 (接收顺序的公平性,正式概念在原论文第4.1节),假如足够多的节点(至少γ百分比)在另一笔买卖tx0之前接收到买卖tx,那样所有诚实的节点需要在tx0之前输出tx。

虽然这个概念是直观的,但事实证明,除非大家假设具备很强的同步性,或者没有恶意对手方,不然就不可能达成这点。

这一结果来自社会选择理论中与选民偏好的让人惊讶的联系。为了用一个容易的例子来强调这一点,大家可以考虑三个节点A,B和C,然后每一个节点会接收3笔买卖x, y和z。

其中A按[x,y,z]的顺序接收它们,而B按[y,z,x]的顺序接收它们,C按[z,y,x]的顺序接收它们。

请注意,大部分节点收到的是(x后于y),(z后于y)与(x后于z)!这样的情况一般被叫做孔多塞悖论(也称投票悖论),即便所有些局部顺序都是可传递的,也会致使非传递性的全局顺序。

而这对于接收顺序公平定义而言是有问题的。

定理1.2 给出了关于不可能结果的非正式描述。

定理1.2(接收顺序公平的不可能性,正式定理描述在原论文4.4节)。考虑一个有n个节点的系统,其中外部互联网(用户和协议节点之间)是异步的,或者最大延迟δ至少为n 轮。如此,任何协议都没办法同时达成一致性、活性及接收顺序的公平性。

鉴于这种不可能的结果,研究者考虑了接收顺序公平性的一种自然放松状况,并称之为区块顺序公平性。要理解这两个概念之间的主要不同,大家来看一下两笔买卖tx和tx’,其中有足够多的节点在tx’之前已接收tx。接收顺序公平性需要tx需要在tx’之前输出,而区块顺序公平性则将条件放宽为“之前或同时”

这里指的便是在同一“区块”中同时进行出货的买卖。

概念1.3 (区块顺序公平性,正式概念在原论文4.7节):假如有足够多的节点(至少γ百分比)在另一笔买卖tx’之前接收到买卖tx,则诚实节点没办法在tx’之后的区块中出货tx。

正是这种微小的放松调整,使得大家可以通过一个容易的方法来回避康多塞悖论:将矛盾的顺序放在同一区块中。这里强调了区块顺序公平性,并不意味着买卖是部分有序的。一致性仍然需要所有节点以相同顺序(在或不在同一区块内)输出买卖。唯一有什么区别是,在研究者的概念中,只须这部分买卖出目前同一区块中,就被觉得是公平的。

也就是说,研究者注意到,虽然不可能去达成接收顺序的公平性,但区块顺序的公平性却是可以达成的,对此,他们提出了可保证这一点的协议,并称之为Aequitas。

Aequitas协议以黑盒方法用了两个基本原语:(1)FIFO广播(FIFO-BC),它是标准靠谱广播的基本扩展;(2)Set拜占庭共识协议,其概念在原论文第3节,这可以通过拜占庭共识协议来达成。

注意,这部分都是弱原语,任何(达成一致性和活性的)标准共识协议,也可以用于构建FIFO-BC和Set-BA原语。这产生了一个有趣的察看结果:Aequitas技术提供了一种通用编译器,其可以将任何标准共识协议转换为提供顺序公平性的协议。

容易来看,Aequitas协议被分为三个主要阶段。而每笔买卖tx在出货之前,都要经过这部分阶段。

阶段1 Gossip:节点gossip买卖按其接收顺序进行。也就是说,每一个节点都在流传其当地买卖的顺序。

为此,研究者用了FIFO广播原语(FIFO-BC),FIFO-BC保证诚实节点的广播由其他诚实节点,以和广播相同的顺序传递。即便发送方不诚实,FIFO-BC也能保证所有诚实节点均以相同顺序传递消息。而如此做的结果是,节点对其他节点的买卖顺序会具备一致的怎么看。

阶段2 协定(Agreement):节点在赞同决定特定买卖的全局顺序时应考虑其当地顺序的节点集。

阶段3 终结(Finalization):节点用在协定阶段确定的一组当地排序,来最后确定买卖处置的全局排序。

需要指出的是,前两个阶段(gossip和协定)是易理解且易于达成的,而第三个阶段则非常复杂,由于它需要防止康多塞悖论,同时继续维持一致性和顺序公平性。

对此,研究者分别提出了基于leader和无leader的共识协议,然后设有同步和异步设置,因而共有4种协议。这部分协议均提供了一致性、区块顺序公平性,与某种程度的活性。下图是这4种协议的比较结果。

洒脱喜简评:Aequitas协议的思路,容易看,就好比规定两人比武只能同时出手,这就确保了双方之间的公平性,而其背后的理论,其实很复杂,另外,依据论文介绍,Aequitas提供了一种通用的编译器,其可以将任何标准共识协议转换为提供顺序公平性的协议,假如真的可以达成,这将解决掉区块链金融应用面临的一大难点。

maxdeath在这篇文章中,列举出了一系列关于闪电互联网和区块链的已知问题。这部分都是关于区块链活性安全的哨子,而这部分哨子早就被吹过不只一次。作者期望这次,当将来又有人不考虑这部分问题设计了某个系统,而有人通过这部分问题获益时,请勿再叫它黑客攻击。

文章链接:https://www.8btc.com/mepa/563994

t比特币是一种去中心化的、有保障的BTC推广托管系统,它发行一种叫做T比特币的代币。用户不需要信赖推广托管者(称为签名者),由于这部分签名者存入的债券价值高于他们推广托管的BTC的价值。假如他们要转移未经授权的资金,致使未偿的T比特币价值高于推广托管的BTC,系统将会没收他们的债券,用于购买和抵消市场上等值的T比特币,恢复T比特币和推广托管BTC价值的平衡。

文章链接:https://www.8btc.com/mepa/565485

在这篇文章中,比特币 Core开发者Luke Dashjr介绍了怎么样通过三个步骤来确保自己安装的BTC推广客户端是安全、未经恶意方修改的。

文章链接:https://www.8btc.com/article/566181

ETH互联网是一台富状况(stateful)的世界计算机,其状况包括状况余额、买卖流水号(nonce)、合约代码及合约存储内容等。在技术上,这部分状况数据是靠一种叫做 “默克尔树” 的结构来组织的,因此,ETH世界状况及其访问、更新,便可表达为一棵默克尔树及其访问、更新。同样地,所有跟默克尔树有关的数据证明及验证操作,都可以在ETH协议的语境下被理解为状况的证明及验证操作。事实上,默克尔树是大家理解、借助、改进ETH协议必不可少的一环。

文章链接:https://www.8btc.com/article/566768

在过去的一年时间里,BTC技术已经获得很好的进步,那种这种趋势会在 2020 年继续延续下去吗?MAirSwap、Taproot、Schnorr 签名,与其他出色的技术是不是能进一步改变BTC安全性,并推进其价格升值吗?

文章链接:https://www.8btc.com/article/566236

3、BTCAMPLETH 开发更新进展

3、1 BTC开发更新进展

  1. 比特币 Core 0.19.1版本推广客户端正式发布,修复了一些错误,其中大部分修正涉及钱包/ GUI / RPC;
  2. BIP340 schnorr密钥和签名策略的更新,而这也会对BIP341 taproot产生一些影响,对于这部分改进,作者Pieter Wuille需要社区提供有关更改的反馈;
  3. 关于标准化防泄露随机数协议的提案:Stepan Snigire在比特币-De邮件列表上发起了关于标准化协议的讨论,该协议可预防硬件钱包用偏斜随机数泄露用户的私钥;
  4. Taproot的安全性证明:Lloyd Fournier在两周前的金融密码掌握议上发表了他的研究,其描述了Taproot用的哈希函数中,需要拥有哪些属性才能确保Taproot的安全。
  5. 闪电互联网推广客户端LND 0.9.1发布,该版本并不包含任何新功能,但修复了多个漏洞,包括可能致使“节点之间强制关闭”的漏洞。

更多关于BTC的技术进展更新内容,可以看这里:https://bitcoinops.org/en/newsletters/2020/03/04/

ETH1.X更新内容:

  • 关注微信

猜你喜欢