fractal 安全性如何,能防御 51% 攻击吗?

51% 攻击的常见方式如下

  1. 藏块+空块/排除特定交易。在超过全网半数的算力时,该参与方可以累积任意长的 block sequence,并在需要时 reveal 到外部,从指定的高度 orphan 掉原链的正常块,使得充值到 CEX 的充值交易无效。当发生这种情况时,交易所为了安全,通常会要么下架,要么极大提升确认数。
  2. 机枪池利用滞后的难度调整疯狂出块。

可以将 fractal 理解为 bitcoin 的平行链吗?

答:这么理解某种程度上也是对的。fractal 无差别地支持和兼容主链上的所有协议(如 Ordinals 和 brc-20),和主链以不同的物理结算速率同步运行。与此同时,fractal 保留有可选的在主网上通过铭文结算和锚定的能力(这使得在需要时比特币主网可以确认每一笔 fractal 交易的存在性和有效性,这是典型的 L2 特征)。这种结算可以是高频的,也可以是低频的;可以是实时的,也可以是异步的,取决于实际业务需求。

随着 fractal 实现的改进,我们在保持 100% 兼容性的基础上,会对 fractal 上的实现做持续的优化,如更紧凑的铭文交易和 UTXO 管理,逐步成为 bitcoin 的有机扩展。

和基于 EVM 的解决方案的比较?

基于 EVM 的方案本质上是在通过引入以太坊的成熟机制来创造更多的场景;而 fractal 专注于通过与主链保持高度一致来试图系统化地解决主链拥堵的问题。

fractal 在 bitcoin 的逻辑边界内工作,未引入新的概念和变量,所以我们认为,与基于 ETH 的方案对比,fractal 是一种 native scaling 的方案。

像 fractal 这样的方案以前是否有人这么做?

据我们所知,通过虚拟化的方式来同构地扩展比特币的方法在此前没有出现过,fractal在扩展比特币的思路上具有原创性。

此前 bitcoin 上曾出现过的是如下几种形式的扩展方向:

  1. 扩大 block size 的尝试。在出块时间恒定情况下,增加单个区块的处理能力(提升交易处理带宽)。
  2. 分叉 (Forking)。通过 fork 来产生新的共识,例如 Litecoin 将挖矿算法改为 scrypt (代码层面上的 fork),Bitcoin Cash 将难度调整算法修改为 DAA (区块链层面上的 fork) 等等。
  3. 闪电网络模型。这种模型以牺牲最终一致性的方式,在内存池中处理更多的实时交易。

通过虚拟化区块链的方式来扩展处理能力,与上述三种都有显著的不同。虚拟化后的实例,一方面与主链共识在可以预见的未来相对一致,容易在协议层面互通,另一方面得以摆脱主链物理约束和历史包袱。我们认为,通过这种方式,长期意义上可以将 bitcoin 扩展为一个有弹性的系统。

虚拟化具体是如何进行的?

我们对 bitcoin core 做了适度的修整,使得它可以被快速地以定制化方式启动,在这一点上,我们从一些特定的模块化区块链的方案中学习合理的定制方向和角度。由于比特币有长达十数年的开发历史,我们移除了一些历史上曾经存在但已经不再有现实意义的代码,在保留完整共识的前提下,精简了系统的实现,得到了一个更加简洁轻量的实现,这个实现我们称之为 BCSP。你可以认为 BCSP 是区块链版本的 linux-in-docker。