【週三最新專訪】
這集應該不算專訪,是邀請昶吾和我一起探索這個主題。
德國、澳洲、印度和新加坡政府在最近幾個月,紛紛提出「國家級的區塊鏈戰略」。就我所知,台灣政府內部也正在積極討論是否該打造國家級的區塊鏈 — 台灣鏈。我曾在之前文章,提出對「國家級區塊鏈」的看法:
1)區塊鏈就像網際網路一樣,最終應該是全球採用同一套(或彼此能互通)區塊鏈的效益最大。
2)各國政府之所以提出「國家級區塊鏈」的想法,是暫時性地把資產流通限縮在國內,多爭取一點時間思考如何因應。
這集邀請目前在 AMIS 擔任首席科學家,同時也在政大開區塊鏈課程的陳昶吾博士,來一起聊聊台灣是否該打造屬於自己的台灣鏈?如果要的話,又該從哪邊開始。
#公開
★ 區塊勢採訂閱制,只專心服務訂閱區塊勢的讀者。正是因為有你們的支持,我才能獨立作業:http://bit.ly/2kVh4f7
★ 區塊鏈線上課程,有組織有方向地認識區塊鏈是什麼、怎麼用?沒有技術名詞,輕鬆上手區塊鏈:http://bit.ly/2L9kaFB
「陳昶吾博士」的推薦目錄:
- 關於陳昶吾博士 在 區塊勢 - 說人話的區塊鏈圖文 Facebook 的最讚貼文
- 關於陳昶吾博士 在 Taipei Ethereum Meetup Facebook 的最佳解答
- 關於陳昶吾博士 在 動區動趨 BlockTempo - 由社群而生的區塊鏈媒體 - Media for Blockchain Facebook 的最佳貼文
- 關於陳昶吾博士 在 [閒聊] AMIS/HITCON/Pelith/DappPocket 技術小聚 - 批踢踢實業坊 的評價
- 關於陳昶吾博士 在 動區塊聚BlockMeet #7【以太坊的浴火重生之路】 ... 的評價
- 關於陳昶吾博士 在 2022 Meet Taipei 綜合座談:Web3 生態系與應用實例共創工作坊 的評價
陳昶吾博士 在 Taipei Ethereum Meetup Facebook 的最佳解答
📜 [專欄新文章] A Secure State Channels Framework for Ethereum by Liam Horne 解析以太坊上的安全狀態通道
✍️ 田少谷 Shao
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
Crosslink 第二天早上由 Liam Horne,狀態通道的主要開發團隊 L4 共同創辦人開場。本以為這場會提到筆者前一天晚上還看得霧煞煞的 Counterfactual ,沒想到這次的演講較為科普、以分享開發近況為主,也被以太坊基金會研究員 Chih-Cheng Liang 稱為最接地氣的一場!
何謂狀態通道?
比特幣的支付通道
若熟悉閃電網路,比特幣的支付通道是一個記錄支付行為的通道,只有開關通道時會接觸到區塊鏈。
假設A公司與B公司有頻繁的交易需求,兩方各自把 10 元放入支付通道中:
19:00 交易開始,兩方所擁有的錢: (10,10)
19:15 A->B 3元: (7,13)
20:10 B->A 7元: (14,6)
20:30 A->B 13元: (1,19)
21:45 B->A 4元: (5,15)
到了 21:45 時,交易結束,此時可以將交易結果 (5,15) 寫到區塊鏈上並分配結餘,而區塊鏈上有的紀錄就只有以下兩筆。
19:00 交易開始,兩方所擁有的錢: (10,10)
21:45 交易結束,兩方所擁有的錢: (5,15)
這代表著交易的結果能被記錄到區塊鏈上,卻大幅減少了要和區塊鏈互動的次數,不只可以降低交易雙方等待區塊鏈回應的次數與時間,也讓區塊鏈要處理的交易數量減少 。
以上只是提供一個很粗淺的例子,可以參考以下連結,精美圖示有助理解:
【動區專題】五分鐘看懂:圖說閃電網路 Ligntning Network
狀態通道 State Channel
由於狀態通道是在以太坊上,和比特幣的環境不同,所以實作方法不盡相同 (提示:UTXO),但本質上是相同的概念:只要牽涉到「狀態轉換 state-altering」,我們就能開一個通道讓交易參與者在通道中任意次數改變「狀態的值」,而最終將結果寫回區塊鏈上就好。
這邊我引用 Pelith 創辦人 Ping Chen 對於狀態通道精闢的解釋:
狀態通道通常是有別種邏輯疊在上面的通道 — 陳品
也就是說,相對於支付通道的邏輯就只是參與者虛擬貨幣的數量,狀態通道通常指的是該應用場景有自身的邏輯/規則。
舉例來說,在一遊戲中,玩家所擁有的虛寶就可以被視為是許多種狀態:遊戲中金幣及等級的是數值、但同時也是狀態;而 (0,1) 可以用來代表道具的擁有狀態 (沒有,有)。
假設一玩家 A 在遊戲中的起始狀態為 (電卷, 金牌, 鞍切, 金幣, 經驗值) = (0, 0, 0, 300, 1),隨著遊戲進行,虛寶/狀態的改變:
A 花費 100 金購買了金牌: (0, 1, 0, 200, 1)
A 首殺獲得 200 金、升兩等: (0, 1, 0, 400, 3)
A 花費 300 金用金牌合成了鞍切: (0, 0, 1, 100, 3) # 其實好像還要妖刀?xD
A 擊殺了 B 玩家,升一等: (0, 0, 1, 100, 4)
當玩家要登出、暫停遊戲時,最後的 (0, 0, 1, 100, 4) 就可以被更新到區塊鏈上,而下次登入時就會讀取這個區塊鏈上的狀態讓玩家繼續遊玩。
若了解了此例,就不難想像為什麼狀態通道被提出之時,遊戲以及虛擬貨幣的支付被視為最適合運用的兩個場景:給定參與者=玩家,在限定的場域中=遊戲,進行狀態的更新。
更多細節可以參考此一概念的提出人 Jeff Coleman 的解釋:點我
決策者 Mover
每一個狀態都有一位決策者,由通道中所有參與者輪流擔任。決策者透過對一狀態進行「簽署」來表達是否同意此狀態,也就是說狀態的正當性取決於當前的簽署是否來自正確的決策者。
狀態確認 Valid Transaction
狀態的先後順序是驗證狀態是否有效的方法。取決於應用的場景,有不同的實作方式。若簡單以一個計數器 counter 來實作,只要要求新狀態的計數值為舊狀態 +1,即可驗證。
state(N).counter + 1 == state(N+1).counter
關閉通道與終結性 Finality
當沒有更多交易或有參與者決定要結束交易時,只要全部參與者皆同意就可以關閉通道,ex: 給一 boolean 變數 isFinal,全部人都把自己的 isFinal 皆設為 true 就可以將通道關閉。
萬一有參與者半途消失了?Finality 終結性指的就是「每一個狀態都可以是最終的狀態」。假設部分參與者消失,只要有搭配的機制,例如:計時器,就一定會輪替到仍在線的人;即使參與者全部消失,當前的狀態因具備終結性,所以也能被提交為最終的狀態。
狀態通道實作的規劃與開發進程
Liam 將實作狀態通道的規劃劃分成上圖的六層:
Protocol & Contracts:
- State Progression Protocol
這邊就是上方的「決策者、狀態確認、關閉通道與終結性」。
除了以上所提及的內容,目前團隊也正在開發更方便的協議 Protocol Hardening:有別於交易的結束需要所有參與者的同意,目標是想做到「在特定時間內,任一參與者都能自行決定交易的推進或結束而不受其他參與者影響」。
- Channel Funding Protocol
此處是系統設計的另一個協議 Nitro Protocol,也就是如何開「子通道」,可以參考以下連結:
Nitro Protocol
Client & Hub:
- Client & Protocol Engine
這部分是講 Client 端彼此之間會傳送什麼訊息來進行溝通。
https://specs.counterfactual.com/en/latest/protocols/install-virtual-app.html#the-installvirtualappparams-type
- Client API & Wire Protocol
以下的 Github 專案就是將上方三部分的協議內容實作到網頁端:
counterfactual/monorepo
目前第一版的狀態通道已正在運行了,詳見下方額外學習資源的 Connext。Liam 列出了一些實作第二版時必須納入考量的點:
Robustly store states (i.e., guarantee no accidental money loss)
Automatic detection and responding to challenges
Ability to launch challenges directly with in-browser hooks
Go-to production quality hub software for apps and businesses to use
Browser Wallet UX:
- Wallet Integrations
這些是將狀態通道實作於現存的各種 Wallet 時,需要新增的內容:
https://github.com/counterfactual/monorepo/blob/d3b06b42710c0b7dd93839033cb43da9ac6e0a28/packages/types/src/node.ts
- Wallet UI
最後則是區塊鏈、也是所有新技術能否被廣泛使用的大哉問:該如何設計才能讓使用者有良好的體驗?
在此 Liam 提出實作 Wallet 時可以考慮的要點:
How should a user interact with a state channel?
What are the best patterns for acquiring user consent?
How much does the user have to trust the app?
To what extent can your channel wallet protect you?
What policies should a channel wallet be able to enforce?
額外學習資源
Liam 在本場演講及 Panel Discussion 中,都很鼓勵大家一起跳進來當開發者。他的大致建議如下:看懂相關文章、開發的要求 specs,就可以試著做做看。卡住的時候就到以下連結的討論區詢問他們,包含 Liam 在內的開發人員都會在上面回答問題:
State Channels - A community of state channels researchers from bitcoin, ethereum, and other blockchains
狀態通道的 Github:
State Channels
已成功實作第一版狀態通道的 Connext 專案:
Where will I be able to use v2.0 of Connext?
讓筆者看得霧煞煞的 Counterfactual ,可以進一步提升狀態通道的效率:
Counterfactual: Generalized State Channels on Ethereum
結語
本次演講實為筆者綜觀 Liam 在 Youtube 上的影片後,他對狀態通道最簡單、親民的一次演講,主要著重於介紹開發的進程、應注意的要點,也提供了初探此議題的新手很多學習資源、推坑大家加入開發的建議!
其實陳昶吾博士也曾於 Taipei Ethereum Meetup 詳細介紹過此議題(閃電網路為主),有興趣者可以看以下影片來得到更完整的認識:
最後,如果我的文章有幫助到你/妳,可以看看我的其他文章,歡迎大家一起交流 :)
田少谷 Shao - Medium
一如往常,感謝 Yahsin Huang 及 Chih-Cheng Liang 幫忙審稿,辛苦了!也特別感謝 Ping Chen 耐心回答素未蒙面的我的問題!!
A Secure State Channels Framework for Ethereum by Liam Horne 解析以太坊上的安全狀態通道 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
陳昶吾博士 在 動區動趨 BlockTempo - 由社群而生的區塊鏈媒體 - Media for Blockchain Facebook 的最佳貼文
👣【#產業拓荒者系列故事 #第九集 #說書編講古】
「區塊鏈的建設還處於早期階段,很多能力還尚有不足。」 - 陳昶吾博士
#說書編:今天是故事系列的第九集,#幣圈盛竹如 要來聊聊你我都很熟悉的技術大神──AMIS首席科學家、以太坊基金會研究員,#陳昶吾 的故事!
光陰流轉,時間回到2016年。
當時陳昶吾剛從中央大學的通訊工程系博士班畢業,論文寫的是「從隱私保護探討車間安全通訊」。白話一點來說,是在探討智慧車流運輸系統的設計,如何在強化交通安全和效率的同時,確保車間網路通訊的安全性與隱私性。
聽起來和區塊鏈沒關係,但專長研究安全隱私的他,早發現了區塊鏈技術的價值。差不多的時間,他已在北京世紀互聯創新研究院擔任資深區塊鏈工程師,那時台灣研究區塊鏈開發的人仍不多。
從國外回台後,因緣際會下他認識了Taipei Ethereum Meetup的其他成員,理所當然地加入成為一份子。
先前說書編有提到,以太坊創辦人Vitalik非常喜歡台灣,常常特地來台北以太坊社群演講。不過更少人知道的是,以太坊基金會在全世界有十幾名研究員,台灣就佔了5名。而在這之中,陳昶吾就是第一個。
2017年,陳昶吾成為台灣第一名以太坊基金會研究員。因為能夠與V神一起工作的他,身在台灣的我們才能享有第一手的以太坊研究進展與最新消息!
另外,除了以太坊基金會外,我們所熟識的陳昶吾博士還有另外一個身分──AMIS首席科學家。
AMIS是在做什麼呢?
AMIS由台灣老牌交易平台Maicoin/MAX創辦人劉世偉創立,是台灣第一家商用區塊鏈平台公司,專攻「帳聯網」。不僅獲得富邦集團董事長蔡明忠點頭投資,也獲得台新金控的大力支持,力求打造下個世代的互聯網金融。
最知名的研究項目就是「伊斯坦堡拜占庭容錯演算法(Istanbul BFT)」,獲得世界最大投行摩根大通採用,成為其開發的金融區塊鏈平台「Quorum」的內建共識算法。
AMIS可謂聚集了台灣最頂尖的區塊鏈技術人才,甚至找來了Vitalik當技術顧問。於國內外產學界都名氣響亮的陳昶吾,也難怪會被AMIS延攬了。
2018年陳昶吾正式加入AMIS,聚焦於帳聯網與金融創新的研究。
「在新創公司裡,你看不到願意長期投資、而且養12、13個資深工程師的研發團隊,在這種地方才能真的做事。有這樣的團隊,才更可能將區塊鏈這個技術,真正落地。」
能力越大,責任越重,可謂是陳昶吾的寫照。
直到今天,陳昶吾不僅持續在以太坊社群耕耘,在AMIS做帳聯網研究,也在政大資科系擔任助理教授,推動區塊鏈與以太坊的教育。無論在社群、產業、或學術界的奉獻,我們得感謝的都太多了。
2019年的台灣區塊鏈,陳昶吾教授還在持續寫下他的歷史.......
好了! #幣圈兒盛竹如 的故事今天就說到這裡。
想更了解陳昶吾和他的研究精華,請繼續閱讀《區塊鏈帳聯網如何在金融領域做到創新?》,讓昶吾教授與你親自分享!
✍️閱讀本章故事 >> https://pse.is/DZ6WB
明天同一時間,我們相約再見。
📖先行者系列導讀目錄 >> https://pse.is/F3JMB
🚩【2019 台灣區塊鏈產業指南】官網:
https://blocktempo.pse.is/storyto2019
#社群始祖 #區塊鏈白話運動 #陳昶吾 #以太坊 #Ethereum #TaipeiEthereumMeetup #AMIS #帳聯網
-
✅訂閱動區LINE:https://pse.is/EX99P
陳昶吾博士 在 動區塊聚BlockMeet #7【以太坊的浴火重生之路】 ... 的推薦與評價
陳昶吾博士 目前任職於AMIS 擔任首席科學家,在以太坊基金會擔任研究員,亦於政大資科兼任助理教授、開授區塊鏈技術相關課程,其研究興趣為無線網路、安全隱私以及區塊鏈。 ... <看更多>
陳昶吾博士 在 2022 Meet Taipei 綜合座談:Web3 生態系與應用實例共創工作坊 的推薦與評價
... Tai imToken Chief Scientist - - 陳昶吾 KryptoGo CEO - - 歐曜瑋市民 ... '23.08.02【豐富│財經一路發】段昌文 博士 談「惠譽烏鴉嘴美債該擔心嗎 ... ... <看更多>
陳昶吾博士 在 [閒聊] AMIS/HITCON/Pelith/DappPocket 技術小聚 - 批踢踢實業坊 的推薦與評價
主題:錢包與託管機制 技術小聚
時間:7 月 31 日 (三) 14:00 ~ 17:00
地點:台北市中正區八德路一段 104 號 (MaiCoin總部)
(忠孝新生捷運站走路 2 分鐘,靠近三創)
費用:免費
報名處:https://bit.ly/2LEEaSZ
如果你只知道零知識證明就太落伍了,如今「多方安全計算」(MPC) 與區塊鏈結合的應用
場景正如火如荼地發展,以太坊創始人 Vitalik 也曾深入討論該主題。但什麼是百萬富
翁問題呢? MPC 又是什麼呢?區塊客研究室邀請到陳昶吾博士深入淺出地帶領參與者掌
握當前最具話題性的前沿技術。
另外,台灣駭客界第一人、駭客年會 (HITCON) 創辦人徐千洋近年也跨入區塊鏈產業,與
奇虎 360 前總經理 Paul Fan 共同創辦 Cybavo,提供銀行等級的加密貨幣管理解決方案
。徐千洋將運用在資安領域打滾多年的歷練,帶領大家弄懂區塊鏈與私鑰的潛在威脅。
至於最為精采的 Panel 討論現場,區塊客研究室還邀請到專精於智能合約審核的 Pelith
創辦人陳品,以及知名加密錢包 Dapp Pocket 創辦人陳柏安一同加入,帶領參加者度過
一段隨性且充實的夏日午後!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.228.19.176 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/DigiCurrency/M.1564373356.A.B0F.html
... <看更多>