講述者經歷
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 也就直接或者間接的改變了這個世界!