# Nubit - 改变比特币的模块化索引器

By [Cook0x](https://paragraph.com/@cook0x) · 2024-03-13

---

![](https://storage.googleapis.com/papyrus_images/588c8071c0105841414f9479e049b6f3a6dc36dfae56c88a98f8b1ae974a215f.png)

### 索引器的诞生

在引入Inscriptions和Ordinal协议之前，由于其脚本语言的图灵不完备性，比特币在应用范围上受到了限制。幸运的是，随着技术的最新进展，通过比特币索引器建立了图灵完备的链下执行层。然而，现有索引器的数据完整性和可用性非常依赖于索引器的诚实性。

具体来说，对于一个链下执行层，索引器可能会篡改数据，导致用户获得错误的状态。这就是在比特币生态讨论了很久的索引器中心化问题，目前在中心化与去中心化之间始终没有一个完美的解决方案。

### 直接去中心化会有什么问题？

如果利用一个去中心化的索引器网络来执行计算，那么，由于该网络完全无许可，现有去中心化索引器网络的共识机制容易受到Sybil攻击的影响，这使得恶意的索引器运营商能够向用户提供错误的状态，例如资产所有权和可支配余额。这就属于一个新的共识层的建立，需要一个强大的共识网络，非短时间内可以达成。

### 模块化索引器

若想解决这个问题，关键点是设计一种机制，使用户能够高效、经济地验证索引器提供状态的有效性。Nubit提出的方案是不进行整个状态转换的完整性检查，而是简化为检查少量检查点的有效性。目标是实现即使在大多数委员会索引器被攻击或是作恶的情况下，**只要有1个委员会索引器在做正确的验证，也能保证数据的完整性和可用性。**

### Nubit 架构

1.  该架构依赖于比特币作为最基本的可信数据层。
    
2.  委员会索引器 根据比特币区块计算协议状态，并生成检查点(polynomial commitment),发布到 Nubit DA（数据可用性层）。
    
3.  Nubit DA 负责发布数据和确保检查点数据可用。
    
4.  索引器负责向用户提供查询结果和相应的证明。
    
5.  轻量级索引器 由用户运行，可以从索引器查询协议状态的必要部分，利用检查点验证结果的正确性。如果多个委员会索引器提供的检查点不一致，可以利用无状态计算生成正确的检查点。
    

![](https://storage.googleapis.com/papyrus_images/227a76b0b31388c3fdc9425fb11a59bb8ee12f037f54984890e345d1b6231844.png)

> 无状态计算
> 
> 无状态计算 (stateless computation) 是一种技术，允许用户在不需要下载和存储整个协议状态的情况下，验证索引器提供的执行结果是否正确。
> 
> 1.  传统的验证方式需要用户下载全部状态数据,然后重新执行整个计算过程,与索引器的结果进行对比,从而验证结果正确性。这种做法需要大量存储和计算资源。
>     
> 2.  无状态计算技术的出发点是:即使用户没有全部状态数据,只要有少量的关键状态数据(如之前的检查点状态),就可以有效地验证后续状态的正确性,无需重复整个计算过程。
>     
> 3.  它通过密码学技术 (如polynomial commitment等) 将全部状态数据压缩为一个很小的加密检查点,用户只需下载并验证这个检查点,就等同于验证了整个状态数据的准确性。
>     
> 4.  当多个委员会索引器提供的检查点不一致时,用户可以利用之前的检查点状态作为关键输入,使用无状态计算重新生成当前正确的检查点,从而识别出诚实的索引器。
>     
> 5.  通过这种无状态计算技术,用户无需下载和存储整个庞大的状态数据,只需很小的检查点数据,就能高效地验证索引器执行结果的正确性,从而实现轻量级可验证计算。
>     

总结

Nubit 在中心化索引器和去中心化索引器之间提供了一个中间选项，即通过构建一个第三方的Nubit DA层来管理数据并验证数据，而最终仍然是依靠比特币作为最基础的可信数据层，这提供了一个相对去中心化且不牺牲过多安全性的方案。

同时，Nubit在近日宣布了与 [BounceBit](https://twitter.com/bounce_bit) 合作，通过 BounceBit 的 BTC- restaking 技术与 Nubit 的比特币原生数据可用性解决方案相结合。立即为此方案实现了第一个落地场景。

[https://twitter.com/nubit\_org/status/1767098181140287979](https://twitter.com/nubit_org/status/1767098181140287979)

---

*Originally published on [Cook0x](https://paragraph.com/@cook0x/nubit)*
