# 碰瓷Brc20的Smart BRC-20是什么？

By [熊猫撸白.nft](https://paragraph.com/@fomoplz) · 2023-05-06

---

前言
--

最近几天Brc20热度不减，各路”英雄“开始蹭它的热度，至今为止已经有lrc20,drc20,orc20,src20以及今天要讲的**Smart BRC-20**，眼花缭乱了属于是。

和其他几类不同的是，Smart代表的是smart contract,没错，就是以太坊上的智能合约的意思。Smart BRC-20的发行方式是在Btc上通过兼容以太坊智能合约来发行代币，甚至可以在btc上用智能合约来建立各种dapp。

**接下来，我先带大家了解其背后的原理，在文末会谈一谈我自己的一点思考。**

幕后黑手
----

这个代币协议的”幕后黑手“就是这只非常的Geek的白帽企鹅，这只企鹅的名字叫做”Sudo“,在linux系统里面是”超级管理员“的意思，由此可见整个团队非常有极客精神。

![](https://storage.googleapis.com/papyrus_images/24474dcffa3993dac58e434b37de1de8384d728dd8bdecdb6bd13f82f5edfe8c.png)

当我们打开官网：

[

Trustless Computer
------------------

Launch your own Bitcoin L2 blockchain in one click.

https://newbitcoincity.com

![](https://storage.googleapis.com/papyrus_images/0beb00dd625fb4ba8a05de8040ae0c622a5e791d3276d5571e2307a47e320af5.png)

](https://trustless.computer/)

之后,可以看到Brc20不是他们的第一款应用，他们已经构建了一个生态，目前已经开发了七八款应用，包括钱包，水龙头，域名，NFT生成平台等等。所以要理解Smart Brc20的关键就是理解这些应用的底层架构。

![](https://storage.googleapis.com/papyrus_images/1f22d4d7fe5a9207d0f117922391a58f56c367130950122a8f3cc92ef706a261.png)

架构
--

如果用一句话来概括trustless的架构就是：基于Polygon Edge框架搭建的兼容以太坊的图灵完备的BTC二层网络。

核心原理：Ordinals是将图像和文本等数据嵌入到taproot脚本的见证数据字段，而Trustless Computer是将BVM（Bitcoin Virtual Machine）交易数据通过见证数据字段嵌入到比特币交易中。

下图展示了一笔交易的发出和状态更新的过程，我们拆解开来看：

### 用户通过智能合约发起一笔转账：

1.交易进入本地内存池，每个节点在本地维护一个交易内存池，这个内存池不与其他节点共享，所以交易只有写入比特币网络并且广播的时候才会公开。内存池的作用是在交易写入比特币网络之前验证交易的有效性.

2.得到有效交易数据之后，通过Tx Writer将BVM交易数据嵌入到btc交易中。一共包含两个阶段，第一阶段commit transaction,涉及创建一个未花费的交易输出（UTXO）,指示花费的见证/脚本哈希。第二阶段，reveal transaction，将BVM交易数据嵌入到见证数据字段。

### 更新交易的状态

1\*\*.\*\*通过Tx Reader模块过滤每个新比特币块中的BVM交易。对于每一个比特币区块，BVM首先会过滤BVM交易，按照gas费排序。

2.将交易作为BVM区块导入到Ethereum-compatible VM中,进行解析，并更新交易的状态。

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

BRC20智能合约
---------

下方是官方给出的一个brc20代币的合约，可以看到就是继承了eth的ERC20合约，而且写的非常简单，只有一个mint方法，更多示例可以查看：

[

smart-contract-examples/contracts at main · TrustlessComputer/smart-contract-examples
-------------------------------------------------------------------------------------

Contribute to TrustlessComputer/smart-contract-examples development by creating an account on GitHub.

https://github.com

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

](https://github.com/TrustlessComputer/smart-contract-examples/tree/main/contracts)

    // SPDX-License-Identifier: MIT
    pragma solidity ^0.8.0;
    
    import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
    import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol";
    import "@openzeppelin/contracts/access/Ownable.sol";
    
    contract MyERC20 is ERC20, ERC20Burnable, Ownable {
        constructor() ERC20("TestToken", "TTK") {
            _mint(msg.sender, 10000 * 10 ** decimals());
        }
    
        function mint(address to, uint256 amount) public onlyOwner {
            _mint(to, amount);
        }
    }
    

发行代币
----

Smart brc20的代币发行非常简单，不需要你懂智能合约，官方已经提供了一个前端工具

[https://trustless.market/](https://trustless.market/)

，只需要填写代币名称，代币符号以及最大供应量即可。

![](https://storage.googleapis.com/papyrus_images/4937f407ebc41e8871fe83de27e850deeeeca03394b0e85d5bda790b331d0494.png)

从目前的代币排名来看，已经有155个代币发布，但是有交易记录的只有大概20个左右。

![](https://storage.googleapis.com/papyrus_images/17c0bbc6ae2c4defe20c57b77a74258ca8d8bf0d03bdb77b6855fca0eafbe59a.png)

**购买代币**

官方提供了一个swap工具,可以使用WBTC兑换想要的代币。

[https://trustless.market/swap](https://trustless.market/swap)

![](https://storage.googleapis.com/papyrus_images/51e6136506f20153af801dd98a6d16c397aefac416ab77b1ec59d5fa1bd13fed.png)

关于WBTC如何获得，可以参考官方给的文档：[https://trustless.market/get-started](https://trustless.market/get-started)

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

一点思考
----

最后让我们来回到V神当初创造以太坊时的初衷，在以太坊白皮书中他写到了比特币系统的脚本语言的一些缺陷以及在密码学货币上建立高级应用的三种方法：建立一个新的区块链，在比特币区块链上使用脚本以及在比特币区块链上建立元币协议。

元币的理念是在比特币区块链上创建新的协议，利用比特币的交易保存元币的交易,个人觉得有点像trustless的这种解决方案。

在我看来，trustless这种通过自建中间层虚拟机将ETH的智能合约引入到BTC上的方式有些鸡肋，如果是直接用solidity发币的话为什么不直接在ETH上发呢？我目前还没有找到什么必要的理由一定要包装到btc上来发。

这次推出的这个Smart BRC-20在技术上还是沿用了过去的技术，并没有什么创新之举，主要是为了蹭热点。

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

总结
--

以上是我对于Smart BRC-20的介绍和我自己的一点思考，总的来说，我不是很看好这种解决方案，有一种多此一举的感觉，不过，如果你还有其他的看法，欢迎添加下方的微信号，备注 “brc20”，进入免费微信群一起交流：

![](https://storage.googleapis.com/papyrus_images/3be4b32ebfdb998518975e97abd880ae205d94f5cf46b742f49c1806ab0f62a2.png)

[Subscribe](null)

---

*Originally published on [熊猫撸白.nft](https://paragraph.com/@fomoplz/brc20-smart-brc-20)*
