1. Web3世界观:从Web1.0到Web3.0的演进
大家好,我是这门课的主讲人。在正式开始写代码之前,我想先聊聊世界观。
你可能会问:学Web3直接上手撸合约不就行了?为什么要扯这些?
嗯,我当年也是这么想的。结果呢?踩了一堆坑,亏了一笔gas费,才明白一个道理——不理解去中心化的本质,你写出来的合约就是中心化思维的换皮产品。
1.1 从Web1.0到Web3.0:互联网的「权力转移」
咱们先简单回顾一下互联网的演变。说白了,就是权力从谁手里转移到谁手里的故事。
| 阶段 | 核心特征 | 用户角色 | 典型代表 |
|---|---|---|---|
| Web1.0(只读) | 静态页面,内容由网站提供 | 被动消费者 | 雅虎、新浪 |
| Web2.0(读写) | 用户生成内容,平台掌控数据 | 内容贡献者 | Facebook、微信 |
| Web3.0(读写+拥有) | 用户拥有数据,去中心化治理 | 生态共建者 | 以太坊、IPFS |
Web1.0时代,你只能看,不能写。就像看报纸,信息是单向流动的。
Web2.0时代,你可以写,但写的东西归平台。你在微博发的内容,平台说删就删。我有个朋友做自媒体,账号被封了,几十万粉丝一夜归零。这就是中心化的代价。
Web3.0呢?你写的东西,数据归你。没有哪个「管理员」能删你的帖子。当然,前提是你用的是去中心化应用。
1.2 去中心化核心思想:别信人,信代码
去中心化这个词,听起来高大上。其实核心就一句话:把信任从「人」转移到「代码」。
传统互联网的信任模型是这样的:你相信银行不会赖账,相信淘宝不会跑路,相信微信不会偷看你的聊天记录。
但现实呢?银行可以冻结你的账户,淘宝可以下架你的商品,微信...嗯,你懂的。
去中心化要解决的就是这个问题。它用区块链技术,让规则写在代码里,公开透明,谁都不能改。
核心原则:
- 无需许可:任何人不需要批准就能参与
- 抗审查:没有单一实体能阻止交易
- 透明可验证:所有规则和状态公开可见
- 用户主权:私钥即所有权,数据归用户
我在做第一个DeFi项目时,犯过一个低级错误——把管理员权限写成了一个多签钱包,但多签的成员全是项目方的人。你想想看,这和中心化有什么区别?用户一看代码,就知道你随时可以卷款跑路。后来我改成了时间锁+社区治理,才勉强过关。
1.3 区块链作为信任机器:为什么它「可信」?
很多人问我:区块链凭什么能当信任机器?
我一般会反问:你凭什么相信一个陌生人?
答案是:你不信他,但你信数学。
区块链的信任来自三个层面:
- 共识机制:所有节点共同验证交易,少数服从多数。想篡改?你得控制51%的算力或质押,成本高到不现实。
- 不可篡改:每个区块都包含前一个区块的哈希值,形成一条链。改一个区块,后面所有区块都得改。我见过有人试图在以太坊上回滚交易,结果被全网抵制——因为破坏了「不可篡改」这个根基。
- 智能合约:代码即法律。合约部署后,逻辑就固定了。除非你提前设计了升级机制,否则连部署者都改不了。
一个小技巧:
判断一个项目是不是真·去中心化,就看两点:
- 合约有没有「owner」地址?有的话,owner能做什么?
- 升级机制是不是时间锁+多签?
如果owner能随时转走用户资产,那这就是披着去中心化外衣的中心化项目。我见过太多这样的「伪Web3」了。
1.4 避坑指南:别把Web3当成Web2.5
说实话,现在很多所谓的Web3项目,其实就是Web2.5——用了区块链技术,但治理还是中心化的。
我曾经参与过一个NFT项目,合约里写死了版税比例,但项目方在后台偷偷改了元数据,把图片换成了别的。用户一看,傻眼了。这就是典型的「链上合约,链下中心化」。
⚠️ 重要提醒:
真正的去中心化,要求所有关键逻辑都在链上。包括:
- 元数据存储(用IPFS或Arweave,别用中心化服务器)
- 治理投票(用链上快照,别用数据库统计)
- 资产转移(用智能合约,别用多签钱包手动操作)
记住:如果项目方能在链下改数据,那区块链就只是个昂贵的数据库。
1.5 我的个人感悟
做了这么多年Web3,我最大的体会是:技术不难,难的是思维转变。
你习惯了中心化世界的「有事找客服」,到了Web3,你得习惯「代码就是客服」。你习惯了「密码忘了可以找回」,到了Web3,私钥丢了就是真的丢了。
我刚开始做智能合约时,总想着留个后门,方便以后升级。后来被审计师骂了一顿:你留后门,那和中心化有什么区别?
嗯,从那以后,我写合约的第一原则就是:假设自己是个坏人,然后问自己——这个合约能防住我吗?
如果答案是「不能」,那就说明设计有问题。
好了,这一章就到这里。下一章我们会真正开始写代码,从最简单的ERC20合约开始。但请记住今天讲的这些理念——它们比任何代码都重要。