讲述者经历
lxcong
Developer of Chainbase
Ex 腾讯云、Bilibili
拥有10年以上的工程效能,OPS相关经验
Azuki #8963,Developer DAO #5882
作者:lxcong
原文:How Web2 developers better enter Web3
在进入Web3之前,我先后在 Tencent 和 Bilibili 工作了十多年;负责的业务线都是服务开发者的。2022年我正式转入Web3,今天我想通过自身的经历,分享一些关于 Web2 开发者如何更好地进入 Web3 的经验。
内容会围绕以下3个主题:
- 从 Web2 互联网公司转向 Web3,我的路径和思考;
- Web3 开发者可能会遇到哪些问题;
- Chainbase 如何帮助开发者更好进入 Web3;
从 Web2 到 Web3
从观望、到投机、再到参与
最初我也是作为用户接触到了 Web3,和很多人一样是基于投机的心态,有过收益也交过学费。后来我逐渐意识到,在加密世界我们除了做一个普通用户之外,应该还可以从技术或者业务场景等角度去切入,参与到 Web3 的建设中去。
2021年底,Tencent 在 23周年纪念时给每一位员工空投了一个NFT,当时有很多讨论 Web3 的员工群都非常地活跃。这表明 Web2 的互联网公司内部已经有了一些 Web3 氛围,管理层也都看到了这个业务方向。但是由于各种主观和客观的原因,Web2 互联网公司对 Web3 依然是非常保守的,最终很难在业务层面真正落地——这也是促使我最终离开 Web2 互联网公司的原因之一。
当我内心已经决定all in Web3 的时候,我还是回归到程序员的角色去思考切入点:
a. 首先有些程序员会选择作为科学家进入Web3(类似黑客的定位但不一定是传统的互联网安全技术),因为科学家可以直接利用手中的技能做一些套利相关的事情。但我个人并不想以投机者的身份入场,放弃!
b. 由于 Web3 是基于区块链技术的新一代互联网,所以也需要很多懂技术的布道者。但是叙事能力并不是我的强项,所以这也不是我最好的选择。放弃!
c. 最终我还是务实地选择继续在 Web3 做一名开发者,发挥自己最大的特长和优势。基于我的过往经验和技术栈,以及对纯金融属性项目的抗拒,我加入了一家极具潜力的 Web3 基础设施公司,这就是我和 Chainbase 的故事。
如何打响 Web3 的第一枪
先找到生态位,然后补足技术栈。
开发者进入Web3时,技术层面的专业技能并不是最大的障碍。很多技术栈是一致的或者是相通的,也有非常多的 Web3 开发者社区可以系统性学习。对于很多开发者,难点在于找到自己在 Web3 的生态位。例如个人以科学家或者科技写手入圈(Vitalik最早也是这样入圈的),或者直接加入一个 Web3 项目,无论是 toB 还是 toC。
在这里,我个人更加推荐直接加入一个 Web3 团队,这样才能深度地参与进来。如果你是自己创业或者加入了一家初创公司,那么带着产品参加Web3 Hackathon 是完成冷启动非常不错的方式。它能够让你快速验证产品、并获得早期用户。
当你已经找到了在 Web3 的生态位之后,自然会知道技术层面的专业知识有哪些欠缺,这时再针对性地学习就会非常高效。
Web3 开发者可能会遇到的一些挑战
1. 首先要转变理念,拥抱 Web3 的新范式
“理念”这个词很抽象,我的理解是:“理念”是对于什么该做,什么不该做的一种共识。Web2 开发者进入 Web3 时,遇到的第一个关于理念的挑战,可能是关于中心化与去中心化的取舍问题。
几乎所有的 Web3 信仰者都会强调去中心化是区块链的内核之一。但是作为一款承载用户需求和体验的Web3产品,去中心化是一个必须的标准吗?我认为在不同的场景下,这至少不应该是绝对的标准。
例如,一款绝对去中心化的产品,是否能够达到工业级应用的标准?我认为现阶段是很难的,因为工业级的应用对于产品的效率和稳定性都需要一个明确的承诺,这在去中心化的结构下是很难保证的。另外大多数应用还是需要链下数据的,即便使用预言机等相关技术解决链下数据与智能合约的交互,也很难说这是一个完全去中心化的结构(预言机本身就有中心化的影子)。所以关于 Web3 应用的去中心化,更多的是根据具体场景把握好程度。
类似理念上的挑战还有很多,我建议大家在判断的时候,多关注 Web3 的内核和初心,多做独立思考。当理念真正被转变,你才真正进入了 Web3。
2. 考虑多链生态带来的开发者成本
Web3 应用首先是基于某一条或多条公链开发的,选择公链需要项目方对不同公链的特性和生态都有比较深入的了解。目前公链生态百花齐放,这无疑增加了开发者选择公链的成本(也会增加选定后的开发成本)。
由于区块链不可能三角的存在(即去中心化、安全性、扩展性三者无法同时满足),不同的公链基本上都会选择其中的两个点作为突破的方向,这会导致不同公链的特性也不同。开发者选择公链时,应当考虑产品的应用场景是否与公链的特性匹配。
例如 Optimism(一条layer2公链),它可以支持很高的吞吐量。但是为了安全考虑,Optimism预留了一定数量的最新区块,使之成为可以被挑战的状态。即满足一定的条件下,已经被打包的交易依然可以被打回。这意味着链上资产或者信息的确权会存在一定的延后性。这样的特性对于例如实时支付类的应用场景或许是不适用的。
多链生态一定会长期存在,包括 Web2 很多技术栈的发展历史也可以印证这一点。所以了解多链特性、匹配使用场景对于 Web3 开发者会是一个长期的挑战。
3. 单前端无法满足 Web3 应用的开发需求
单看Dapp的技术实现原理,似乎只需要有一个前端,能够驱使智能合约执行相应逻辑,再将链上数据获取回前端就可以了。但是在实际的开发过程中,很多Web3 应用还是会在系统架构里融入一个服务端。
虽然服务端的存在会被很多人诟病为过于中心化(我们刚才也讨论过绝对中心化的问题),但是由于链上状态存储成本过高、可支持的吞吐量有限,以及考虑用户的体验感(如果每次交互都需要唤醒钱包签名就会让体验感大打折扣)等等——Web3 应用采用部分中心化的设计依然是最佳选择。这类似于在区块链与前端之间增加了一层缓存空间。
由于链上数据结构的特殊性(即链表式结构),链上数据的可读性非常差。Web2 的很多常规操作如对数据的索引、排序、过滤、分页和搜索等都非常难以执行。所以如何更便捷地读取链上数据,也是 Web3 开发者会遇到的一个非常痛的点。
Chainbase 如何解决 Web3 开发者的痛点?
1. 过度的自建基础设施可能会导致项目失败
我们认为长期一定会有更多开发者进入 Web3 构建各种极具创意的应用。开发者不应该把过多的研发资源浪费在重复的自建节点、维护节点集群、解码链上数据等等基础设施层面,因为这些自建基础设施对于业务本身几乎起不到任何直接的推动作用。
未来的用户不会被划分为Web2用户或者Web3用户,他们不会因为某一个Web3应用的自建节点非常稳定而使用它,用户只会关心你的应用是否能够解决他们的某项需求。Web3的项目团队应该尽可能把有限的资源和精力聚焦在业务本身:例如产品功能、用户体验、经济模型、社区构建等等。
某些基础设施——例如搭建节点——即便实现自建也会有很多问题。例如长期的人力资源成本消耗、服务器消耗、运维能力的考验、稳定性不足、安全性以及各种层出不穷的BUG等等。除非本身拥有极强的资源和技术能力,否则很难解决这些问题。
Web3 世界的周期非常短,用户容易遗忘,资本容易失去耐心——项目能否成功往往只有几个月的时间。在这样的市场环境下,我们试想如果一个团队把宝贵的资源分配在基础设施的构建上,那么一定会降低项目成功的概率。
2. Chainbase 可以为 Web3 开发者提供哪些服务?
Chainbase 的定位是一个Web3开发者平台。我们通过提供云化的API服务,帮助开发者快速接入加密网络,轻松构建 Web3 原生应用。
现阶段我们提供包括多链节点、数据索引、应用监控和调试等基础设施服务。具体包括:
- Chain API Service:
这是一个安全稳定的多链节点 JSONRPC 集群,支持开发者轻松访问多链⽹络
- Web3 API Service:
这是一个⽀持多种协议索引,快速⽀持业务应⽤场景(如Token、NFT、DeFi、Domain...)数据查询的API矩阵
- All-In-One Dashboard:
开发者可以通过⼀站式控制台完成创建、调试、监控和运维 Web3 应⽤程序
3. Chainbase 的 API 服务有哪些具体的使用场景?
首先是最基础的 Chain API,支持它稳定运行的是我们搭建的多链节点集群。我们知道成为节点是实现与链交互最基础的一步,这里我们为开发者搭建好了一个非常强大稳定的节点集群,并且是支持多链的。(现阶段已支持ETH、Polygon和BSC,并且正在逐步接入更多的公链)。开发者无需自建节点,直接使用我们的API即可。
使用 Chain API,开发者可以轻松获取譬如当前区块高度、当前Gas费、指定地址余额等等链上基础数据,也可以向区块链网络发送新的交易。
我们还提供可用性极强的 Web3 API,这是一组支持多种协议数据索引的 API,可快速支持大部分常见业务应用场景中的数据查询。
例如在 NFT 业务场景中,获取指定账户拥有的 NFT 列表、指定 NFT 的交易记录、指定 NFT 系列的地板价、指定 NFT 的历史所有者等等。同样我们也提供 Token、域名等其它常见的业务场景下的各种数据索引 API。
加上我们提供的 Dashboard,Web3 开发者就可以非常直观的监测和管理自己的各个数据接口的运行状态,非常方便。
4. Chainbase 已准备推出下一代链上数据索引产品
Chain API 提供了最基础的节点服务,Web3 API 提供了常见业务场景下,点对点的数据索引服务。但是我们认为这并不是最好的解决方案,尤其是对于日益涌现的创新型应用而言。
一款创新型应用由于业务的独特性、其数据索引需求可能千奇百怪,很显然现有的 API 很难满足这些需求。点对点的 API 服务虽然可以通过新增功能逐渐覆盖更多主流业务场景,但是这种滞后于市场变化的迭代是永远赶不上应用创新的速度的。
所以我们在设计新一代数据索引的产品时,抛弃了点对点的解决方案,采用了类似 Web2 数仓的概念——一个支持自定义SQL语句的链上数据云仓!链上数据云仓通过实时计算解码链上数据;开发者可以根据自己的需求、使用最主流的SQL语句对链上数据进行自由索引。
更酷的是我们支持开发者将自己写的SQL生成为一个可以源源不断返回数据的API,这样就相当于任何创新型的数据索引需求都可以在第一时间被支持。
5. 畅想未来,专注 Web3 开发者服务
Chainbase 坚信 Web3 是能够改变世界的互联网新范式。技术的革新也将极大的推动商业发展,甚至影响社会的变革。在这场浪潮中,开发者正位于舞台的中心,掀起巨大的创新风暴。
Chainbase 的定位是一个 Web3 开发者平台,解决“与链交互”的 API 服务是我们现阶段的产品切口。未来我们会围绕 Web3 开发者不同阶段的痛点,推出更多降低开发门槛,提高开发效率的产品和服务。
我们希望能够帮助到更多的 Web3 项目度过开发、测试、落地和增长的各个阶段,我们相信只要能够帮助其中一个项目获得成功,Chainbase 也就直接或者间接的改变了这个世界!