Web3藝術產業入門指南】從Marigold工程師－昀彥的視野，來理解Tezos核心開發中特有的分散式協作方式
Tags: opensource, blockchain, web3, c2x3
Published: 2023-03-13 08:35:10

嗨，大家好，我是 Marigold 昀彥，很榮幸能夠接受到非常專業的 [C2X3](https://artouch.com/authors/c2x3) 的專訪，並與他們分享我在 Marigold 以及 Tezos 的經驗。希望這篇文章能夠對讀者有所啟發，並且讓大家更了解 Tezos 以及 Marigold。再次感謝 C2X3 給我分享的機會，專訪原文可以在 [這裡](https://artouch.com/art-views/issue/a-beginners-guide-to-the-web3-art-industry/content-98802.html) 找到，也期待未來有更多機會和社群的各位分享。

------------------------------------------------------------


從學術界毅然決然走入區塊鏈開發，一路從dAPP設計到區塊鏈核心功能開發。現任Tezos區塊鏈核心開發工程師的昀彥，將與我們分享這一路上的過程。
不只培育藝術生態圈，泰卓鏈上的基礎開發也沒有落下

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

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

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

當時朋友找他一起投件，組了一個小團隊，在Cardano和Tezos之間選擇了Tezos，並加入Tezos Southeast Asia（TSA）的技術開發團隊，主要協助開發一些dAPP的應用。後來TSA的任務由TZ APAC承接，便不再作開發相關。因此，在其他工程師朋友的介紹下，昀彥加入了Marigold核心開發團隊，成為了第一代元老成員。
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的藍圖（Tezos提供）
Tezos的藍圖（Tezos提供）
重視基礎建設的泰卓鏈有著一個健康的未來

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

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

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

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

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

[Source](https://artouch.com/art-views/issue/a-beginners-guide-to-the-web3-art-industry/content-98802.html)