一文搞懂“区块链”:web3.0的底层引擎

     分类 [产品经理]
2025/9/18 16:50:00 浏览量  682 喜欢  2
导读:天才的设计

一文搞懂“区块链”:web3.0的底层引擎

区块链,来了!
其实说白了,区块链本质上就是一个超级账本。但它的厉害之处就在于,这个账本:撕不烂、改不了,而且人人都能有一份。
一文搞懂“区块链”:web3.0的底层引擎
来源:阿里云·蚂蚁区块链逻辑架构
从全局来看,区块链并非追求成为速度最快的数据库。
它牺牲了每秒交易处理量等效率指标,换来了无需中介的终极信任。这种信任不再来源于像支*宝这样的中心化公司,而是源自数学、密码学以及分布式网络。
一文搞懂“区块链”:web3.0的底层引擎
来源:易大师
本文将从密码学、共识机制、P2P网络体系、分片技术、智能合约、L2解法、跨桥技术等多个方面详细阐述区块链的底层原理
 

1.区块链的密码学基石

1.1.数字世界的指纹,哈希函数与Merkle树

咱们搞支付的,每天经手那么多流水,最怕什么?最怕数据被篡改。今天账上明明记着收了客户100块,明天一看变成10块,这不得疯了?

区块链解决这个问题的第一件武器,就是哈希函数Hash Function

1.1.1.哈希函数就是给任何数据盖上数字指纹

别被名字吓到,其实就干一件事:把任何大小的数据,比如一部电影、一句话、一个数字,变成一串固定长度的、看起来像乱码的字符串,即所谓的哈西吧,阿不,哈希值。

一文搞懂“区块链”:web3.0的底层引擎
来源:CSDN·xiaoshun007~
它有三个十分厉害的特性
1)确定性
同样的输入经哈希运算后,永远会得出同样的输出。例如,对“支付老铁666”进行哈希运算,结果永远是a1b2c3...这就保证了数据的一致性。
2)雪崩效应
输入哪怕只改动一点点,输出结果就会面目全非。若把“支付老铁666”改成“支付老铁667”,整个哈希值就会从a1b2c3...变成f9e8d7...,完全不同,这确保了任何篡改行为都无处遁形。
3)单向性,即不可逆
给你一个哈希值a1b2c3...,你几乎不可能反推出原始数据是“支付老铁666”,这就像给你一个指纹,你却无法据此复原出整个人一样,进而保证了数据的隐私和安全。
在支付中,当你的交易数据被打包成一个区块时,系统会计算一个哈希值。这个哈希值就如同这个区块的唯一身份证。下次,如果这个区块里的数据哪怕只改动了一个小数点,它的身份证就会完全改变,所有人都能知道它被篡改了。
关于算法,比特币采用的是SHA-256算法,该算法非常强大,输出为256位。以太坊则使用的是Keccak-256算法,这种算法更为灵活。
一文搞懂“区块链”:web3.0的底层引擎来源:博客园·不爱学习的Shirley

1.1.2.海量交易档案管理之Merkle树

光有指纹还不够。

一个区块里有几千笔交易,我怎么快速知道某一笔交易确实在这个区块里呢?比如我向老张转了100U。难道要我把几千笔交易全部重新哈希一遍再对比吗?

太慢了。

Merkle树就是为了解决这个高效验证问题而生的。它就像一个公司的档案部主任

一文搞懂“区块链”:web3.0的底层引擎
来源:百度图片

1)怎么建树?

把几千笔交易(TX1,TX2,TX3,TX4...)每笔都算出自己的哈希值(H1,H2,H3,H4...)。

这是树叶

把相邻的两个哈希值拼起来,再哈希,得到父节点的哈希

H12=Hash(H1+H2)

H34=Hash(H3+H4)

这是树枝

继续两两拼接哈希,直到最后得到一个顶部的根哈希Merkle Root

这是树根

2)牛逼在哪?

这个Merkle Root会写在区块头里,相当于给整个区块的所有交易盖了一个总公章

现在,老张跑来问你:“我那笔100U的交易到底在没在这个区块里啊?”

这叫做默克尔证明

你不需要给他看全部几千笔交易,只需要给他看一条路径:他的交易哈希H3、他兄弟的哈希H4、他叔叔的哈希H12。

他用这些数据自己就能计算出Merkle Root,如果算出来的结果和区块头里记录的公章对上了,他就100%确信这笔交易确实在区块里,且没人能篡改。

这套机制让我们可以运行轻节点Light Client

怎么用在支付中,比如,你的手机钱包不需要下载几百GB的完整区块链数据,只需要下载每个区块的区块头,里面包含Merkle Root,就能用极小的数据量验证任何交易的真实性。

这才是区块链能走向大众支付的技术前提。否则每个人都得背个服务器出门,还玩个屁。

1.2.非对称加密体系,你的公钥银行卡和私钥U盾

这是密码学里最反直觉、也最天才的设计。它是整个加密货币支付身份和授权的基石。

1.2.1.椭圆曲线密码学,如何生成无法伪造的签名

