突破区块链不可能三角(六)-吹个关于区块链活性的哨子

  • maxdeath
  • 更新于 2020-03-04 18:22
  • 阅读 3736

来说说链下技术以及区块链的安全性问题。

本系列文章:

  1. 扩容,扩展,与无限扩展
  2. 在比特币POW之上的尝试
  3. POS与POW-DAG
  4. 区块链中的BFT及HotStuff BFT(Libra BFT)分析
  5. 闪电网络,链下技术,以及它们的局限性
  6. 吹个关于区块链活性的哨子
  7. 分片(上)
  8. 分片(中)
  9. 分片(下)

最后,我们回到上篇中打引号的“安全”上来,因为恰好最近有了这么一篇关于闪电网络安全性的论文:https://arxiv.org/pdf/2002.06564.pdf,我们就借此展开来说说链下技术以及区块链的安全性问题。

闪电网络的活性风险

首先,我们先复习一下我在前面关于拜占庭容错问题时讲到的共识的两个基本含义:

1,一致性。

2,活性。

两者同样重要,缺一不可,因为实际上,两者缺少了任何一个,都不能称之为“共识”,也就不是安全可用的系统。

但人们,包括很多区块链的算法,却总是忽略活性。的确,在现实中,我们对于“一致”的要求要比“活性”高很多,比如,我们总是说区块链的性质是“无法篡改”,但实际上,区块链并不在任何条件下都“无法篡改”,例如比特币POW的安全性实际上十分依赖于网络的同步。在网络出现极端情况的时候,比特币也逃不出FLP不可能中所证明的——在一致性和活性中只能二选一。换句话说,如果世界大战爆发,中国和世界之间的网断了,那么没错,比特币的链还会增长,但是这样的增长不再满足共识的条件:你可以说它保证了活性,但是新增的交易达不到一致性,因为没法确定这条链未来会不会被取代;如果你要求一致性,那么新增长的这条链根本就不算数,因为看似新区快在增加,但是这些区块不满足被大概率保证无法篡改的条件。

而回到我们之前打引号的“安全”——之所以打引号,是因为HTLC的机制能够保护一致性,而理性的恶意节点由于押金的缘故,攻击成本一定高于收入,因此无法攻击一致性。

但是活性呢?

对于RSMC,即最基本的闪电网络而言,恶意节点也可以攻击活性——比如,某个恶意的A和B说,我们各出1btc来建个闪电网络支付通道吧,B说好啊。于是闪电网络建立,但是A在之后就完全不理会B,于是这条闪电网络通道就没有任何作用了,于是B只能发起退款交易,但是需要受到1000个区块的退款时间锁定的惩罚。

这其实就是A对于B发起的活性攻击,只不过看起来并不那么划算。A花了自己锁定1btc的成本,达成的结果就是锁定了B的1btc 1000个区块。而且,似乎也不那么实际——你可以说这是B自己的问题:你当初本来就不该相信一个不可信的A,并和他建立一个链下通道。

然而,HTLC使得这种活性攻击的波及面不再仅限于一个节点,而是整条支付链:

还是之前的场景,但是在HTLC合约构建好了之后,恶意的节点C拒绝提供X。于是,B和A的合约都没用了,但是通道需要等到约定的时间到了,也就是一天之后才能解锁——注意,由于一个在链上的HTLC交易只能开一条通道,所以,无论转账的金额是1BTC还是0.01BTC,只要合约建立了,整个通道都会被锁定。同理,如果这条支付通道包括许多的中间节点,那么这些中间节点的通道都会被锁定,而且,锁定的时间越接近交易发起者就越长。

这些,其实并不是一个新鲜的问题了,但Ayelet Mizrahi和Aviv Zohar最新的这篇论文不仅仅是提了这种方法,还根据实际的网络情况和当前的网络参数设置,说明了这种攻击的成本其实相当低,而且很难防范。

https://arxiv.org/pdf/2002.06564.pdf​arxiv.org

