V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jiangwei2222
V2EX  ›  Web3

关于 web3 的思考

  •  
  •   jiangwei2222 · 206 天前 · 1924 次点击
    这是一个创建于 206 天前的主题,其中的信息可能已经有所发展或是发生改变。

    不知道从何时起,时不时就会冒出一篇吹嘘 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

    15 条回复    2022-07-24 23:05:23 +08:00
    kaichen
        1
    kaichen  
       206 天前   ❤️ 3
    👍研究热情很高,可以在局部继续仔细调研

    - 除了少数隐私链,排名靠前大部分公链数据没有加密,任何人都可以得到没有加密的内容,你可以去追查中本聪每一笔交易,可以看 vitalik 每一笔交易做什么(如捐出 shib ),区块链其中一个核心是可验证,并不是加密所有内容
    - 区块生产速度都不是固定,比特币是有网络难度自动调整机制,而以太坊是难度最大( Difficulty ),确实并发很低
    - 节点虽然脱离 boot node 无法互相发现,但你可以想办法问到一个 p2p 网络中的节点并连接上它;或者可以启动时连接社区商讨的 boot node server (理论上任何人都可以 host )
    - web3js 几乎已经被淘汰,并且它只是一个以太坊的库,不能代表整个 web3
    wangkun025
        2
    wangkun025  
       206 天前
    确实,数据没加密。
    murmur
        3
    murmur  
       206 天前
    链吹最大的问题就是避开虚拟和现实之间的差距不谈,这个东西可以用天堑来形容

    可验证不等于真实,美国的新闻全上链,有多少是 fake news ,你去追踪,全能溯源,美国人也认为这不是 fake news

    所以区块链的意义在哪里
    duke807
        4
    duke807  
       206 天前 via Android   ❤️ 2
    時至今日,有價值的區塊鏈技術有且僅有一個,那就是 Git 庫
    dawn009
        5
    dawn009  
       206 天前
    @murmur #3 如果连可验证都做不到,那么离真实就更远。
    em70
        6
    em70  
       206 天前
    效率与公平一直都是人类社会的矛盾,公平的代价就是要降低效率,要跳出效率为先的思维框架,想想你的应用到底是效率重要还是公平重要,效率重要那就用中心化构架吧,区块链解决的问题就是那些需要信任的场景,比如交易,金融.

    当然,效率和公平也不是二元化的,是此消彼长的关系,所以出现很多牺牲一部分公平,提升效率的方案,比如以太坊的侧链,比中心化要公平,但不如纯去中心化的可信,效率比纯去中心化高
    isRealLeven
        7
    isRealLeven  
       206 天前
    我想知道区块链的去中心和不可篡改是否与发币不可分割?
    Exdui
        8
    Exdui  
       206 天前   ❤️ 2
    现阶段的 web3 最终都会沦为另外一种中心化,比特币除外:带 “云函数” 的公链,运行到后面全节点会越来越大,只有少数人才能运行全节点,以后这些少数人就是中心化;比特币恰恰是受限于区块生成速度,它的全节点比较小,全世界大部分人都能运行起来 作为一个子节点,确保它足够去中心化;比特币缺少 “云函数” 功能,只能做低频纯交易服务,与黄金差不多。
    avv
        9
    avv  
       206 天前
    @isRealLeven 联盟链
    christin
        10
    christin  
       206 天前 via iPhone
    @isRealLeven 不是,你可以看一下精通以太坊这本书。
    ericgui
        11
    ericgui  
       205 天前
    @Exdui 对,我也是有这个担心。比特币没有账户,只有地址,name ,这么多地址,经过几十年的无数次交易之后,数据库就会非常庞大,这个存储本身就是一个大的负担,谁去存储?怎样传输?这会产生很多问题
    Exdui
        12
    Exdui  
       205 天前   ❤️ 1
    @ericgui 比特币倒是不用当心,低频纯交易的数据并不大;带 “云函数” 的公链才是大问题。
    可以看看: https://www.8btc.com/article/373735
    isRealLeven
        13
    isRealLeven  
       205 天前
    @avv 联盟链是不是非以太坊式的去中心?
    yuan925
        14
    yuan925  
       200 天前
    整篇看起来,虽然你贵为资深 web2 的从业者,还是能够感知到你对技术,对 web3 的了解是浅薄的。
    于技术而言,你不知道区块链技术为什么会这样设计,用来解决什么问题的。你说的这些技术难点,业界的解决方案是什么,到了什么程度。要以一种什么样的眼光来看待发展中的技术。你知道多链,侧链,POS ,layer2 等生态相关么?
    于 web3 而已,你不知道当前有哪些领域已经落地,并且已经有一定规模市场了,你可以先看看 DeFi 。
    纠正一下,区块链是底层技术,智能合约只是运行在以太坊 EVM 或兼容 EVM 上的代码,你参考的资料 web3js 只是以太坊基金会下面的一个项目(js 库),另外建议多看一些其它原版英文资料,最好是白皮书之类的。
    比特币只是区块链技术最早的应用,它是通缩特性的,多研究点其它应用,最起码你得研究一下以太坊吧,毕竟你说的 web3 概念是谁提出来的你得知道。
    tairan2006
        15
    tairan2006  
       197 天前 via Android
    感觉 web3 性能问题的解决方案都是倒向中心化的。

    最让人反感的是,从业人员话术是层出不穷,然鹅多半是旧瓶新酒,明明有 web2 中现成的人话不说,非要玩出一套又一套术语,把忽悠算是弄明白了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   实用小工具   ·   3788 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 05:10 · PVG 13:10 · LAX 21:10 · JFK 00:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.