咱们传统的支付,身份验证靠的是“卡号+密码”或者“账号+密码”。

这有个致命问题:密码是静态的,你告诉收银员,收银员系统就知道了,存在泄露风险。

非对称加密搞了两把钥匙:公钥Public Key和私钥Private Key

一文搞懂“区块链”:web3.0的底层引擎
图片来源:笨熊费键盘

1)公钥

可以公开,相当于你的银行卡号。你告诉全世界,往这个卡号里打钱。

2)私钥

绝对保密,相当于你的银行卡密码+U盾+身份证原件。它的唯一作用就是生成数字签名

其数学原理基于椭圆曲线乘法,你不需要懂数学,只需要知道一个核心特性:

用私钥可以对一条交易信息,比如我转1个ETH给老张,生成一段唯一的签名。任何人用我的公钥都可以验证这个签名确实是我发出的,但任何人都无法通过公钥反推出我的私钥,也无法伪造出一个能通过验证的签名。

一文搞懂“区块链”:web3.0的底层引擎
来源:csdn·lmn_·椭圆曲线密码学ECC

我们来跟传统支付对比一下流程:

1)传统支付

你输入密码,支付平台验证密码是否正确,执行转账。

2)加密货币支付

你构造一笔交易:从我的由公钥生成的地址,转1个ETH给老张。你用你的私钥对这笔交易进行签名。你把交易本身和你的签名一起广播到网络。矿工、节点用你的公钥去验证这个签名是否有效。验证通过,打包交易。

一文搞懂“区块链”:web3.0的底层引擎
图片来源:珮金科技官网

它的精髓在于你从未在网络上传送过你的私钥!

你只传送了签名,而签名无法被用来推导私钥。这就从根本上解决了密码泄露的问题。

1.2.2.零知识证明

我证明我有钱,但就是不给你看余额

这是密码学的圣杯,是隐私支付的终极武器。它能让你证明某件事是真的,但完全不透露任何其他信息。

一文搞懂“区块链”:web3.0的底层引擎

来源:B站·币圈老猫社区

1)支付场景

老张要你证明你账户余额超过1000U,才和你做生意。在传统世界,你得把银行APP余额截图给他看,他看到了你所有的交易流水和资产明细,这时候隐私就泄露了。

2)ZK解决方案

你可以生成一个零知识证明,发给老张。这个证明能让他100%确信你的余额大于1000U,但他完全看不到你的余额具体是多少,也看不到任何其他交易记录

它的原理极其复杂,涉及椭圆曲线配对、多项式承诺等,但我们可以把它想象成一个神奇的数学黑盒

你把你的交易数据塞进去,黑盒吭哧吭哧运行一通,吐出一个极短的证明。任何人验证这个证明,就能知道里面的数据满足某个条件,如余额>1000U,但完全不知道数据本身是什么。

非对称加密解决了身份认证和防伪造问题,让私钥即身份成为可能。这是自助保管资产的基础。零知识证明解决了隐私与验证的矛盾

它将是下一代支付协议的标配,既能满足监管的合规审查,比如证明你不是洗钱,又能最大程度保护用户的商业和财务隐私。这玩意儿才是真正的降维打击。

整体来看

哈希函数确保了数据的完整性,一点都不能改。Merkle树实现了数据的高效验证,让轻节点成为可能。非对称加密实现了身份认证和不可否认,私钥是你一切的根源。零知识证明实现了可验证的隐私,是未来支付隐私战的核武器。

这些不是虚无缥缈的理论

而是大家每天用的加密货币支付APP底下真正在跑的东西。理解了它们,你就能理解为什么区块链支付是更安全、更高效的一个范式了。

接下来唠唠共识机制,看看几千个互不认识的人,是怎么在没有老板的情况下,一起公平地记好同一本账的。

这才是真正的社会实验。

 

2.共识机制

说白了,共识机制就是要解决一个千古难题:一群互不信任的人,如何在没有中心老大主持的情况下,共同维护一本账本的真实和唯一?

这问题在支付领域太关键了。

你想想,**宝和*联就是那个中心老大,我们所有人都信任它,由它来最终裁定交易是否有效、余额是多少。但现在,我们要把这个老大干掉,那总得有个新规矩来决定谁说了算吧?

这就是共识机制的战场。主要流派就两个:工作量证明POW权益证明POS

2.1.POW工作量证明

挖矿的本质是抽彩票

这是中本聪的天才发明,是比特币的护城河,也是最简单粗暴的共识方式。

一文搞懂“区块链”:web3.0的底层引擎
来源:链上淘金

2.1.1.比特币挖矿全流程模拟,一场全球规模的数学竞赛

别把挖矿想得太神秘。咱们用支付行业的抢单来理解:

1)收集交易

矿工节点把网络里广播的、还没确认的交易收集起来,组成一个交易池。就像支付公司的运营人员先把一天的交易订单汇总起来。

2)组建区块

矿工从交易池里挑选交易,组装成一个候选区块。他会优先选择给的矿工费高的交易,因为这是他赚的钱。这就好比支付公司优先处理大商户、高手续费率的交易。

3)计算难题

