鏈金術師|web3開發概念(上)|李思聰

|

11月初與Google Cloud合辦了一場web3開發的webminar,這是Google首個web3開發技術分享活動,估不到反應非常熱烈,超過400人同時參與,也打破了過往Google Cloud搞webminar的一些紀錄。事實上,隨着香港政府宣佈支持加密貨幣和web3技術,市場上對web3開發人員的需求越來越殷切,webminar的人數就是佐證。

web3和web2開發對於程序員來說,實際寫程式碼的分別不大,前端網頁、App等都是一樣的技術,後台也差不多,最大分別是智能合約開發。智能合約和一般程式分別就比較大,合約的角色是記錄所有資產來往、生成、計算,直接控制着眾多客戶資產。

基於區塊鏈不可篡改的特質,這些記錄一旦寫進帳簿就無法更改。由於智能合約也是區塊鏈的居民,合約代碼本身亦不能更改,以免程式由安全的合約改成惡意合約。試想想如果任由開發者更改代碼,最壞的情況可以改成任意拿走客戶資產,後果嚴重。故此,智能合約一般都會公開源代碼,讓大眾共同審核代碼,這樣才能得到用戶信任。相比現在的開發流程,我們一般不會公開源代碼,因為這樣能避免被駭客掌握程式設計及發現漏洞。顯然開放源代碼的做法會承受較高風險,但隨着不斷的修正,以長遠計程式最終會達到非常安全的狀態。

程式是人寫的,有bug在所難免,及時更正過來就可以了。但在智能合約的bug,卻完全不一樣,歷史上很多DeFi項目都因為合約有bug遭駭客偷走所有資產,或是因邏輯漏洞而被「game the system」。一般而言,寫智能合約應該盡量抄襲,因為抄襲的對象沒有被攻擊,證明安全性有若干保證。智能合約的測試需求明顯比web2更大,有效的測試和代碼檢查能大大提高安全性,所以「智能合約審查」自然也應運而生,為開發者提供第三方的檢測。

web2世界很多程序員並不太講究效率,例如用了多少ram多少cpu等,因為我們現在的手機和電腦已經非常強大,一般運算對機器來說沒有很大負擔,花時間去做效率提升並沒有逼切性。不過,在web3世界,每一個步驟的繁複性和儲存的數據量都會變成用家付出的服務費,服務費高自然會令客戶使用機會大減。

李思聰

Fraktiq 共同創辦人
筆者其他專欄

註:專欄作家言論不代表本網立場

密切留意BossMind動向!立即CLS

FB    Instagram    Youtube

#
Social media & sharing icons powered by UltimatelySocial
error

Enjoy this blog? Please spread the word :)