具体的问题是——首先,闪电网络中的节点实际上是提供中继服务来赚取交易费,因此整个网络结构对于用户而言必须是透明的,这样用户才能选择费用最小的线路。因此,攻击者也可以利用这点,制造一个交易发起者和交易接收者(其实可以干脆就是一个节点),然后寻找一条中继节点最多的线路,然后用以上的方法来造成通道锁定。接着,每个节点会为自己留出足够的反应时间,这个时间在不同的支付网络里的默认值是不同的,最高可以到144个区块——即一天。于是,一条很长的支付链,可能会让一些节点的通道锁上好几天甚至十几天。而且,另一个问题是,由于付款不用真的进行,所以进行这么一次支付唯一的代价就是得自己在链上抵押一笔钱开通通道,但由于闪电网络的功能就是小额支付,所以这笔钱并不多。而最终论文给出的结果相当耸人听闻——1/4个比特币,就能几乎锁定整个闪电网络3/4的支付容量。另外,还有一个利于攻击者的点是,闪电网络为了防止交易被追踪,因此在建立支付的中继链的时候是采用类似洋葱网络的技术的——即每个中继节点只知道自己的上一个和下一个节点是谁,而不知道交易的发起者和接收者。于是,中继节点也就无法将它不信任的节点放入黑名单。

而以上,是对整个网络活性的攻击。而还有一种攻击——审查攻击,是攻击某个特定用户的活性的——即锁定所有和其相连的节点的通道让其无法使用闪电网络,这种攻击的成本还要更低。

实际上,这篇论文虽然用了比特币闪电网络作为例子,却不是针对比特币闪电网络的——事实上,以上的攻击适用于所有采用同样逻辑做链下支付通道的系统。而同时,论文中也提出了一些解决方案,例如,强制要求降低每个节点预留的反应时间,加入某些信用评价机制,在建立通道的时候就先收取一部分费用等……但其实论文中也承认,这些解决方案其实无法从根本上解决问题,实际上,不要忘了这至始至终都是一个去信任的环境,比特币花了多大的力气才解决了去信任环境下一致性的问题,然后闪电网络寄希望于在这个不安全的环境中能够绕开整个共识方案来做达成共识,然后通过经济来保证一致性不被破坏,那么,对于活性的攻击本身就无法避免。

所以,既然闪电网络的设计本来就不可能保证活性,那么所有中继节点都该知道,自己的中继服务不是简简单单地帮助发几条消息,建立一个通道,赚个手续费,而是需要冒着通道被锁定的风险的。打个比方,现在中继节点普遍认为自己开的是顺风车,随便搭个人赚点小钱。但是其实雇佣他们的公司是没有资质的,于是这成了非法运营,并且有警察假装乘客钓鱼执法,抓到就扣一个星期的车。这个时候,还会有人开顺风车吗?

我相信会,但是相应的,由于风险,车费自然就不能和让人搭车一样了。实际上,已经有关于闪电网络费用的研究认为闪电网络中目前的交易费是不足以使中继节点盈利的,而这还是在不考虑活性攻击的前提下。

然而,如果交易费用提高,又和整个闪电网络小额快速支付的设定相抵触。

但这个时候,也许有人会问——为什么会有人要攻击闪电网络的活性啊!吃饱了撑的吗?他能从中获得什么好处呢?

其实,这个问题同样可以用在区块链上,而我们恰好刚刚说了这个问题的答案。

——————————————————————————————

比特币、以太坊以及类似结构的区块链的活性风险

关于比特币,有个很多人都不知道的事情,就是比特币其实并不保证每笔合法交易的活性

比特币,以及大部分公链,只保证链本身的活性,即:总有新的合法交易可以被确认。这个活性实际上是相当弱的,因为其实无论是比特币还是以太坊都不保证有多少交易能够在多长时间内被确认。比如,从理论上来讲星屑攻击(Stardust Attack),或者叫粉尘攻击,都能短时间阻塞网络让交易无法确认。而在实际上,FOMO3D的第一轮游戏结果就是一次成功的对于“以太坊本身不保证活性”这个特性的利用——攻击者通过先构造高gas费用的合约,然后再生成高交易费的交易占满区块,使得一段时间内其他FOMO3D的交易无法被接受,而攻击者最终拿走FOMO3D第一轮的奖励。这里,攻击者通过短时间攻击以太坊作的活性,攻击了FOMO3D这个搭在以太坊上的,实际上非常依赖于活性来保证公平性的应用。

换句话说,正如前文所述——对于支付系统,大家对一致性的看重要远高于活性,因为众所周知一致性的破坏会导致双重支付攻击,这点没毛病。于是,比特币和区块链共识算法应运而生,在设计中,一致性的保证也高于活性,这点也没毛病。然后,人们认为比特币和比特币的共识算法是安全的,因为它能够保证一致,也能够保证新交易总能被确认,这点还是没毛病,因为支付系统的场景里,人们对于活性的要求确实没那么高,一笔交易确认得快一会或者慢一会关系也不大,因为比特币交易确认本来就够慢的了,而且,人们理所当然地认为:

“破坏活性有什么用呢?攻击者也没法获利啊。”

然而,接下来,如果使用者把区块链当成了一个既一致又有活性的基础设施,来在上面搭除了支付系统之外的应用的时候,问题就来了——

这东西并不保证活性啊!

于是,当有了FOMO3D这种公平性依赖于活性的游戏的时候,就会出现这种通过破坏活性进行获利的行为。然而,讽刺的是,FOMO3D之后,仍旧无数的智能合约搭建在以太坊并不存在的活性保证上。

审查攻击风险

以上,我们讨论的是整个区块链的活性。此外,还有单个交易的活性——大部分的公链共识算法,并不保证单个交易的活性,既,不保证所有的合法交易都能够被确认。在少部分能够保证这一点的共识算法中,这个特性有一个别的名字,叫做公平性(Fairness),或者抗审查(Censorship Freeness)。

比如比特币实际上就没有这个性质,一笔合法的交易可以因为很多原因无法上链,比如交易费没给够,或者区块满了排不下,甚至单纯是因为节点看它不爽。于是,这给了很大的审查攻击的空间。

例如,假设攻击者想要我的一笔交易tx无法上链,除了通过上述的方法攻击整个网络的活性,攻击者还可以针对这笔交易发起攻击:

他可以买通一些矿工,让他们宣布:“我们不接受任何打包tx的区块。”也就是说,如果有人打包了tx,它们就假装没看到,进行分叉——这就是审查攻击(Censorship Attack)。

一般大众和很多关于此类的文章中认为这种攻击的成功前提是51%的算力,也就是说,和双重支付攻击一样。于是,这看上去不值得特别关注。

但是在学术界已经有许多关于这种攻击的论文研究,实际上你不需要控制51%的算力这个攻击就已经可以发动了。

我们来考虑一个简单的情况——假设有三个人,A,B与C,它们各有1/3的算力,这个时候,A宣布进行审查攻击。于是,对于B而言,如果他也进行审查且C也进行审查,那么这条交易就不会出现在链上,而B可以仍旧获得1/3的挖矿奖励,如果他也进行审查并且C不进行审查,那么C的链会被孤立,B可以获得1/2的挖矿奖励。如果B不进行审查C也不进行审查,那么A的链被孤立,B可以获得1/2的挖矿奖励,如果B不进行审查而C进行审查,那么B的链会被鼓励,没有任何奖励。

null

于是,作为B,除非他能够确认C和他都联合起来对抗A不进行审查,否则你的最优策略都是也参与审查,因为参与审查不会使你失去任何收益,而不参与审查则有可能使你受到损失。

而现实中在你面前的情况也许更简单——当你挖矿的时候,在你面前只有两个选择:包含交易或者不包含。如果选择包含,那么无论发起者占的算力是多少,你都需要冒着最终区块不被打包于是损失利益的风险,除非你能够确定大部分人和你站在一边。否则的话,最好的选择,就是默不作声地排除这个交易。

这个逻辑像极了校园霸凌:一个高大的男生欺负另一个弱小的学生,你可以选择站出来帮助那个弱小的学生并相信大多数人站在你身后。但在现实中,很多人的选择是默默地走开,心里想着“反正我和他也不熟”,因为他们觉得大多数人也会和他们做一样的选择。

当然,很多人会认为,在现实中,审查攻击一点都不现实——因为这需要有人高调宣布进行这种攻击,而理所当然的,所有矿工都应该会站起来反对他。

但真的是这样吗?并不是所有“审查攻击”都会被大多数人所反对的。如果这条交易中包含了一些非法言论呢?例如儿童色情——这在以太坊上已经有了。

如果你觉得这个例子还太遥远,那么有个更现实的例子:

如果某些人在比特币或者以太坊上加入极端主义或者分离主义言论呢?

公链可以是无国界的,但是矿工和用户都是有国界的,包含这条交易可能会导致整条链被抵制,甚至涉嫌违法,因为从任何角度来讲,矿工在广播这条链的同时就是在散布违法信息。

于是,不包含这笔交易是不是就成了不仅有利,合理,而且是唯一合法的选择。

于是,这就构成了一个审查攻击。这个审查攻击本身可能不足以致命,但是带来的后续影响却有可能非常深远——只要对于某些交易的审查攻击不再被认为是攻击了,那么总体而言对于交易的审查攻击就不再是一个可以视而不见的问题。