这是最核心的一步。矿工需要为他组装好的这个区块,找到一个随机数,使得整个区块的哈希值满足一个条件:必须以特定数量的0开头

这个寻找Nonce的过程,就是挖矿。

它没有任何取巧的方法,只能靠计算机一遍又一遍、盲目的、海量的哈希计算去撞大运。谁的算力大,谁单位时间内尝试的次数就多,谁就更有可能先找到这个符合条件的Nonce。

4)广播验证

一旦某个矿工找到了这个Nonce,他就像中了大奖,立刻向全网广播:

“我找到了!这个区块有效!这是证明那个Nonce和哈希结果!”

其他节点收到后,会拿这个Nonce和区块数据去验证一下,发现哈希结果确实满足要求。

验证过程极其简单,一秒钟不到。但他们之前自己算了半天都没算出来。

5)获得奖励

全网节点验证通过后,这个区块就被链接到区块链上,成为新区块。找到Nonce的矿工获得区块奖励,新发行的比特币+这个区块里所有交易的矿工费

然后,所有人基于这个新区块,开始下一轮抽彩票。

从上帝视角看POW

1)它很公平

赚钱的机会对全球所有人开放,拼的就是真金白银投入的算力,即电力、矿机。

2)它极安全

你想篡改一个已经被确认的区块,你需要重新计算这个区块和之后所有区块的POW。

这意味着你需要拥有超过全网51%的算力,成本高到无法想象。

3)它很浪费

为了安全,成千上万的矿工都在做无用的计算,消耗巨量能源。这是POW被诟病最多的一点,但这也是其为安全支付的必要代价。

2.1.2.51%攻击防御机制,不是篡改,而是双花

很多人误解51%攻击是能修改账本。不对。它的真正威胁是双花,Double Spending

假设你有全网51%的算力。

你先给老王转10个BTC买辆车,这笔交易被打包进了第N个区块,老王看到确认了,就把车给你了。

但你偷偷地基于第N-1个区块,重新挖了一个分叉,里面有一笔把你那10个BTC转回自己钱包的交易。

因为你算力强,你的分叉链最终会长度超过原链,被全网接受为主链。

结果呢

在第N个区块里的那笔转给老王的交易就作废了。你的币又回来了,但老王的车你已经开走了。这就是双花。

为什么难呢?

因为达到51%算力成本极高,而且一旦你发动攻击,比特币网络信用崩溃,币价暴跌,你手里价值连城的矿机和币就归零了。

所以,作恶不如从良

这是POW博弈论设计的精妙之处。攻击在理论上可能,在经济上绝无可能。

2.2.POS权益证明

存款抽彩票,作恶就罚款

POW太耗能了,人们就想找更环保的共识机制。POS,Proof of Stake,应运而生。以太坊就从POW转向了POS。

一文搞懂“区块链”:web3.0的底层引擎

来源:链上淘金

2.2.1.核心思想,从拼算力变成了拼财力

谁在这个网络里拥有的资产多,权益大,谁就越有机会来记账,同时如果作恶,被罚没的也越多。从拼算力变成了拼财力。

首先是成为验证者环节。
若你想参与记账,需先抵押一定数量的系统原生代币,例如抵押32个ETH到一个智能合约里,这相当于缴纳一笔巨额保证金,完成抵押后,你就成为了一个验证者节点。
接着进入提议和验证阶段。
系统会借助算法,从所有验证者中随机挑选出一个区块提议者,由该提议者负责组装并提出一个新区块。
随后,再随机选出一群验证者组成验证委员会,由他们对这个新区块进行投票验证。
最后是奖励与惩罚机制。
要是你诚实工作,就能获得记账奖励,奖励包含新发行的代币以及手续费。
但如果你作恶,比如验证虚假交易,或者哪怕只是因网络故障而离线,你抵押的保证金就会被罚没了,其中一部分代币会被销毁,另一部分则会奖励给举报你的人。

2.2.2.Casper FFG最终确定性,给区块链盖章

在POW里,区块可能被回滚,虽然概率随确认次数增加而减小。POS通过Casper FFG,Friendly Finality Gadget这类机制,引入了最终确定性Finality

简单说,每隔一段时间,比如100个区块,验证者们会对一个检查点进行投票。

一旦某个检查点获得足够多的投票,它就被最终确定了。

被最终确定的区块几乎不可能再被回滚,除非攻击者销毁全网至少三分之一以上的抵押资产。这比POW的51%算力攻击成本更高,更安全。

2.2.3.惩罚机制设计,让作恶者倾家荡产

这是POS的灵魂。Slashing不是简单的扣钱,而是一套精密的经济威慑系统

惩罚条件涵盖多种不当行为,例如同时为两个存在冲突的区块投票,这属于试图分叉的恶意操作、离线失职等情况。
而惩罚力度则会依据攻击规模和严重程度有所不同,轻则处以少量罚款,重则全部抵押资产都会被罚没。
从整体机制设计来看,Slashing机制巧妙运用博弈论原理,将验证者的利益与网络的安全紧密绑定。
想象一下,若你抵押了价值1000万的ETH,你会为了一点蝇头小利就去攻击网络,进而导致自己的1000万资产被销毁吗?
显然不会。
由此可见,权益证明POS机制的安全性并非依靠能源消耗来保障,而是依托巨大的资本抵押以及严厉的惩罚机制。

