不知道从何时起,时不时就会冒出一篇吹嘘 web3 的文章。大致内容几乎一致web3 解决一切不公、web3 解决挑战大厂霸权、web3 让用户拥有数据...
,然鹅,每次当我看得热血沸腾,准备看看 web3 是如何实现这一切的时候,所有文章都奇幻般的结束了。WTF ?吹了这么多,show me code !到底咋回事啊
为此,最近专门抽了几天时间细细研究一下所谓的 web3 、区块链,究竟是个神马东西。
首先是区块链,说下我自己对区块链的理解。区块链相当于 Web3 世界里面的数据库,数据内容被加密后分布于世界各地各种各样的计算机中。其中,每一条数据都经过精密的加密,任何人都可以得到加密后的内容,但是任何一个人都无法完全解密其中的内容,每一个工作节点(俗称矿工)都维护着一份数据,同时负责对新数据进行加密写入。整个加密过程极其复杂,所需要的算力极其庞大。
接着是智能合约,我对智能合约的理解即为“云函数”,开发者无需关系自己的程序部署在哪里,以何种方式运行,运行在哪里,反正当你提交到链上以后,你就无需关心了。
智能合约与区块链,这两部分以及其他一些列相关的技术,加在一起,合称为 web3 。
So! Web3 真的有用吗?不见得,作为一个资深 Web2 的从业者,每一个技术架构设计,我首先思考的都是,这个架构,能够撑起多大的并发,服务吞吐量如何,程序性能如何,是否有单点问题等等。那么,当把这些问题放到 Web3 上面看呢,WTF ,Web3 完全背道而驰,计算速度?不存在的,区块链中费尽心机,使用 hash 算法降低数据提交速度。吞吐量?不存在的,你得等矿工一点一点的搬运。最后,web3 引以为傲的去中心,你特么还没写代码前,你不就得选择使用什么链吗?你这个链难道不就是一个中心节点吗?假设某一天,以太坊服务器停了,你这玩意还真能运行?对于 web3 的人,可能反驳我说全世界都运行着 xxx 节点,即使 xxx 倒了,其他节点依旧能够提供 xxx 服务。
But ,你们这些节点,难道不仅仅是作为备份存在的么,根本就没有互相发现的能力啊。假设 xx 停机了,你怎么知道这个世界上,在哪里还运行着 xx 节点啊。你还不是的有个中心节点进行交互,这不就是最大的中心么。
最后,回到“拥有”这个词上。我作为一个普通用户,我使用 Web3 应用,我拥有我的数据了吗?我的数据都在区块链上面,我就算拥有整个区块的所有数据,我特么根本解密不了啊,还不是得依赖某些中心服务,通过一系列操作才能拿到我的数据啊。
最后,我也研究了大名鼎鼎的比特币,我完整的看了比特币的每一个算法细节。最后,我惊讶的发现,比特币交易竟然是受限于区块生成速度的,区块生成速度是一个固定值,也就是意味着每秒能完成多少笔交易是固定的!!而如果你想要你的交易被优先处理,那么你就得给矿工多加手续费,让矿工优先处理你的交易。WTF?这合理吗?银行跟你说我们每秒只接收 10 笔交易,你的交易要排队,你特么能接收吗?
当然,你会说比特币都是多老的协议了,现在 xxx 早就不是这样了,但是我问你,现在虚拟货币谁最值钱,谁是老大?
最后的最后,真想吐槽几句,想找几篇正经的 Web3 的开发文档可真难,基本上每篇文字都在说 web3 有多牛逼,前途多么光明,但是到了 Show me code 环节,大家都是放上几个链接,请到 xx 看。当我跳到其他链接的时候,又特么吹了一大堆,最后又是请到其他地方查看。
最终参考资料:
https://web3js.readthedocs.io/en/v1.7.4/callbacks-promises-events.html
1
kaichen 2022-07-15 23:10:54 +08:00 3
👍研究热情很高,可以在局部继续仔细调研
- 除了少数隐私链,排名靠前大部分公链数据没有加密,任何人都可以得到没有加密的内容,你可以去追查中本聪每一笔交易,可以看 vitalik 每一笔交易做什么(如捐出 shib ),区块链其中一个核心是可验证,并不是加密所有内容 - 区块生产速度都不是固定,比特币是有网络难度自动调整机制,而以太坊是难度最大( Difficulty ),确实并发很低 - 节点虽然脱离 boot node 无法互相发现,但你可以想办法问到一个 p2p 网络中的节点并连接上它;或者可以启动时连接社区商讨的 boot node server (理论上任何人都可以 host ) - web3js 几乎已经被淘汰,并且它只是一个以太坊的库,不能代表整个 web3 |
2
wangkun025 2022-07-15 23:14:01 +08:00
确实,数据没加密。
|
3
murmur 2022-07-15 23:14:39 +08:00
链吹最大的问题就是避开虚拟和现实之间的差距不谈,这个东西可以用天堑来形容
可验证不等于真实,美国的新闻全上链,有多少是 fake news ,你去追踪,全能溯源,美国人也认为这不是 fake news 所以区块链的意义在哪里 |
4
duke807 2022-07-16 04:09:48 +08:00 via Android 2
時至今日,有價值的區塊鏈技術有且僅有一個,那就是 Git 庫
|
6
em70 2022-07-16 07:51:40 +08:00
效率与公平一直都是人类社会的矛盾,公平的代价就是要降低效率,要跳出效率为先的思维框架,想想你的应用到底是效率重要还是公平重要,效率重要那就用中心化构架吧,区块链解决的问题就是那些需要信任的场景,比如交易,金融.
当然,效率和公平也不是二元化的,是此消彼长的关系,所以出现很多牺牲一部分公平,提升效率的方案,比如以太坊的侧链,比中心化要公平,但不如纯去中心化的可信,效率比纯去中心化高 |
7
isRealLeven 2022-07-16 10:51:09 +08:00
我想知道区块链的去中心和不可篡改是否与发币不可分割?
|
8
Exdui 2022-07-16 11:01:05 +08:00 2
现阶段的 web3 最终都会沦为另外一种中心化,比特币除外:带 “云函数” 的公链,运行到后面全节点会越来越大,只有少数人才能运行全节点,以后这些少数人就是中心化;比特币恰恰是受限于区块生成速度,它的全节点比较小,全世界大部分人都能运行起来 作为一个子节点,确保它足够去中心化;比特币缺少 “云函数” 功能,只能做低频纯交易服务,与黄金差不多。
|
9
avv 2022-07-16 11:35:50 +08:00
@isRealLeven 联盟链
|
10
christin 2022-07-16 13:04:13 +08:00 via iPhone
@isRealLeven 不是,你可以看一下精通以太坊这本书。
|
11
ericgui 2022-07-16 14:42:33 +08:00
@Exdui 对,我也是有这个担心。比特币没有账户,只有地址,name ,这么多地址,经过几十年的无数次交易之后,数据库就会非常庞大,这个存储本身就是一个大的负担,谁去存储?怎样传输?这会产生很多问题
|
12
Exdui 2022-07-16 16:00:32 +08:00 1
|
13
isRealLeven 2022-07-16 17:54:38 +08:00
@avv 联盟链是不是非以太坊式的去中心?
|
14
yuan925 2022-07-21 15:53:03 +08:00
整篇看起来,虽然你贵为资深 web2 的从业者,还是能够感知到你对技术,对 web3 的了解是浅薄的。
于技术而言,你不知道区块链技术为什么会这样设计,用来解决什么问题的。你说的这些技术难点,业界的解决方案是什么,到了什么程度。要以一种什么样的眼光来看待发展中的技术。你知道多链,侧链,POS ,layer2 等生态相关么? 于 web3 而已,你不知道当前有哪些领域已经落地,并且已经有一定规模市场了,你可以先看看 DeFi 。 纠正一下,区块链是底层技术,智能合约只是运行在以太坊 EVM 或兼容 EVM 上的代码,你参考的资料 web3js 只是以太坊基金会下面的一个项目(js 库),另外建议多看一些其它原版英文资料,最好是白皮书之类的。 比特币只是区块链技术最早的应用,它是通缩特性的,多研究点其它应用,最起码你得研究一下以太坊吧,毕竟你说的 web3 概念是谁提出来的你得知道。 |
15
tairan2006 2022-07-24 23:05:23 +08:00 via Android
感觉 web3 性能问题的解决方案都是倒向中心化的。
最让人反感的是,从业人员话术是层出不穷,然鹅多半是旧瓶新酒,明明有 web2 中现成的人话不说,非要玩出一套又一套术语,把忽悠算是弄明白了。 |
16
pxiphx891 2023-04-16 20:54:09 +08:00
了解一下 DHT ?
|