# MetaID理念

MetaID 设计目标是在比特币及其同构区块链上构建Web3 应用。

我们认为，未来的良好的Web3 应用应该具备以下特性，并且这些特性也是MetaID 从最初版本就开始一直坚持的设计目标：

* 数据完全归数据生产者所有，数据所者可自由交易其所有数据
* 用户只需一个私钥便可使用所有 Web3 应用
* 用户数据应尽量上链，这样可确保应用数据不被篡改和方便重建，更重要是能减少全局的验证成本（只需上链时验证一次）
* 数据即便在链上也能支持数据的声明式的删除和修改，这样才能支持所有类型的应用
* 链上数据允许矿工删除（比特币白皮书上约定矿工可以删除数据），但上链后的数据依然可以分布式保存，比特币的链上数据应该分布在一个小世界网络
* 应用间数据应能互联互通，彻底打破数据孤岛，应用之间不再有数据藩篱
* 资产和数据是紧密配合的，资产的价值应该是构建在用户数据的价值上的

### 关于MetaID的扩容

MetaID 设计目标不只是构建小量的简单的 Web3 应用，我们还希望有海量的 MetaID 应用出现，最终获得大量的采用。但众所周知，比特币目前性能不高并且手续费昂贵，显然不能支持大量的 Web3 应用运行在其上面，MetaID 应用如果只运行在比特币主链上， MetaID是不能被大规模普及的。MetaID 要获得成功的话，MetaID 必须要解决扩容问题，对于 MetaID 如何解决扩容问题，我们的理念是这样的：

* MetaID 若要解决扩容问题则必须支持多链，我们认为只要是和比特币同构的并且算力达到一定程度以上的区块链，MetaID 应该都支持（详见“关于跨链”一节）
* 理想的比特币侧链/二层应该是和比特币同构的，并且这些侧链/二层应能和比特币组成一个大的统一UTXO 网络（详见“关于跨链” 一节）
* 由于 UTXO 架构具有无状态、高并发的特性，故此基于 UTXO 架构的比特币侧链/二层实际应该看作是比特币网络的延伸。当比特币主网拥堵时，MetaID 交易可创建在这些比特币侧链上；当这些侧链也拥堵时，那就再继续增加同构侧链；这样统一 UTXO 网络的扩容上限没有物理限制，只受总算力上限的制约 -- 而算力的上限本质就是全人类的电力上限。因此MetaID 支持统一 UTXO 网络的背景下，某程度来说是彻底解决了扩容问题，具备了大规模普及的理论基础。
* 用户可以自由选择 MetaID数据保存再哪一条 UTXO 公链上，但数据保存在不同算力区块链上的意义显然是不同的，例如比特币的算力比侧链 A 高 1000 倍，这样也意味着MetaID数据保存在比特币上比保存在侧链 A 安全 1000 倍，所需要消耗的能源也高 1000 倍（算力==能源），因此我们引入了 PoP 这一概念来反映出不同 MetaID数据所蕴含的算力价值。

比特币现在是共识最高和算力最大的公链，这也意味着资产保存在比特币上将获得最大的安全性。而比特币相关侧链虽然算力不高，但手续费便宜以及几乎不会堵塞，因此，我们认为基于 MetaID 的Web3 应用未来最佳的实践是应用的一般性数据运行在比特币侧链上，但重要的MetaID 资产/数据则保存在比特币主链上。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.metaid.io/zh/about-metaid/metaid-li-nian.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
