開源時代的興起 - 原始碼的共享經濟

Tino Lin
Flowchain Knowledge Camp
11 min readDec 25, 2019

開源軟體的定義是,任何人在自由開源軟體授權條款(License)下可享有獲得源代碼並執行、研究、修改、分發的自由。

圖片來源:https://www.runas.io/content/images/2019/07/open-source-software.png

開源時代

開源主要目的是希望開放大部分底層關鍵技術的源碼,不讓這些技術基礎被大公司把持,增加開發者的進入門檻。只要將源碼開源釋出,所有對其有興趣的開發者,都能自由的使用這些資源。這樣聽起來創造這些源碼的開發者似乎很吃虧,他們的努力看似得不到任何實質的回報。

那到底為什麼越來越多人提倡開源呢?人皆有盲點,程式開發者往往無法察覺自己的錯誤,而且程式碼的開發也不太可能一次到位,通常需要經過多次的除錯、修改,開源後便可透過網路社群的力量,集眾人之智一起改進源碼,持續優化或是開發出更佳的版本,遠比一個人或是一個團隊埋頭苦幹來得有效率;再者,不開源的產品需要付出極大的行銷成本,才可能讓產品提升一點能見度,如果能直接開源,這些源碼會因為其他開發者的推廣如病毒般擴散出去,甚至不需要行銷成本就能達到比花錢打廣告更好的效果。這也是近幾年來大企業們逐漸從封閉走向開放,將自己開發的底層技術開放源碼,貢獻給社會。

區塊鏈為什麼強調開源?

2009 年 1 月 第一個區塊鏈項目 — 比特幣,它的發起人中本聰將開源的比特幣發布在網路上,就是透過開源社群的力量,讓比特幣軟體不斷進步,至今順利地運行 10 年之久。後來出現的區塊鏈項目,幾乎都開放源碼供所有人檢視、使用,原因為何呢?眾所皆知,區塊鏈的目的是為了解決網路上的信任問題, 鏈上動作都是透過程式碼自動執行,這時候如果區塊鏈是一個非開源的項目,大家就無法確定這些程式碼究竟可不可信;相反地,如果開源了,相關的開發者可以透過檢視源碼,評估這條區塊鏈的可行性與安全性,甚至能共同維護、提出更好的升級方案,這也是為什麼區塊鏈項目的開源往往是必要的。

前篇文章裡和大家介紹了全球知名的開源社群 Hyperledger 中最廣為人知的 Fabric;Fabric 一開始也是由 IBM 貢獻給 Hyperledger 作為開源項目。除了 Fabric 和近期由 ConsenSys 提交的 Besu,以下將為大家介紹 Hyperledger 還有哪些開源項目。

圖片來源:https://upload.wikimedia.org/wikipedia/commons/thumb/6/6a/Linux_Foundation_logo_2007.svg/1280px-Linux_Foundation_logo_2007.svg.png

Linux Fundation

談到 Hyperledger,一定不能不提到 Linux Foundation,Linux 基金會(英語:Linux Foundation,簡稱 LF),是一家非營利性技術協會,致力於保護和推進Linux和協同開發,同時支援「歷史上最大的共享技術資源」,也就是我們常常聽到的「開源項目」。2015 年的 12 月,LF 宣布啟動 Hyperledger,隔年 5 月 19 日 Brian Behlendorf 被任命為執行總監。

圖片來源:https://miro.medium.com/max/7326/1*NWdPPj6NvicKqZUq9MMlmA.png

Hyperledger

Hyperledger 從名稱來看說它是區塊鏈項目似乎不太適合,應該說它致力於發展「分布式帳本技術」(英語:Distributed Ledger Technology,通常簡稱為 DLT)發展與開跨領域整合,繼承了 LF 開源的精神,所有提交到 Hyperledger 並受到認可的項目,都必須開放原始碼(Open Source),透過社群的力量,共同努力開發、改善項目,並讓有需要的人能夠免費使用原始碼,不會受到專利的限制。除了開放源碼以外, Hyperledger 也正致力於制定 DLT 技術的共同標準與專用的模組,提供公司企業一條明確的道路發展及開發,同時也降低它們導入區塊鏈的成本與時間。