2.2.4.对我们支付人有哪些启示

POW与POS的对比,就如同选择支付通道的清算模式。
POW机制类似于T+1甚至T+N的清算模式,一笔交易需要经过多个确认环节,才能最终确保安全;而POS机制追求的则是近乎实时的最终确定性,交易确认速度更快,能让用户体验更接近传统支付方式。
从经济安全层面来看,POS机制给我们带来新的启示
保障系统安全,并非只能依靠烧钱,消耗大量电力的方式,还可以通过锁钱,抵押资产来实现。未来支付系统的风险控制,或许可以借鉴这种保证金+罚没的模式,以此约束合作商户的行为。
在能源争议方面
POS机制为区块链支付的大规模应用扫除了不环保这一舆论障碍,让区块链支付更容易被主流社会所接纳。

最后总结一嘴

POW是体力活,靠消耗物理能量电力来保证安全。它简单、强悍、但缓慢且耗能。是数字黄金的完美铸造方式。

POS是资本游戏,靠消耗经济能量抵押资本来保证安全。它高效、节能、更复杂。是世界计算机的优质发动机。

它们没有绝对的好坏,只有适合的场景。但它们共同的目标都是:

在一个去中心化的环境下,实现无需信任的信任

 

3.区块链的网络架构

网络架构就像人体的神经系统或者城市的路网系统。

账本数据得靠它来传输,节点之间得靠它来通信。如果一个支付网络动不动就延迟、拥堵、或者某些地方成了信息孤岛,那体验就是灾难性的。

区块链的网络架构,追求的是一个目标:在完全去中心化、没有中心服务器调度的情况下,如何能高效、可靠、抗打击地把数据和交易传播到每一个角落?

答案就是:P2P网络,点对点网络

3.1.P2P网络协议

传统的WEB2是“客户端-服务器”架构。比如你用支*宝,你的手机就是客户端,*里的机房就是服务器。所有数据都通往一个中心,服务器一挂,全玩完。

P2P网络是另一种玩法:每个参与者节点既是客户端,也是服务器。大家地位平等,互相连接,共同维护网络。

3.1.1.Kademlia DHT算法解析,节点间的高效通讯录

几千上万个节点散落在全球,一个新节点加入网络,它怎么知道该和谁连接?它怎么快速找到它需要的数据?

这需要一个高效的寻路算法。区块链,尤其是以太坊,广泛采用了一种叫Kademlia的分布式哈希表DHT协议。你可以把它理解成一个去中心化的、自动维护的通讯录

它的工作原理极其巧妙

首先会给每个节点分配一个ID。每个节点都拥有一个由公钥生成的唯一ID,它是一串数字,这个ID决定了该节点在网络中的位置。
一文搞懂“区块链”:web3.0的底层引擎
来源:知乎·CodeAndRoad
网络采用通讯录分层管理的方式。每个节点无需认识全网的所有节点,只需维护一个路由表,表中按照距离远近记录着几个不同的联系人。这里的距离并非地理意义上的,而是通过数学上的异或计算得出的,这虽然有悖于我们的直觉,但却是整个机制的关键所在。在路由表中,会包含一些离自己很近的节点、一些离自己中等距离的节点,以及一些离自己非常远的节点。
当进行快速查找时,若一个节点想要查找某个数据或另一个节点,它无需向所有人广播信息。只需询问自己路由表中距离目标最近的那些联系人:你们谁知道XXX在哪么?如果这些联系人也不知道,他们就会将自己认为距离目标更近的联系人告知询问者。经过几次这样的迭代过程,就能以极高的效率定位到目标。

Kademlia协议让网络具备了自组织和自修复能力

节点可以自由加入和退出,网络能自动调整路由表,始终保持连通性。它高效、低耗,且极其健壮,没有单点故障。

这就是去中心化网络的基石。

3.1.2.交易广播的gossip协议,消息像病毒一样扩散

节点之间具体是怎么传播交易和区块数据的呢?用的是一种叫Gossip协议的方法,也叫流行病协议

一文搞懂“区块链”:web3.0的底层引擎
来源:知乎·CodeAndRoad

这名字起得特别形象。它的传播方式就像村里的大妈传闲话,或者病毒扩散:

1)感染一个节点收到一条新交易Tx。

2)传播这个节点不会把这条Tx发给全网,而是随机选择几个它连接的邻居节点,把Tx发给它们。

3)再传播这些邻居节点收到后,又会再随机选择它们自己的几个邻居进行传播。

4)指数级扩散就这样一传十、十传百,在很短的时间内,这条交易消息就能像病毒一样指数级地扩散到整个网络。