————————————————————————————————

闪电网络的链下技术的应用场景

说了这么多关于审查攻击,以及对于区块链活性的问题,到底意义何在呢?

首先,这是在回应关于“为什么有人会想要攻击闪电网络的活性”的问题——

我们曾经也天真地认为没有人会攻击比特币或者以太坊的活性:“不就是让交易晚一些得到确认吗?攻击者能够得到什么好处呢?”同时,我们乐观地认为比特币和以太坊不提供合法交易的活性是常识,不会有人蠢到把一大笔钱的安全依赖于它们的活性上。而最终,我们看到这个之前被我们忽略的活性问题,成了很多新技术和应用的基础,例如FOMO3D,例如闪电网络,例如DeFi。同时,我们看到总是有人因为利益驱使,有意或者无意地在犯一些我们认为“没有人会那么蠢”的错误,比如引用不安全的“预言机”的数据。

而同样,闪电网络的活性也许现在看起来没啥问题,我们也认为“闪电网络的活性完全建立在对于一个不安全网络中所有节点的信任上,怎么会有人蠢到认为它能够保证活性?”但现在我完全相信,未来有一天,一定会出现建立把安全性建立在闪电网络活性上的应用出现,也一定会出现能通过攻击闪电网络活性从而获利的方法。

而第二个问题,就是我们已经说了的问题——

闪电网络的安全性,不仅仅建立在节点对于链的观测上,还在于需要及时提出挑战交易上。

但刚才我们已经介绍了,区块链是不保证交易的活性的,对于攻击者而言,他可以通过阻塞整个网络的方法让一段时间内所有交易都无法上链,也可以通过审查攻击特定让某一笔交易无法上链。

我们本来认为一个交易晚点上链没什么大不了的。而现在,问题不就来了——

挑战交易如果没有及时上链,那么就代表着其中一方可能会损失通道中收到的所有钱,而对于HTLC的中继节点而言,就代表他们付了钱但是可能拿不到钱。究其原因,也就是前面说的——闪电网络的一致性,建立在第一层网络的活性上。而第一层网络是不保证活性的。

对于RSMC的使用者而言,如果发生了这种情况,只能还是叹口气,说果然不应该和不信任的人建立链下通道。

但对于HTLC的中继节点而言就非常坑了,尤其是之前——这就相当于开个顺风车,不仅车可能被扣,车还可能被抢。那么,我冒了这么大风险开顺风车,我该收多少钱?

————————————————————————————

于是,我们该说闪电网络根本不可行吗?

并不是。

总结一下,闪电网络有如下的特点——

1,闪电网络不能取代一般支付的功能,它能够实现的只是储值卡和积分卡的功能。

2,如果作为储值卡,由于闪电网络带来的只有交易费和确认时间上的优势,却需要付出机会成本以及先发起一笔抵押交易的成本,所以只有当链下交易费小于链上并且有用户有大量小额交易需求的时候才有意义。

3,如果作为积分卡,那么用户需要有随时观察链上并且发起反制的能力,这几乎决定了使用者只有专业机构而不是普通用户。此外,还需要考虑主链的活性风险。

4,由于闪电网络本身的活性风险,如果闪电网络本身环境不安全的话,低交易成本带来的是更高的活性风险。因此,越不安全的网络中交易费也应该相对越高。

这其中有很多互相矛盾的点进一步限制了应用条件——交易费低会导致闪电网络活性的攻击成本低,但高交易费会导致用户失去使用闪电网络的意义;交易额小同样也会导致闪电网络活性的攻击成本低,但高交易额代表锁定金额高,于是如果闪电网络活性受到攻击,或者主链活性受到攻击时损失就更大……

于是,综上所述,闪电网络更适合的场景是作为交易所的一种服务提供给有安全需求的高频交易用户——即,原本中心化的只在交易所数据库里的交易,现在可以挪到闪电网络了。虽然手续费贵一些,但是好歹低于比特币链上的手续费,而且就算交易所跑路,链下的钱还是能够拿回来,相信对于用户而言也是有吸引力的。不过,由于本来这些交易就不在链上,这种场景似乎对于降低链上压力没有什么帮助。

其余类似的场景也有可能实现,比如交易所之间可以通过这个来进行交易,但核心的几个要素无非是:1,专业机构;2,高频交易;3,可信网络。想要把闪电网络覆盖到整个第二层甚至取代日常交易,不仅仅是难以推广或者不现实的问题,而是从原理上无法实现的问题——覆盖面越广,这个网络就越不安全,提供中继服务的风险就越大,于是交易费就应该越高,于是低频交易者就会被筛掉,于是最终剩下一个平衡的,专业交易机构之间的小型网络。