圖片來源:https://events19.linuxfoundation.org/wp-content/uploads/2019/07/HL_Greenhouse_Current_100319.png

這張 Hyperledger Greenhouse 的圖標示了所有提交給 Hyperledger 並被接受後孵化、推廣的一系列開源項目,其中分成四個大類別,「分布式帳本」、「函式庫」、「工具」以及「特定領域」,而今天我們會把重點放在分布式帳本(DLT)的介紹。

圖片來源:https://miro.medium.com/max/4842/1*1sNk5z7xZnUk3xiJLV2G8w.png

Fabric

Hyperledger Fabric 是由 IBM 領頭開發,並將技術捐贈給 Linux 基金會。可以將 Hyperledger Fabric 想像成是樂高積木的底座,它提供了一個最基礎的架構,同時提供了許多不同形狀的積木,像是共識機制的選擇、授權節點的方式都能夠視你的應用場景來決定你希望將哪些積木(功能)插上,將哪些不需要的積木卸除。

這樣的設計讓企業能夠客製化,並搭建最適合自己應用場景的聯盟鏈架構。藉由提供各種隨插即用的套件,讓 Hyperledger Fabric 像是一個區塊鏈的工具箱,各種工具都優化到可以即插即用,讓企業內部的開發者不需要從最底層開始研究區塊鏈,很大程度地為企業用戶簡化了使用區塊鏈的門檻以及教育的成本。

圖片來源:https://repository-images.githubusercontent.com/57901437/c8e87780-cd1b-11e9-9c65-95e2752a2c43

Sawtooth

Hyperledger Sawtooth 最初由全球知名的晶片公司 Intel 開發,現在也將技術提供給 Hyperledger 管理。

它和 Fabric 非常類似,也提供了一個可拔拆式的模組化架構。Sawtooth 提出了一個由 Intel 開發的全新共識機制 PoET (Proof of elapsed time),也是 Sawtooth 的首選共識機制,PoET 是為了改良傳統 PoW 而出現的產物,這款新的共識機制非常高效,節點樹擴展至數千個都不會出現擁堵,並且不需要像 PoW 高度消耗能源或是虛擬貨幣激勵,仍然能達到足夠安全的共識機制。

但也由於 PoET 的共識必須搭配 SGX 技術,SGX 技術本身非常複雜,簡單的理解就是,他為軟體的共識設置了多一層源自於處理器的硬體信任,跟 Flowchain 的 Tokenized hardware 有異曲同工之妙,但也因此把持在 Intel 手中的 SGX 技術成為了大家質疑的目標,因為這個共識的安全性完全依賴於 Intel 的硬體製造技術。

圖片來源:https://cn.hyperledger.org/wp-content/uploads/2019/08/Hyperledger_Besu_color.png

Besu

由世界最具規模的以太坊開發公司 ConsenSys 將項目提交給 Hyperledegr,以前的名字是「Pantheon Hyperledger」,是提交到 Hyperledger 的第一個公有區塊鏈項目。在極短的時間內提案就被核准認可,成為了第 15 個 Hyperledger Greenhouse 項目,現在正名為「Hyperledger Besu」

Besu 與 Fabric 、Sawtooth 一樣致力於模組化的設計,讓大部分的功能都能視應用的需求來拔拆需要跟不需要的功能模組,Besu 跟 Fabric 最不一樣的地方在於他本身就是一個以太坊的客戶端,意思就是它不僅可以在以太坊測試網 Ropsten、Rinkeby上執行,也能夠直接部署在以太坊主網。Besu 也符合以太坊企業聯盟(EEA)的規範,能夠確保公有鏈跟私有鏈之間的資料交換是符合企業標準的。