在优点方面,它具有负载低、容错性高以及去中心化的特点。即便网络中的某个节点出现宕机情况,或者有节点传播恶意信息,都不会对整个网络的正常运行造成影响。
不过,Gossip协议也存在一些不足,其中不可避免的问题就是存在延迟。
一笔交易从发出到被网络中的大多数节点接收,需要耗费一定的时间。这也是你在发起一笔区块链转账时,交易不会立即得到确认的原因之一。从本质上来说,Gossip协议达成的是一种最终一致性。

3.2.分片技术

解决超级大城市堵车的终极方案,这是区块链扩容的圣杯,是以太坊等公链未来发展的核心。

现在的区块链,每个节点都要处理所有交易,存储所有数据。这就像只有一个全球总部,所有业务都要汇集到这里审批,效率极低,成了超级大城市,无比拥堵。

3.2.1.分片的核心思想是分而治之

把整个网络分成很多片,每个片只处理整个网络中一小部分的交易和数据。这就像从全球只有一个总部,变成了在全球设立很多个地方分公司

一文搞懂“区块链”:web3.0的底层引擎

来源:百度图片

状态分片与交易分片

1)交易分片比较容易理解。把进来的交易分成不同的组,分配给不同的分片去并行处理。这直接提升了处理能力

2)状态分片这是真正的难点。状态指的是所有账户的余额、智能合约的存储数据等。状态分片意味着每个分片只维护整个网络的一部分状态

例如,分片A只处理和管理地址开头是0x1的账户,分片B只处理0x2的账户。这样每个节点不需要存储恐怖的全球状态,只需要存储它所在分片的状态,负担大大减轻。

3.2.2.跨分片通信方案,分公司之间如何协作?

分片后,最大的挑战来了:如果一笔交易需要调用不同分片的数据怎么办?比如,一个在分片A的账户,想给一个在分片B的账户转账。这就叫跨分片通信

目前的方案基本都基于一种收据模式,流程如下:

1)在分片A处理分片A的验证者处理这笔转账,确认发送方余额足够,并扣款。然后生成一个收据,证明我这边已经扣款了,分片B你可以给他加钱了。这个收据会被存下来。

2)等待确认分片A的区块被最终确定。

3)在分片B处理分片B的验证者看到分片A最终确定后的区块里的那个收据,验证收据确实有效后,就给分片B的接收方账户增加相应的余额。

分片技术堪称对区块链领域不可能三角的终极挑战。
所谓不可能三角,指的是在区块链系统中,可扩展性、去中心化和安全性三者往往难以同时兼顾。而分片技术的目标,就是同时提升可扩展性与去中心化程度,由于降低了节点参与的门槛,更多节点能够加入网络,进而增强去中心化特性,同时不过多牺牲安全性。
然而,分片技术的复杂性极高。
跨分片通信会引入延迟和额外的复杂问题,例如如何确保收据能够可靠地传递和验证,如何有效防止双花攻击等,这些都是工程实现过程中面临的巨大挑战。
从对支付行业的意义来看
分片技术是区块链能否支撑全球级支付系统的关键所在。一旦分片技术取得成功,区块链网络的吞吐量有望从每秒几十笔大幅提升至成千上万笔,交易手续费也将变得极低。
届时,真正的秒到账和几乎免费的支付体验将成为现实,这无疑是支付行业长久以来的终极梦想。

P2P网络是去中心化的筋骨,Kademlia DHTGossip协议是让这个网络能高效、自治运转的神经信号。

分片技术是解决区块链扩容瓶颈,使其能承载全球支付需求的终极方案蓝图。它把一条链变成一个联盟,极大地提升了并行处理能力。

理解了这个网络,你就明白了数据是如何流动的。

到这里我们就拆解完了

信任的基石——密码学

协作的规则——共识机制;

通信的公路——网络架构。

接下来,我们要直奔最核心的部件——智能合约引擎

 

4.智能合约引擎

这玩意儿才是让区块链从分布式账本进化成世界计算机的关键。它也是DeFi、NFT等所有高级支付和应用场景的发动机。

你可以把它理解为一台全球共享、永不宕机、严格执行的自动售货机。

一文搞懂“区块链”:web3.0的底层引擎
图片来源:程序员web3社区

你投币,支付Gas费;按下按钮,调用函数;它就必须、也必然按照预设的逻辑给你出货,也就是返回结果。

没有任何人能阻止它,也没任何人能篡改它的逻辑。

4.1.EVM虚拟机,以太坊的全球CPU

EVM是以太坊的心脏。它的设计目标非常明确:在去中心化的、可能不信任的数千台计算机上,完全一致地执行相同的代码。

一文搞懂“区块链”:web3.0的底层引擎

来源:B站·高质量web3

4.1.1.字节码执行流程,从高级语言到机器指令

咱们写智能合约一般用高级语言,比如Solidity,Vyper。但EVM看不懂这个。所以需要编译器把高级代码编译成EVM能读懂的字节码

这就像你把Java代码编译成JVM字节码一样。EVM字节码是一串非常底层的、十六进制的操作指令,比如PUSH1,ADD,SSTORE等。

当一个交易调用合约时,执行流程如下

1)触发一笔交易被矿工、验证者打包进区块,交易的目标地址是一个合约地址。

2)加载EVM被激活,从区块链状态中加载该合约的字节码。

