[ 05 / 10 ] · 新生课程

第 05 课:什么是 Monad?

6 分钟100 XP

踏上构建生产级应用的旅程。

上一课,我们讲清楚了一件事:你选择把应用建在哪种基础设施上,会决定它能做到什么。中心化服务器可以被关停、审查或控制;分布式系统要避免的,正是这种单点控制。

我们也讲到了这个领域真正的机会:行业已经筹集了数十亿美元,数百个团队也在尝试。但是,除了博彩和投机项目之外,普通人真正会日常使用的去中心化应用,至今还没有出现。

Monad 就是我们接下来用来构建这类应用的地方。


Monad 是什么

Monad 是一条区块链(blockchain)。就像上一课讲的,区块链是一种分布式系统。它运行在全球数百台相互独立的计算机上。没有哪家公司拥有它,也没有哪个政府能把它关停。

Monad 的由来

2009 年,Bitcoin 证明了一件事:价值可以在没有中间人的情况下转移。但 Bitcoin 的目标很单一:把 BTC 从一个地址转到另一个地址。你不能在它上面构建完整应用。

2015 年,Ethereum 改变了这一点。它提出了「运行在区块链上的通用计算机」这个想法:开发者不仅可以转账,也可以编写程序。后来,围绕它形成了完整的开发者、工具和应用生态,直到今天,整个行业仍然建立在这套基础之上。

但 Ethereum 当初要证明的是:去中心化计算(decentralized computation)确实可行。它的目标不是让去中心化应用用起来像普通软件一样快。

Monad 继承了 Ethereum 建立起来的一切,然后继续问下一个问题:如果去中心化应用快到像普通软件一样,会发生什么?


Monad 的核心指标

Monad 有几个关键指标:

  • 每秒 10,000 笔交易(10,000 transactions per second) —— 足够支撑真正面向消费者的应用
  • 800 毫秒最终性(800 millisecond finality) —— 快到让人觉得是即时的
  • 更低的硬件成本 —— 这意味着更多人可以运行节点,让网络更去中心化

这些不只是数字。它们决定了用户打开一个应用时,感受到的是流畅响应,还是漫长等待。

Monad 能做到这些,靠的是共识层和数据层的一系列创新:MonadBFT、RaptorCast 和 MonadDB。后面的进阶课程会细讲。现在先记住结果:Monad 上的应用响应很快,手续费也接近于零。

Monad 每秒可以处理多少笔交易?


既快又去中心化

很多高性能区块链为了追求速度,会在去中心化(decentralization)上做妥协。

Monad 不想做这种取舍。它的去中心化主要来自两个设计:更低的硬件门槛,以及更大的验证者集合(validator set)。

低硬件门槛

很多高性能链要求昂贵的专用硬件,意味着只有资金和资源足够多的人才能参与。理想状态下,运行一个节点应该足够便宜,普通人也可以做到。

Monad 被设计成可以运行在消费级硬件上,所以更多人有机会运行节点。运行节点的人越多,控制权越分散,单一实体就越难影响整个网络。

庞大的验证者集合

真正的去中心化,需要现实世界里有足够多的人独立运行验证者(validator)。大多数高性能共识机制很难做到这一点。它们依赖验证者之间的全互联通信(all-to-all communication):每个验证者都要和其他所有验证者通信。验证者越多,通信开销增长得越快,最后网络跟不上,链就只能限制验证者数量来保住速度。

MonadBFT 的设计不同。它不依赖所有验证者彼此通信,而是使用一种「先分发、再汇总(fan-out, fan-in)」的模式:区块 leader 先把区块广播给验证者,验证者再把投票直接发给下一任 leader。这样通信开销按线性增长,而不是指数级膨胀。验证者集合扩大时,网络也不至于被拖垮。

Monad 的做法是:用可以支撑大量验证者的快速共识机制,再配合较低的硬件门槛。随着更多人运行 Monad 验证者,网络的控制权也会越来越分散。


智能合约

那么,应用到底是怎么在区块链上运行的?答案是:智能合约(smart contracts)。

在传统软件里,应用逻辑运行在你控制的服务器上。你可以随时修改、下线,也可以屏蔽某些用户。正因为如此,一个账号会被封禁,一笔支付会被冻结,一个平台也可能一夜之间被关停。

智能合约把这件事反过来。它是一段运行在区块链上的程序,而不是运行在某台服务器上。部署之后,任何人都不能随意更改或下线它,连作者也不行。它会按照写好的规则持续运行。

你可以把它理解成一台自动售货机。你投入钱,选择商品,机器把商品给你。不需要收银员,也没有店长可以临时决定不卖给你。规则被写进机器本身。智能合约也是这样:规则写在代码里,由区块链自动执行。

智能合约不关心是谁在调用、你在哪个国家,也不关心某个政府是否给数据中心发了函。只要条件满足,它就会按代码执行,对所有人一视同仁。

在 Monad 上,智能合约使用 Solidity 编写。Monad 运行在 EVM(Ethereum Virtual Machine,以太坊虚拟机) 上,和 Ethereum 使用同一套标准。这意味着所有为 Ethereum 编写的智能合约、工具和教程,无需任何修改就能在 Monad 上使用。

当你部署一个智能合约时,它会被复制到网络里的每台计算机,并由这些计算机共同处理。Monad 上保存的不只是你的代币余额,还包括部署在它上面的每个应用的完整逻辑。

如果你在 Monad 上部署智能合约,它会被复制到 Monad 网络中的所有计算机,并由它们处理。

智能合约是如何执行的?

Monad 兼容 EVM(EVM-compatible)。这是什么意思?


MON

Monad 的原生货币叫 MON。网络上每发生一笔交易,例如转账、与应用交互、部署智能合约,都需要用 MON 支付一小笔手续费。这种手续费叫 gas。

MON 也可以用于 质押(staking):代币持有者锁定 MON,帮助维护网络安全,并获得相应奖励。

Monad 的原生货币是什么?


接下来是什么

Monad 是我们构建去中心化应用的地方。现在你已经知道它是什么、从哪里来,以及为什么存在。

下一课会讲区块链的基础词汇:gas、validators、consensus、proof of stake。后面的架构课,以及你之后要构建的东西,都离不开这些基础。

0/5 正确

0% — 全部答对即可完成

注册以记录进度