而闪电网络已经是看起来最可行的,基于抵押的链下技术了。其他的链下技术,首先需要克服的是如何针对场景设计一种可行的方案,让任何违约行为都会损失押金;其次,需要某种可以描述所有违约行为的数学证明;再次,需要设计一个押金机制保证金额超过违约造成的损失。而以上三点不应该依赖于任何中心,否则就失去了采用区块链的意义。而如果我们为某个场景设计了满足以上条件的方案,那么,我们相当于刚刚来到了闪电网络的起点——而之前闪电网络中的所有安全性问题和局限性都仍旧适用于这个链下方案。因此,我不反对第二层网络,也可以认同把很多额外的功能全都扔到第二层是一种可行的路线,但是,请不要觉得这是某个既成的事实或者现有的技术——关于怎么把第一层的问题挪到第二层,现有的技术可能连入门都算不上。

那有人可能会问——那么如果很多场景我们不知道怎么被挪到第二层,而第一层又满足不了性能需求,那我们应该怎么办呢?

要我说,很简单——说明这个问题现在根本就不适合拿区块链解决。如果说怎么把第一层的问题挪到第二层我们连入门都算不上,那么怎么把现实中的场景挪到区块链上,我们也只能算是刚入门。

1.5层扩容方案Rollup

最近,随着以太坊的类闪电网络的plasma方案的难产,基于以太坊网络的扩容方案Rollup获得了最多的支持,目前,主要分成两派,分别是Optimistic Rollup(OR)和Zk Rollup(ZR)。

其实我更喜欢吧Rollup方案和隔离见证(segwit)相比较,关于隔离见证的介绍可以看前文:

比特币的另类视角(五)——关于扩容与分叉(上)

两者都是在尽量不改变区块链原有结构和规则的基础上,把区块中最“大”,最占用输出的部分给挪到链外,同时,保证链本身的自洽性——即,节点可以不获取也不验证链外的部分,直接相信有链外部分的那些人验证的结果,然后根据结果直接进行操作——对于比特币和隔离见证而言,是直接根据转账更改UTXO状态,而对于以太坊和rollup而言,是直接根据计算结果更新状态。如果验证的人中多数是诚实的,那么链本身就是自洽的——相比于闪电网络这样的通过抵押将一部分状态放在链下的机制而言,这里所有的状态都在链上,只不过到达这些状态的证明被放到了链下,因此被称为1.5层方案。

两者的区别在于:

1,比特币在不改变现有结构和参数的情况下,输出的瓶颈是区块大小,因此,隔离见证是把比较大的“签名”部分甩出去,只剩下输入输出。而以太坊在不改变现有结构和参数的情况下,输出的瓶颈是gas上限,所以rollup是把最消耗gas的计算部分甩到侧链上,主链上只剩下状态变化。

2,隔离见证是软分叉方案,即所有节点都应该升级的方案。在设计上,包括后面的实用中(这个短暂地出现过一些争议,但是后来越来越少了),都认为隔离见证最多把容量扩大4倍,而这个级别的扩大由于网络和硬件和2009年的网络和硬件早就不可同日而语,所以不太会存在有节点开销不起的问题。所以,隔离见证考虑的主要是个软分叉向前兼容的问题,也就是说:希望在升级期间,未升级的节点可以仍旧保持和升级的节点在同一条链上而不会产生硬分叉。这段时间里,的确,因为只有升级了的节点才能验证,安全性下降了,但是最终,大家都应该升级,因此隔离见证本质上是要扩大区块,只不过用了一个比较巧妙的不硬分叉的过渡方法而已。关于分叉,详见这篇文章:

比特币的另类视角(六)——关于扩容与分叉(下)

Rollup与隔离见证不同的是,rollup是希望大部分节点不用管侧链的交易,而侧链的部分只有少部分节点。于是,这些节点需要在链上放一笔如果作恶就会被拿走的押金,来保证他们有动力去诚实地验证交易。这其中一个很大的原因是,和隔离见证最多扩容4倍不同,rollup至少也是上百倍的扩容——无论从理论上还是实际上都很难保证所有的以太坊节点都能够有余力应付提高了100倍的运算难度(以gas为标准)。于是,实际上,rollup方案的实质是将验证规则从“所有节点验证所有交易”改成“选出一部分节点,或者一部分节点自愿缴纳押金,去代替所有节点验证一部分交易”的方案。然后,在操作上,做了一种不会硬分叉的方法。