3)逐行执行EVM开始逐条执行字节码指令。它有一个堆栈用于临时存储计算数据,有一个内存用于短期数据交换,还有一个存储用于永久保存合约状态,比如你的Token余额就存在这里。

4)改变状态指令执行过程中,可能会修改存储中的数据,比如从A账户减钱,给B账户加钱。这些修改最终会被更新到区块链的全球状态中。

5)终止执行完毕,或者因为错误或Gas耗尽而停止。

整个过程的精髓在于:全球所有节点都在自己的EVM里独立执行同一段字节码,并且必须得到完全一致的结果!

如果有任何一个节点得到不同结果,共识就破裂了。这就要求EVM的执行必须是完全确定性的,不能有任何随机数、不能调用任何外部不确定的AP,所以需要预言机。

4.1.2.Gas计量机制优化,计算资源明码标价

EVM最天才的设计之一是引入了Gas机制。它解决了两个核心问题:

1)防止滥用避免有人写个死循环合约,让全网节点无限执行,耗尽资源。

2)合理定价为计算和存储资源提供一个透明的收费模型。

它是如何工作的?

每一条操作码都有明确的Gas成本。比如ADD加法操作很便宜,只要3Gas;而SSTORE写入存储操作极其昂贵,要20000Gas。因为计算消耗CPU,而存储需要全球所有节点永久保存,成本最高。

用户支付费用:用户发起交易时,需要设定一个Gas价格,类似邮费单价,单位是Gwei和Gas上限,类似最多愿意付多少邮费。

总费用=实际消耗的Gas数量*Gas价格

如果执行完成,Gas没用完,剩余部分会退回。如果执行中途Gas耗尽,交易会回滚,所有状态恢复原样,但已消耗的Gas费用不退!这是为了防止有人故意发起大量半途而废的交易来攻击网络。

Gas机制本质上是一种精细化的、市场化的资源定价系统

它把云计算中CPU周期、内存、硬盘存储这些资源,用一种非常巧妙的方式在去中心化环境下进行了商品化。这为复杂的支付逻辑,如DeFi闪电贷、DEX交易路由等提供了可能,同时保证了网络的稳定和安全。

你支付的Gas费,就是这台世界计算机的CPU使用费。

4.2.WASM新架构,下一代高性能CPU

EVM虽然成功,但也有问题:效率低它的字节码和架构设计并非最优,这让开发者生态被限制在少数几种语言。

于是,新一代区块链,如波卡、Near、Cosmos生态等开始采用WASM作为其智能合约引擎。

4.2.1.WASM是什么?

它是一种为Web设计的、高性能的二进制指令格式。它的目标就是成为Web平台的通用字节码,让C/C++、Rust、Go等高级语言都能编译成WASM,在浏览器中以接近原生的速度运行。

一文搞懂“区块链”:web3.0的底层引擎

来源:cncf.io

4.2.2.指令集性能对比

1)EVM专门为区块链设计的定制化虚拟机。指令集简单,但执行效率不高。好比一台老式的、专门玩俄罗斯方块的游戏机。

2)WASM为通用计算设计的现代虚拟机。得到了谷歌、苹果、微软等巨头的支持和优化,性能极高,工具链成熟。好比一台现代的游戏平台,能运行各种复杂3A大作。

4.2.3.用WASM运行智能合约,优势巨大

在性能方面,它能带来飞跃式提升,执行速度比EVM快一个数量级。

对于开发者而言,WASM也十分友好,开发者可以使用他们更为熟悉的Rust、C++、AssemblyScript等语言来编写智能合约,这极大地降低了开发门槛,减少了错误率。

此外,WASM还具备硬件友好的特性,其设计之初就充分考虑了被各种硬件快速编译执行的需求,能够更高效地利用硬件资源。

4.2.4.内存安全防护,Rust语言的安全带

WASM本身是安全的,但它运行什么代码很重要。这就是为什么Rust语言在WASM区块链生态中如此受欢迎。

Rust语言的核心特性是内存安全性和零成本抽象。它在编译阶段就会严格检查数据所有权和生命周期,从根本上杜绝了缓冲区溢出、空指针解引用等常见的安全漏洞。

这意味着什么?

用Rust编写智能合约,相当于你给代码上了一套自动驾驶级别的安全系统。

很多低级错误在编译阶段就被发现了,根本不会部署到链上。这对于管理着真金白银的金融合约来说,是至关重要的安全保障。

4.3.对比来看

EVM是开创者,它定义了智能合约的范式,建立了庞大的生态和网络效应。它是WEB3的x86架构,历史悠久,生态丰富。

WASM是挑战者,它凭借更优的性能、更现代的设计和更强的安全性,正在成为新公链的首选。它目标是成为WEB3的ARM架构,更高效、更移动、更现代。

对支付来说

智能合约引擎的进化,直接决定了支付能做什么

在EVM上,复杂的支付逻辑,如多签理财、分期付款可能因为Gas费过高而不现实。

在WASM上,同样逻辑的成本可能降低一个数量级,使得以前不敢想象的微支付、高频支付、复杂金融衍生品支付成为可能。

