Tezos 探索鏈核心開發中特有的分散式協作方式 – 專訪 Marigold 工程師 昀彥

c2x3|區塊鏈藝術媒體
·
(修改过)
·
IPFS
·
從學術界毅然決然走入區塊鏈開發,一路從dAPP設計到區塊鏈核心功能開發。現任 Tezos 區塊鏈核心開發工程師的昀彥,將與我們分享這一路上的過程。
本圖由c2x3製作

培育藝術生態圈的探索鏈,鏈上的基礎開發也沒有落下 

區塊鏈技術似乎有一層神秘面紗,感覺是項高深尖端的科技結晶,更遑論「區塊鏈核心開發」更像是高深的武學祕笈,但其實區塊鏈核心開發,在台灣並不是遙不可及的事情。號稱藝術鏈 — Tezos(探索鏈)的核心開發工程師團隊,便赫然發現兩位台灣人。我們這次也很榮幸邀請了其中一位工程師 — 昀彥,他將跟我們在本文中,分享他觀察到的探索鏈跟我們觀察的狀況有什麼不同之處。(簡單說就是探索鏈的秘辛分享) 

Tezos,又稱作探索鏈,這條從法國起家的區塊鏈跟其他鏈的不同之處在於,他們將視野聚焦在藝術生態圈上面,也造就了目前在這條鏈上數位藝術和生成藝術蓬勃發展。當然,像其他區塊鏈一樣,他們正積極發展屬於自己的基礎建設,包含虛擬機的相容、票卷應用甚至是核心開發語言推廣,希望可以改善使用者、甚至是開發者的體驗。目前探索鏈的核心開發是由多個開發團隊所共同執行,昀彥所服務的 Marigold 便是其中一個重要的核心開發夥伴。 

靠著函數式程式語言踏上探索鏈的旅程

本日的區塊鏈領航員 — 昀彥,原本在中研院程式語言與形式方法實驗室擔任助理,專長是函數式程式語言研究,與其他常見的程式語言不同,函數式程式語言更常應用在航太、金融等需要複雜精細計算的產業中,其中也包括了區塊鏈的核心開發(core dev)。因此,當昀彥想離開學界投入業界闖闖的時候,區塊鏈相關應用開發,便闖進了他的世界。 

當時朋友找他一起投件,組了一個小團隊,在 Cardano 和 Tezos 之間選擇了 Tezos,並加入 Tezos Southeast Asia(TSA)的技術開發團隊,主要協助開發一些 dAPP 的應用。後來 TSA 的任務由 TZ APAC 承接,便不再作開發相關。因此,在其他工程師朋友的介紹下,昀彥加入了 Marigold 核心開發團隊,成為了第一代元老成員。 

Marigold團隊照,由昀彥提供。

探索鏈上的核心功能開發團隊之一 – Marigold 

Marigold 是由 Gabriel Alfour 於 2020 年 11 月成立,專注於測試和開發 Tezos 協議的升級。該團隊皆是遠端協作,且擅長函數式語言撰寫,同時在探索鏈合約開發主要使用的程式語言 – LIGO ,也是由該團隊進行開發和推廣。 

核心開發、引導示範、培育更多開發者是 Marigold 的主要任務。他們幫忙開發功能示範型和生態圈可以使用的dAPP。像是 Batcher,一個去中心化交易所(DEX)或是可以執行多簽錢包的 Multisig。示範型的 dAPP 雖然不一定擁有使用情境,但希望可幫助在探索鏈的開發者,去想像原有核心開發的功能,怎麼去做應用和延伸,然後透過眾開發者的回饋,來優化改善原有的核心功能。其中像是 Tezos 的高階程式語言 LIGO 也由 Marigold 進行開發,並透過教學網站 Tezos Academy 來跟開發者們溝通,怎麼使用 LIGO 去撰寫合約。 

講求任務分工和整合的核心開發團隊們 

在探索鏈上共計有 DaiLambda、Functori、Marigold、Nomadic Labs、Oxhead Alpha、TriliTech、Tarides 這幾個核心開發團隊,大多是遠端且分散式的協作。Nomadic Labs、Marigold、TriliTech 是探索鏈上三個最大的開發團隊,各自負責不同的開發項目和主要負責的工作,像是 Marigold 就是負責核心開發中,將交易以及計算簡化打包上傳到區塊鏈上(Rollup)的部分,另外也會幫忙執行驗證、系統測試等。 