于是,应运而生的问题是,如果这些人作恶了怎么办?

这里,OR的做法是——所有rollup交易有个锁定期,例如两周,其他节点可以去侧链验证,如果发现rollup的节点作恶了,可以回滚交易。这种方法的好处是对于任何交易类型都通用,缺点是想要验证的节点必须下载整条侧链。

ZR的做法是——rollup在上传到主链上时,除了状态改变,还要加一个关于这个状态改变是真实的“零知识证明”,然后主链上的所有节点需要验证这个证明。好处在于节点不需要去下载整条侧链来验证侧链上的交易,坏处是目前这种方案还不通用,只能生成某些特定类型,例如转账,的零知识证明。

因此,必须明确的是,在安全性上,rollup方案仍旧是一个基于抵押的链下方案,对于被挪到侧链上的交易而言,原先他们需要通过全网验证,而现在,他们的安全性是由抵押节点和他们在链上的押金保证的。于是从某种意义上讲,rollup方案介于“所有交易都交由有押金抵押的可信节点验证的POS”和“一部分交易交由有押金抵押并且利益相关的节点进行验证的链下技术”之间。个人认为在以太坊或者类似以太坊的基于状态的区块链上实施Rollup是个非常可行的扩容方案,因为首先本来中心化就是所有公链的趋势,因为无论是原理、需求还是现状上,一个中心化的区块链都好用太多了。而Rollup又是这么一个已经被公众接受,技术上可行,而且不那么“中心化”的中心化方案。

关于区块链安全性的哨子

下半部分,我提了很多安全问题。

最近区块链的圈子也并不安稳,连续发生了多起安全相关的事件。除了不知道怎么怪到黑客头上只能自己宣布自己跑路的,这个圈子习惯于把所有此类事件统称为“黑客攻击”,然后呼吁交易所冻结他们的攻击所得。然而,在我看来,通过某些在学术界里早有定论,无数人都呼吁过,所有人,甚至连开发者都知道的问题来获益,实在称不上“黑客攻击”。

你花10000找代购买了个名牌包,后来用了几次挂到闲鱼上卖了,买家说你这包是假的啊,要你假一赔十,你一查发现这包就是他卖给你的。于是你报警,告他敲诈,这没问题。你花50一个批发了一堆自称是名牌的包,然后挂到闲鱼上5000一个卖了,这时候有买家找上门来要你假一赔十,然后你也报警,告他敲诈,说我买的时候也写的是名牌包啊,我怎么知道这个包是假的……

职业打假人这个东西为什么是合法的?就是因为在市场规则和监督不完善的情况下,需要用利益来驱动一些人主动去找到这些违法行为,否则,整个市场就会被这种卖5000只值50的包充斥,以至于没有人再卖真货。现在,区块链领域就是个规则和监督不完善的市场,如果我们不允许有人从安全漏洞中获益,那么就会有越来越多的人和项目罔顾安全性,甚至,全然无视之前的研究者们白纸黑字摆在它们面前的漏洞和问题,把项目粉刷包装一下推向市场。

这里不是在给“黑客”洗白。通过法律规定的非法手段盗取个人或者机构密钥并且获利的是黑客,但在区块链的世界中,算法和代码就是法律,利用了算法和代码上的已知漏洞获利的,为什么不是合理利用系统特性?如果算法上的安全漏洞可以通过将其称为黑客攻击并呼吁大家冻结攻击获利来解决,那我们也许并不需要比特币,也不需要挖矿,更不需要区块链——我们当全社会轮流出块维护一个账本,谁试图篡改就宣布他是黑客,呼吁交易所冻结他的币,全社会封杀它就好了不是吗?

这篇文章,我列举出了一系列关于闪电网络和区块链的已知问题——没有一个是我发现并提出的新问题,FOMO3D的例子都过去了两年了,关于审查攻击的方案甚至可以追溯到2013年。这些都是关于区块链活性安全的哨子,而这些哨子早就被吹过不止一次。我希望这次,当未来又有人不考虑这些问题设计了某个系统,而有人通过这些问题获益了,请不要再叫它黑客攻击。

点赞 3
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

1 条评论

请先 登录 后评论
maxdeath
maxdeath
代尔夫特理工大学 (TU Delft) · 区块链博士后 & 代尔夫特理工大学 (TU Delft) · 信息论博士