更低的费用、更快的速度、更复杂的功能,这是支付行业永恒的追求。

EVM是以太坊的全球CPU,通过Gas机制为去中心化计算明码标价,但其性能和开发体验存在瓶颈。

WASM是下一代高性能引擎,凭借接近原生的执行速度和Rust等语言的内存安全特性,正在开启智能合约的新时代。

理解了智能合约引擎,就明白了区块链上所有复杂应用的动力来源

 

5.更多扩展方案

前面讲的所有东西“密码学、共识、网络、虚拟机”都很牛逼,但它们共同构成了一个完美却昂贵的系统:主网,也就是Layer1

主网就像城市的中心主干道,绝对安全、秩序井然,但大家都往上挤,结果就是堵车高额过路费。你肯定不想买杯咖啡转个账,要等15分钟,还付50块钱手续费

怎么办?

我们不能无限拓宽主干道,那会牺牲去中心化和安全,那就只能修高架桥和地铁!搞出来更多的扩展方案

5.1.Layer2解决方案,在主干道上修高架桥

Layer2的核心思想是:把大部分交易挪到主链L1之外去执行,只把最终结果传回主链进行安全确认。

这样,L1保证了最终的安全性和去中心化,L2则承载了海量的交易,实现了高速和低成本。

目前最主流的两种L2方案是:Rollup状态通道

5.1.1.Rollup,把交易打包上传

你可以把Rollup理解成一个高效的会计部门

1)传统模式L1

公司的每一笔报销都要老板这个L1全节点亲自审核、签字、入账。老板忙死了。

2)Rollup模式

老板雇了一个会计部门L2。员工们的报销先交给会计部门,会计部门批量处理成一张汇总报表,即Rollup区块和一张精简的证明,每天下班前一起交给老板。老板只需要审核一下报表和证明是否无误,然后就签字确认最终结果。

这里的关键在于那份证明。根据证明方式的不同,分为两大流派:

1)Optimistic Rollup,乐观汇总

其思路是先假设会计是诚实的。
当会计提交报表时,先默认报表内容正确无误。为保障安全,它设置了一个挑战期,通常为7天。倘若有人发现报表存在造假情况,可在这个挑战期内提交欺诈证明。
一文搞懂“区块链”:web3.0的底层引擎
来源:知乎·Zero·OptimisticRollup同步数据到L1的过程
一旦验证证明属实,造假者的抵押保证金会被罚没,而挑战者则会获得相应奖励。
Optimistic Rollup的优点在于通用性强,能够兼容EVM,合约迁移较为容易。不过,它也存在缺点,资金从该系统退出到L1时,需要等待漫长的挑战期。
其代表项目有Arbitrum和Optimism。

2)ZK-Rollup,零知识汇总

它的思路是会计每次提交报表时必须同时提交一个数学考试满分卷。
一文搞懂“区块链”:web3.0的底层引擎
来源:yitb.com
会计部门在打包交易后,会生成一个零知识证明,此证明能够证实这批交易的处理完全正确,同时又不会透露任何交易细节。
在安全机制方面,L1上的验证合约只需验证这个满分卷,即ZK证明是否正确,若正确便立刻接受结果。
ZK-Rollup的优点是安全性极高,资金可以立即退出到L1,无需经历挑战期。
但它的缺点是技术较为复杂,对通用计算,尤其是EVM的支持难度较大,不过目前正在快速改进。
其代表项目有zkSync和StarkNet。

对支付来说

Rollup能将交易成本降低10-100倍,速度提升巨大。小额、高频的支付场景注定要发生在L2上。未来用户可能根本感知不到L1的存在,所有的支付App都会基于L2构建。

5.1.2.状态通道数学建模,双方开小账本

状态通道更适合双方之间有大量高频交互的场景。比如两个人对赌,或者一个客户和一个商家频繁交易。

它的原理是:

1)抵押开户双方先在L1主网上锁定一笔保证金,创建一个通道。

2)链下狂刷之后,双方可以在链下无限次地交换经过签名的交易凭证,更新资金分配,而无需上链。这就像两个人在吧台开了个tab,之后只管喝酒签字,最后再一起结总账。

3)最终结算当任何一方想退出时,将最后一份双方签字的凭证提交到L1上,主网根据这个凭证进行最终的资金结算。

状态通道的体验近乎完美,即时、免费,但它适用范围较窄,需要预存资金、适合特定对手方。它更像是企业间的银行承兑汇票体系,而不是面向大众的现金支付。

5.2.跨链技术,连接独立王国的桥梁

未来不会是一条链统治世界,而是一个多链宇宙。比特币、以太坊、各种L2、Solana等公链都是独立的数字王国。

跨链技术就是要让价值和数据能在这些王国之间自由流动。你用在以太坊上赚的USDT,想去Solana上一个新游戏里买东西,就得靠跨链桥。

一文搞懂“区块链”:web3.0的底层引擎
图片来源:腾讯云·区块链大本营

5.2.1.哈希时间锁

这是最经典、最去中心化的跨链方案,它不需要信任任何第三方。

