> For the complete documentation index, see [llms.txt](https://www.docszh.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.docszh.com/babylon-docs/introduction/btc-timestamping.md).

# 比特币时间戳

Babylon比特币时间戳协议允许任何提交到Babylon的任意数据获得比特币网络时间戳。随着时间的推移，这些时间戳的不可篡改性的安全级别会逐渐提高，这得益于未来会有更多的数据被添加到这些时间戳上。该协议的一个主要用途是为PoS区块链设置时间戳，以完善其完整性和安全性，如抵御远程攻击。该协议包括比特币网络的时间戳服务、用于检查点聚合 (checkpoint aggregation) 和数据可用性 (data availability) 服务的Babylon区块链，以及经济安全方案采用方的其他PoS区块链。

这种安全性支持多种用例：

* **快速解质押 (Fast Unbonding)：** PoS区块链需要社区共识来避免远程攻击，这会导致较长的解质押周期。比特币安全性取代了社区共识，并将解质押周期缩短至几小时。
* **新链助力：**&#x6BD4;特币安全性可以用于助力那些原生代币估值较低的新链。
* **保护重要交易：**&#x6BD4;特币安全性可用于保护重要交易，同时常规交易可快速获得最终确定性 (finality)。
* **抗审查性：**&#x88AB;审查的交易可以使用Babylon作为备份进入账本 (ledger)。
* **比特币质押：**&#x6BD4;特币时间戳协议是[Babylon比特币质押](/babylon-docs/introduction/btc-staking.md)协议的构建模块，由它提供PoS区块链和比特币网络之间的同步。

此外，通过[CosmWasm](https://cosmwasm.com/)，可以开发兼顾任何数据验证规则的时间戳服务。

{% file src="/files/xpjMe62o62x1MwzqcqIM" %}

接下来，我们将深入探讨比特币时间戳协议的用例。

### 远程攻击：PoS区块链的根本威胁

对于PoS区块链，这里特指采用[拜占庭容错机制](https://academy.binance.com/zh/articles/byzantine-fault-tolerance-explained) (BFT) 的PoS链，其需要验证者 2/3 的多数投票才能确认区块。 PoS链不应该分叉，当分叉发生时，链就会受到攻击：为了让两条分叉链都获得 2/3 的多数投票，至少需要 1/3 的验证者通过签名两个分叉链进行双重投票，这是被共识协议所禁止的行为。

下图展示了假设对名&#x4E3A;**“Rugpull”**&#x7684;PoS链进行分叉攻击。

<figure><img src="/files/RzR622r7VORqOd4K8yQV" alt=""><figcaption></figcaption></figure>

为了阻止此类攻击，大多数PoS链只允许质押了一定数量的原生代币的账户作为验证者。这样，如果验证者被发现双重签名，其质押权益可能会被两个分叉中的共识协议罚没，从而该恶意验证者会造成经济损失。

这种罚没威慑似乎大幅提高了PoS链的安全性。然而，这需要其余验证者在恶意验证者仍然质押时便察觉到两个分叉链。但是为了避免被罚没，恶意验证者可以第一时间在第一个分叉链解除质押，然后从他们仍然拥有验证者角色的区块高度创建第二个分叉链。这样，恶意验证者就不会在第一个分叉链中被罚没，因为他们已经解除质押权益。更糟糕的是，一旦攻击发生，PoS链的新用户无法判断他们应该遵循哪个分叉链

参考阅读：[BCH硬分叉背后：“重放攻击”下的用户自救指南](https://www.odaily.news/post/5134657)

<figure><img src="/files/kTnwFW0qycnQt42cSdu4" alt=""><figcaption></figcaption></figure>

这种攻击称为远程攻击，它使得PoS链不可被罚没且不安全。这种攻击是根源性的，如果没有额外的信任来源，就无法通过修改共识协议来解决。为了减轻这种攻击威胁，一些PoS链诉诸于社区共识，利益相关者定期在最新高度的正确区块上做出链外决策，并忽略任何其他潜在的分叉。然而，这种方法将链的安全性与利益相关者的主观意识联系在一起。这种做法也被称为弱主观性，违背了区块链去中心化原则。此外，由于社区共识需要时间，大多数PoS链都制定了很长的解除质押时间 (几周左右)。

### 使用比特币时间戳保障PoS链安全

<figure><img src="/files/SBkrBI5ySx6QcZ5Y0LL3" alt=""><figcaption></figcaption></figure>

为了保障PoS链免受远程攻击，我们可以将PoS链的区块检查点 (checkpoint) 迁移到比特币网络，并为拥有较早比特币时间戳的分叉链采取分叉选择规则。这样一来：

* 攻击者的分叉链将在比特币标准链中具有较晚的比特币时间戳，并且永远不会被任何人选择。
* 或者为了被选中，攻击者必须创建一个最长链比特币分叉，使其PoS分叉链拥有较早的时间戳，但考虑经济成本，这是无法实现的。

因此，远程攻击可以通过比特币时间戳来避免。

### 比特币时间戳对PoS链的好处

除了解决远程攻击问题，PoS链区块采用不可逆的比特币时间戳，还能为PoS链带来以下安全优势：

* **没有弱主观性**：比特币时间戳是客观的，从而可以消除PoS链对社区共识和弱主观性的依赖。
* **更短的解质押时间**：通过取代社区共识，比特币时间戳可以将PoS链的质押权益解除时间从几周缩短至一天。
* **新链助力**：原生代币估值较低的新PoS链更容易受到分叉攻击，比特币时间戳可以保护其发展。
* **状态同步和快照验证**：由比特币提供的关于PoS链的客观真实性，使得PoS链的验证者能够从P2P网络下载全链状态或快照全节点。
* **保护重要交易**：比特币时间戳可用于进一步确认重要的PoS交易，但代价是更长的确认延迟。
* **抗审查性**：比特币时间戳可通过将受审查的交易发布到比特币网络来对抗PoS链中的交易审查。

然而，受限于比特币网络有限的区块空间和昂贵的交易费用，直接在比特币网络设置检查点是困难且不可扩展的。此外，比特币网络无法验证检查点数据。这激发了Babylon的诞生，其以可验证的安全性克服了所有困难。

{% hint style="info" %}
如果没有Babylon，任何区块链都很难直接在比特币网络设置检查点，因为会面临可扩展性、成本、代码修改和安全性方面的问题。
{% endhint %}
