BitcoinABC首席开发者Amaury Séchet:如何验证BCH的扩容、零确认及更高的安全性
(BitcoinABC首席开发者Amaury Séchet)
在大会现场BitcoinABC首席开发者Amaury Séchet发表《如何同时实验比特币现金的扩容、零确认及更高的安全性》的主题演讲,主要观点提炼:
每个人链的程度、深度多少,需要有一个规定,这样可以规避51%的攻击。
分叉的节点他们的距离节点跟新的区块之间的距离很大,会影响到他们的扩容。
Amaury Séchet是BitcoinABC首席开发者,BitcoinABC也是大家使用最多的软件。
接着Amaury Séchet介绍了当下面临扩容的问题、零确认以及安全性的问题,对于如何解决这些问题?Amaury Séchet表示,“如果说跟大家讲这三个问题会导致51%的攻击,我们需要很快的扩容,还有51%防攻击性都是我们面临的一些问题。从51%的角度跟大家讲一下,使用同样的过程解决这些问题,但是51%的攻击是我们最大的问题。因为我们现在面临着空间和速度问题作为人类我们也面临着这样的问题。我们需要节点之间非常频繁的沟通,作为人类需要解决这些问题。51%的攻击指的是什么?51%的算力在秘密挖矿,这些链立刻释放,没有参与到大家都在挖矿过程中。而且秘密挖矿的这些链大部分的算力都在主链上,很多节点会重新进入新链。所以,这些是很不可预测的,很多矿工就会因此造成一些损失,这些是矿工角度不希望出现的现象。”
图中上面城市的矿工挖蓝色的区块,做一些区块,有一些不同城市的矿工挖橙色的,这些链中有更多的算例,橙色链算力更高转到橙色这一块,这是一个变动。
一旦这种现象出现时,到底是不是一次攻击呢?因为小的重组自然在区块链上也会发生的,所以我们其实是可以去解释一些小的重组的发生,但是很难区分自然重组和恶意重组,要找到一些额外的区块来判断现在系统的状态。如果说定期自然重组发生的话,我们很难区分那些定期发生的自然重组,和有一些51%算力的矿工所产生的恶意重组。
接着Amaury Séchet给大家提了一个建议,“我们如何看待这种重组。如果大家都同意我们的链,在一个时间段内另外一条链所有的节点都在链尖上达成一致,重新排列单链条是一种攻击。虽然知道了,我们还没有办法解决问题,因为我们怎么知道别人看法跟我们一样的呢?所以,是否信任,每个人链的程度、深度多少,需要有一个规定,这样可以规避51%的攻击。所以,每个人有统一目标是什么,这样没有效率的,而且无法操作,根本不知道比特币所有的参与者。不同的时间点有些人参与了,有些人离开了。我们没有一个清单看到所有的参与人。有效率的问题,因为没有名单可以问,如果是网络的使用者,想要清除没有人是否同意,看看大家的想法是什么。我是BTC.COM,如果大家都同意我就可以很自信相信大家有同样的看法。”
此外,Amaury Séchet还说,有些人觉得某个是这个链的峰点,有些人看法不一样。怎么办呢?虽然我这里一些商标没有办法显示出来,如果大家都同意的话,都在查询的话,我也可以去查询。我知道他们在查询,他们也可以随机的查询。如果这个过程不断地重复,我们就可以在数学上证明每个人都覆盖了同样的区域,大家都有一个同样的看法,我们知道这就是这个峰点。链上面有一些支没有覆盖,我们就知道有人保留了。简单来说,这个过程一年了是雪崩算法,我在查询问他们,他们这个可能是一个区块,可能是一个参数,可能是一个交易,这个交易有没有付费,是否拥有那么多笔交易。我们都会去问随机的节点,也会这样做。如果我们去查询节点是同意我们所说的,那我们就可以更加的肯定,如果不同意的话,就会改变我们的看法。我们继续来重复做,这样增加加强我们看法,如果看法非常强的话,就比较能够确定。
如果我们在区块上这样做的话,就可以抵御51%的攻击,因为大家都看到同一个峰点我们就知道哪一种是自然发生的重组,哪一种是矿工做恶意的工作,可能会失去一些区块,每个区块大概2.5个币。比较长的区块只是暂时的现象,攻击者无法负担,我们抵御51%的攻击,攻击者要攻击非常昂贵。
紧接着Amaury Séchet表示,更深入的了解是First seen的政策,几个不同的区块跟节点谈判。在网上要有首次看见的政策,就是交易。我们决定哪个区块可能不是你,谈了之后哪个是首次看见的,大家都同意我们可以做交易。首次看见是哪次交易,这样不会重复消费,不会双重支付。
我们也可以用同样的方式,比如说你收到两个有冲突的交易,就会问随意的节点,最先看到哪个这样就可以增加你的信心。如果他们答案和你的看法是一致的话就可以增加信心,如果非一致就会调整你的看法,最后大家都有一个同样看法,你的信心就会提高,所有参与者有共同的看法。
Amaury Séchet向大家解释Entropy(熵),大家不知道知不知道“熵”这个字,就是资料的量。大家知道在压缩,如果传一个档案体积太大用zip压缩可以收到,这种技术就是把一些多余的信息删掉,比如说你是用txt的档案,有些东西是非常常见,有些是非常不常见。软件可以找出一些常见的字,有一些从来不会看见的字加码很长,我们可以做了一个非常类似的熵,就看哪个交易合法、哪个交易不合法,而且有药支付这笔钱,比特币的网络最关键的是大家都同意,所以看到一个区块,可以看到这个字是什么。每个人下载应用这个字,直到新的区块出来之前会继续。为什么呢?因为他们有不同的分叉,所以这些节点的看法慢慢会分叉,平均10分钟之后发现一个新的区块。节点要去调整他们的看法看到新的区块。
这个距离越长需要传输更多的资料,需要有更多次,如果要传送更多的信息需要做更多的工作来沟通到底这个区块里有什么东西。
这会局限到区块的大小,因为可能你会达到一个程度是有太多的信心没有办法传送,所以我们所用的技术可以减少“熵”,回到这个区块继续分叉。
所以,问题在于这些分叉的节点他们的距离节点跟新的区块之间的距离很大,会影响到他们的扩容。节点必须不断地对抗“熵”的增加,看到新的区块我们要有足够的信心,不需要做太多的工作,我们怎么做呢?这就是我们所做的抵御双重支付,抵御“熵”,抵御51%的攻击,雪崩算法,他们可以通过协调可以知道交易A还是交易B有双重支付,可能决定是交易A或者决定交易B,决定之后交易A还是交易B到区块里去,找到新的区块要做很多工作,因为知道他们该做什么。
最后,Amaury Séchet做出了总结:我们大概一年前发现一个新的科技,可以保护51%的攻击。我们要找出一个交易做什么才可以让区块接受。如果所有的参与者都可以同意的话就可以同意了。如果没有办法所有同意,可能有些矿工只接受某一点,有一些接受另一点的话,可能就会有双重支付的情况发生,这些矿工也会分叉。所以这些政策有问题,在未来网络的参数由这样的方式来决定。
现在还没有办法决定,其实可以定一些参数降低交易费用,但是BCH社区当中还是要达成一些共识。我们现在做的一些事情是可以问彼此,问问对方到底觉得应不应该这么做,看一看是否能够吸引一些新的人加入我们,这就是我们现在所做的工作,但是所有的事情其实都有最基本的根源、相同的根源。在网络当中所有人都需要很短的时间内达成共识。
Amaury Séchet说:“我们现在发展挺好的,这个技术应该在明年的早期会在测试链上测试,之后会在明年的下半年或者2020年的上半年在主网上进行测试。”