其核心是一智能合约+时间锁+哈希锁”的组合,确保两个操作要么同时发生,要么同时不发生。

以A用BTC换B的ETH为例分析一下这个流程

1)A生成一个秘密R,并计算其哈希H=Hash(R)

2)A在比特币链上发起一笔交易:谁能提供一个数,使得它的哈希等于H,就可以在2小时内取走我锁定的BTC。如果超时,钱退回给我。”她把这笔交易的H告诉B。

3)B看到后,在以太坊链上发起一笔交易:谁能提供R,就可以在1小时内取走我锁定的ETH。

4)A看到B的合约后,拿出R,从B的合约里取走了ETH。

5)B监听到这一步,看到了A用到的R,于是他拿着R,从A的比特币合约里取走了BTC。

整个过程,双方都不必信任对方

如果任何一方中途放弃,时间锁到期后,资金都会自动退回。HTLC非常巧妙,但它功能有限,主要适合简单兑换,且需要两条链都支持相同的哈希函数和时间锁功能。

5.2.2.中继链验证人选举,trusted bridge

这是目前更主流的跨链方式,但引入了信任假设。比如著名的Polygon BridgeMultichain等。

它的模型通常是这样的

1)组建桥委员会由一个项目方组织一群验证人节点,它们分别运行在链A和链B上。

2)锁定资产用户把资产存到链A上的一个由多签钱包智能合约控制的地址里。

3)监听和投票桥委员会的验证人监听链A的事件,发现有一笔存款,然后他们在链B上进行投票。

4)铸造资产达到一定票数后,委员会在链B上给用户铸造等量的映射资产,如wrapped BTC。

5)逆向赎回过程反之亦然,销毁链B上的资产,释放链A上的原始资产。

这种模式用户体验好,通用性强。

但它的安全性取决于桥委员会是否诚实。如果桥委员会作恶或私钥被盗,所有锁定的资产都可能丢失。这是目前跨链桥最大的安全风险来源。

一文搞懂“区块链”:web3.0的底层引擎

来源:知乎·趣链科技·Polkadot跨链架构

对我们支付人有什么启示

1)L2是支付的未来

未来的支付体验将完全建立在L2上。主网L1将退居幕后,成为结算和保证安全的央行。支付行业的选择不再是接不接区块链,而是接哪个L2

2)跨链是必然选择

用户资产会分布在不同的链上。支付系统需要具备跨链资产聚合和路由能力,能自动为用户找到最优、最便宜的支付路径。这将是下一代支付平台的核心竞争力。

3)安全范式转变

支付风控的重点,将从防范盗卡盗号,转变为智能合约审计、跨链桥安全性评估、以及私钥管理

这是一个全新的战场。

 

6.最后

我们用了五个篇章,从地基建到屋顶,彻底拆解了区块链这台信任机器,其中:

  • 密码学是钢筋水泥,保证了数据不可篡改,身份不可伪造。

  • 共识机制是施工法则,让一群陌生人能协同盖出摩天大楼。

  • 网络架构是路网水管,让信息和价值能高效流动。

  • 智能合约是房间里的智能家电,实现了复杂的自动化功能。

  • 扩展方案是高架桥和地铁,最终让这栋大楼能容纳亿万大众。

对于咱们支付人来说,这不是一场革命,而是一次范式转移。它不是在重复造轮子,而是在造新的交通工具。理解的越深,就能越早地看到未来支付的样子:

无国界、低成本、可编程、即时结算

现在,发动机的蓝图已经在我们手里了。是继续围观,还是开始动手组装,选择权在每一个人手里。

参考文献

  • 《SHA-256标准规范》,美国国家标准与技术研究院,2002年

  • 《Keccak算法设计原理》,Guido Bertoni等,2011年

  • 《比特币默克尔树实现规范》中本聪等,2009年至今

  • 《零知识证明简明指南》Maksym Petkus,2016年

  • 《比特币:一种点对点的电子现金系统》中本聪,2008年

  • 《以太坊权益证明共识规范》以太坊基金会,2022年

  • 《Kademlia:一个基于XOR度量的P2P信息系统》2002年

  • 《以太坊节点发现协议v4》以太坊基金会,2016年

  • 《以太坊分片技术路线图》2018年

  • 《以太坊黄皮书:以太坊虚拟机的形式化定义》2014年

  • 《WebAssembly核心规范》W3C工作组,2017年

  • 《Rust语言圣经:所有权与内存安全》2018年

  • 《Rollup不完全指南》2021年

  • 《ZK-Rollups:技术解析与生态现状》Polygon Hermez团队,2022年

  • 《哈希时间锁合约在闪电网络中的应用》2016年

  • 《区块链扩展性解决方案综述》IEEE Access,2021年

  • 《Layer2:支付行业的下一站》Visa加密团队,2023年

  • 《上帝视角:区块链支付底层架构演进》Messari,2023年

 

标签

微信扫一扫,分享到朋友圈

微信公众号
 苹果iOS虚拟币充值(抖音钻石、快币、薯币、比心币、他趣币、陌陌币充值)

相关推荐