如同上一篇提到的 Besu 的出現提供了一個方便易用且較容易兼容 GDPR 的混合鏈架構,ConsenSys 這個舉動也可以看出區塊鏈巨頭公司開始在佈局未來合法合規區塊鏈的主流形式。

圖片來源:https://raw.githubusercontent.com/hyperledger/indy-node/master/collateral/logos/indy-logo.png

Indy

Sovrin Foundation 致力於開發身份認證網路,也是 Indy 的初始開發者,項目提交後已經被 Hyperledger 接受了。

Indy 跟其他的 DLT 技術很不一樣,他的目標非常明確,是為了將原本中心化的 KYC(Know Your Customer) 去中心化 。這樣的技術對於區塊鏈或是任何分佈式帳本技術的可說是不可或缺的基礎建設。

想像一下我們正透過去中心化的區塊鏈網路,享受著去中心化的好處,但是卻在一開始就要通過中心化 KYC 的個資確認,似乎一點也不合理。Indy 為這個大問題提供了一整套的數位身份解決方案,其中非常重要的關鍵技術就是零知識證明

舉一個簡單的例子,當你在開車時被警察攔查,警察需要你出示相關的證件,輸入你的身分證或名字警察就能掌握你的所有個人資料,但是警察需要知道的只有你是否年滿 18 歲、是否擁有駕照… ,其他諸如地址、身分證、姓名… 的個人資料都是不必要的,透過零知識證明的技術,你可以僅僅透過提供數位身份讓警察掃描條碼或是生物驗證特徵(如指紋、虹膜、臉部特徵),警察就能知道你是否符合開車的資格,同時不會透露你任何個人資料。

再來像是醫院的病歷資料,也能透過這種去中心化的身份驗證機制,讓病患不需要每次到了新的醫院就要重新填寫病歷,而能夠在不透露任何個資的情況並且節省時間的將所有資料提供給就診的醫院。

相關的場景不勝枚舉,上一篇文章提到的 GDPR,若能將這樣的去中心化身份導入到網路服務當中,是否在兼容業務方面又更加容易了呢?

身為 Hyperledger 一員的 Flowchain 也致力投身開源,加入了 OIN 、 Linux 基金會等全球開源社群。藉由開源打造另類的原始碼共享經濟,通過授權條款,Flowchain 期待能夠吸引更多看好物聯網區塊鏈的開發者,共同維護、發展這個蓄勢待發的項目。因此非常歡迎所有對 Flowchain 底層技術有興趣的朋友,到 Flowchain 的 Github 看看,一起打造未來潛力無窮的物聯網區塊鏈。

責任編輯:Angelina Huang, PR & Marketing Lead, Flowchain

參考資料:

  1. https://zh.wikipedia.org/wiki/%E5%BC%80%E6%BA%90%E8%BD%AF%E4%BB%B6
  2. https://zh.wikipedia.org/wiki/Linux%E5%9F%BA%E9%87%91%E6%9C%83
  3. https://zh.wikipedia.org/wiki/%E8%B6%85%E7%BA%A7%E8%B4%A6%E6%9C%AC
  4. https://zh.wikipedia.org/wiki/%E5%BC%80%E6%94%BE%E6%BA%90%E4%BB%A3%E7%A0%81
  5. https://kknews.cc/zh-tw/tech/5bgxz6k.html
  6. https://hackernoon.com/what-is-hyperledger-sawtooth-51b90f10096c
  7. https://www.leewayhertz.com/identity-management-hyperledger-indy/
  8. https://blockcast.it/2017/05/05/blockchain-identity-project-indy-joins-hyperledger/
  9. https://www.bnext.com.tw/article/53342/open-source--business-model-3

--

--

Tino Lin
Flowchain Knowledge Camp

【Blockchain diary】 → Line :tino28082000 │Telegram :@Tno00