在探索鏈各開發團隊的溝通,大多以線上會議為主,以分散式和矩陣型的方式執行。有一個主要核心開發小組,成員來自各個不同的開發團隊。在這個小組中可以了解、整合各個團隊的進度,也可確認彼此的工作內容有沒有衝突。每個專案或是功能開發小組,其實也會有來自其他開發團隊的成員,好確保每個功能與功能彼此的聯繫不會出差錯。像是昀彥平時便擔任其中一個功能開發團隊的組長,必須要與其他團隊的成員來溝通項目的進度,或是了解其他開發團隊目前的開發狀況。以技術層面來看,web3 或是區塊鏈的開發沒有什麼不同,從昀彥的角度來看,Web2 和 Web3 最大的不同之處,正是這種分散式的協作方式和文化。 

另外,團隊和團隊之間也會因為探索鏈基金會(Tezos Foundation)所提出來的任務或需求而整合起來,這也使得探索鏈,雖然使用了分散式協作的方式來執行開發,但團隊之間合作緊密,形成一個特有且共治的生態體系。 

快速理解探索鏈上的專案的執行方式 

探索鏈基金會常常會開出各種不同條件和任務,以此來作資源的整合。除了核心開發團隊外,也可以吸引各種有趣的專案或是應用開發者加入。通常基金會委託執行的方式可以分成:賞金專案、團隊建置、團隊投案這幾種。

「賞金專案」:由基金會定義專案目標與獎金,有興趣的團隊可以針對這樣的標案來寫投標書,以獲得必需要的初始資源,像是元祖級 NFT 藝術平台 — Hic et Nunc 和去中心化交易所 — QuipuSwap 就是屬於這類專案來獲得初始的執行資源。

「團隊建立」:偶而基金會會針對社群中,已經有共識但是一直沒有人力資源去開發的目標,在社群中找到願意建立團隊的人。再由這個人為起點,建立一個針對該需求的開發團隊。如果該團隊需要基金會資源,還是需要將自己的目標寫成計畫書,並且投案去基金會申請補助,像是 Marigold 就是在這樣的情境下誕生。 

「團隊投案」:通常是團隊本身已經成型且有明確的目標,那就可以向基金會申請資金和資源的協助。在探索鏈網站上,都有分類分項的方案和主題,提供各個應用開發團隊去寫企劃書投稿,來獲得額外的資源挹注。 

當然,探索鏈上也有非常多的自己應用開發團隊靠著自己的力量完成計畫,沒有向基金會申請資源。不過據昀彥表示這樣的情形下,團隊和基金會的互動機會比較少,比較容易變成孤軍奮戰,也比較無法打入現有生態圈。在探索鏈的生態圈是非常需要跟其他人整合和互通有無。 

Tezos 的藍圖,Teozs提供

重視基礎建設的探索鏈有著一個健康的未來 

文章的最後,昀彥也給想要踏入區塊鏈產業或是想多了解區塊鏈核心開發的人一點建議。 

學習、溝通、描述三項能力,會是在區塊鏈產業工作最寶貴的技能。他認為踏入區塊鏈產業,技術是其次,反倒是願意花時間吸收新知,對事物充滿好奇心的人,才能夠跟上區塊鏈一日千里的速度和變化。另外,這個文化是非常需要願意積極和團隊溝通的人才,主動地找出並提供問題的解決方法。最重要的是描述事件的能力,這個工作環境中,常常需要跟其他團隊說明,自己的團隊正在做什麼、遭遇了什麼樣的問題,甚至是向對方提出需求,都需要良好的描述能力,才能讓個專案順暢地進行。 

跟著昀彥走了各開發團隊一圈,我們不難想像探索鏈想要帶來的文化和生態。不著急針對使用者應用或是商業行為進行技術開發,反而關注在藝術創作者生態或是提供更多資源在應用開發團隊身上,比起炒作投資,他們更為重視鏈上核心技術的發展。雖然一開始起步緩慢,不像是以太坊可以看到種類繁多的應用發生,但隨著數位藝術和生成藝術在探索鏈上的發展,我們開始期待,會不會有更多有趣的未來,在這條擁有豐富多元藝術生態的區塊鏈上面展開。 

 

後記備註:整理一些學習密碼給大家參考 

必學函數式程式語言(Functional programming): OCaml  
Shell = OCaml / Rust 
Tools = OCaml / Rust / Javascript(typescript) 
物件導向: C++; Java; Ruby 
指令式: C; C++; Java 


c2x3 除了會在 Matters 分享Web3相關資訊,也致力將台灣項目推向國際,如果喜歡這些內容,請不吝分享我們的文章讓更多人看見,我們也有 FacebookInstagram 和英文版的 TwitterMedium 跟 fxtext 喲,歡迎大家來逛逛,未來還請各位多多指教囉!
CC BY-NC-ND 2.0 授权

喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!