当你已经找到了在 Web3 的生态位之后,自然会知道技术层面的专业知识有哪些欠缺,这时再针对性地学习就会非常高效。
Web3 开发者可能会遇到的一些挑战
1. 首先要转变理念,拥抱 Web3 的新范式
“理念”这个词很抽象,我的理解是:“理念”是对于什么该做,什么不该做的一种共识。Web2 开发者进入 Web3 时,遇到的第一个关于理念的挑战,可能是关于中心化与去中心化的取舍问题。
几乎所有的 Web3 信仰者都会强调去中心化是区块链的内核之一。但是作为一款承载用户需求和体验的Web3产品,去中心化是一个必须的标准吗?我认为在不同的场景下,这至少不应该是绝对的标准。例如,一款
绝对去中心化的产品,是否能够达到工业级应用的标准?我认为现阶段是很难的,因为工业级的应用对于产品的效率和稳定性都需要一个明确的承诺,这在去中心化的结构下是很难保证的。另外大多数应用还是需要链下数据的,即便使用预言机等相关技术解决链下数据与智能合约的交互,也很难说这是一个完全去中心化的结构(预言机本身就有中心化的影子)。所以关于 Web3 应用的去中心化,更多的是根据具体场景把握好程度。
类似理念上的挑战还有很多,我建议大家在判断的时候,多关注 Web3 的内核和初心,多做独立思考。当理念真正被转变,你才真正进入了 Web3。
2. 考虑多链生态带来的开发者成本
Web3 应用首先是基于某一条或多条公链开发的,选择公链需要项目方对不同公链的特性和生态都有比较深入的了解。目前公链生态百花齐放,这无疑增加了开发者选择公链的成本(也会增加选定后的开发成本)。
由于区块链不可能三角的存在(即去中心化、安全性、扩展性三者无法同时满足),不同的公链基本上都会选择其中的两个点作为突破的方向,这会导致不同公链的特性也不同。开发者选择公链时,应当考虑产品的应用场景是否与公链的特性匹配。
例如 Optimism(一条layer2公链),它可以支持很高的吞吐量。但是为了安全考虑,Optimism预留了一定数量的最新区块,使之成为可以被挑战的状态。即满足一定的条件下,已经被打包的交易依然可以被打回。这意味着链上资产或者信息的确权会存在一定的延后性。这样的特性对于例如实时支付类的应用场景或许是不适用的。
多链生态一定会长期存在,包括 Web2 很多技术栈的发展历史也可以印证这一点。所以了解多链特性、匹配使用场景对于 Web3 开发者会是一个长期的挑战。
3. 单前端无法满足 Web3 应用的开发需求
单看Dapp的技术实现原理,似乎只需要有一个前端,能够驱使智能合约执行相应逻辑,再将链上数据获取回前端就可以了。但是在实际的开发过程中,很多Web3 应用还是会在系统架构里融入一个服务端。
Copyright 2015-2022 财务报告网版权所有 备案号: 京ICP备12018864号-19 联系邮箱:29 13 23 6 @qq.com