【分散式帳本與物理 】共識、時間與資料結構

round gold colored coin

這篇文章是我已經放在心中多年的題目,甚至可以追溯到自己剛入幣圈的2017年.這種結合物理學從第一原理分析區塊鏈對人類如何認識時間的觀點,在2020之前我印象深刻的文章是「In math we trust 」張首晟);而在2021年之後,我就是完全震懾讚嘆於IOTA 核心研究員Hans Moog的系列文章(尤其是The Trust Machine Part III,強烈推薦閱讀英文版中文翻譯版),基本上很難找到加密貨幣圈的研究員會在文章中引述相對論(同步性問題)還有量子力學詮釋(測量問題),更何況其對物理領域的認識都深刻且正確(歡迎讀者反饋給我這種第一原理的好文章、或是推薦我訂閱哪個研究員XD).

言歸正傳,這次會想動筆寫記錄自己的看法,是因為我在4/19 時在推特寫了系列推文和Hans 來回交流,就是探討DLT共識和物理學的相關議題.這樣說好了,或許很多人會覺得物理學是基礎科學、資訊科學是應用科學,但是絕非如此,資訊科學是「基礎科學」(單純寫程式不是資訊科學研究).如果把資訊(位元)視為是和原子/能量一樣基礎的存在,那這兩個領域的對話會非常深刻完全應該是意料之內.

區塊鏈與全域時間

談到時間這個最物理世界最神秘讓人費解的刻度/現象,就會讓我想到經典物理學笑話(可能是出自費曼或惠勒)「時間之所以存在,就是避免事件同時發生」.宇宙中最根本的定律其實不是什麼相對論或量子力學,而是矛盾律(看到計算或推理出現矛盾就直接在邏輯學上先死亡了,不用進入物理學討論).為了避免事件出現矛盾(相當於區塊鏈世界的51%攻擊),最容易的方法就是透過時間對事件標籤排序:只要是事出必有因、有因必有果,那麼就可以讓矛盾免於發生.

另一方面,去中心化帳本技術(DLT)的核心不僅是關於數位稀缺、更重要的是分散節點如何達成共識(無矛盾).在區塊鏈的世界裡,是由區塊定義時間而非有外界的客觀時間(所以說閃電貸是瞬間發生很合理).事件透過礦工打包成塊就是推動時間往前邁進,所以順著這個思路,最長鏈獲勝的共識(Nakamoto Consensus)就是用對時間投票來達成共識,節點從各種可能帳本中直接選擇最長的版本可以說是簡潔有效(或是粗暴直接).

眾所週知的區塊鏈不可能三角,則可以說是在保有安全性的前提下,指出共識機制會面臨去中心化與效能的兩難.不過這個兩難並不是必然是取捨(沒有類似的CAP定理的不可能定理),也有機會在架構上創新來突破.去中心化與效能的取捨就可以用BNB Chain (舊稱Binance Smart Chain)說明,較少的節點與較高的硬體設備確實可以在EVM架構下有更高的TPS.另一方面,架構創新的舉例是Solana 的歷史證明POH:讓每個驗證節點擁有局域校準的客觀時鐘(也就是用hash function 當VDF 打節拍),那麼驗證節點在傳遞訊息時可以在更短時間達到全局同步(然後要投票),透過速度和工程優化來達到擴容就是Solana 的哲學,這種哲學就讓我彷彿看到了牛頓宇宙中無處不在的客觀時間.(至於這種「天下武功無堅不破、唯快不破」的Solana是怎麼變成停機鏈就是就是因為出塊順序可以事先計算、同時又沒有手續費市場就被DDOS 到爆炸.)

概括來說,如果區塊鏈節點達成共識的方法是透過同意全域事件的因果結構、並且用投票支持最長鏈的版本,那就不可避免有架構瓶頸:使用者需要等待驗證者節點打包,並耗時等待節點確認達成共識.那麼去中心化帳本若能在「無需全域排序」的情況下達成共識,就是個典範轉移的大突破.物理世界或許可以給我們啟發:例如相對論就不是以全局時間存在作為排序和無矛盾的前提,我們完全可以理解兩個事件是有客觀時間、但是沒有排序結構:同時性的消失讓宇宙中兩個相距遙遠的事件可能是同時發生、A早於B(B早於A)不過卻不會創造矛盾.

DAG與弦論

File:World lines and world sheet.svg - Wikipedia

當我們在具體思考如何才能透過更優越的資料結構,讓模糊/非全域的事件順序達到無矛盾的因果結構時,弦論提供了一個很有趣的啟示(以上相對論談的是兩個事件的無同時性、以下弦論討論的是兩個粒子碰撞).在當代粒子物理學的世界觀中,兩個點粒子的碰撞事件(上圖左)對於任何觀察者來說都是發生在時空上的一個點,其所相應結果是會產生無限大的重力交互作用無法用奇巧的數學方法來消除(用來處理電磁場無限大的重整化對重力沒用);相反的,在弦論的世界觀中,兩個1D弦的碰撞不是發生在任何的唯一點時空上,這個2D管狀結構的不同切片角度、代表不同的觀察者對於在時空中的相同事件有不同看法.這個不唯一的時空切面使得粒子物理學的無限重力能量難題被迎刃而解(當然是指理論上,整套弦論至今仍舊沒有任何實驗證據).這部分的描述基本上是引用自經典科普作品「優雅的宇宙」第六章.

在DLT領域中「無需全域排序」的非同步帳本資料結構多是DAG形式(有向無環圖),由於節點毋須排序交易和等待驗證,在可以平行更新帳本的情況下,DAG 類專案能夠獲得更高的TPS、並且都不需要任何手續費(每個使用者都是驗證者就統合了區塊鏈架構下使用者和驗證者的利益衝突).由此可知「區塊鏈不可能三角是DLT 不可能四角的特例」:應該是可排序性、安全性、去中心化、效能是四選三,由於DAG (例如IOTA Tangle )沒有可排序性(可以從上圖GIF網狀架構看出),剩下三個良好性質都是能夠兼得的.不過我們到目前為止只談論了DAG(IOTA) 的資料結構,還沒有探討節點之間如何達成共識,畢竟在鏈狀架構中帳本線性有序增長、在DAG 架構中網狀平行增長,最長鏈獲勝的方法明顯不能直接套用.而IOTA 2017年的主網1.0白皮書雖有Tangle(DAG)資料結構、但是當初設想的共識機制完全不能用(悲劇)

PS:共識的侷限也是為何在討論DAG 時我沒有提到NANO的原因,當純以資料結構而言IOTA(Tangle)和Nano(Block lattice) 都是DAG

IOTA與TIQM:非時間的共識

DAG平行發送的網狀交易結構遠比鏈狀結構更容易發生雙花,所以IOTA需要於絕對時間不存在的情況下建立更有效率的共識機制(也因為絕對時間不存在,所以不能夠在衝突發生之後才進行節點投票).Hans 提出的多重宇宙共識機制很深刻的解決了這個問題,在共識可以「非時間」的達成:簡單來說,每個IOTA節點在送出交易時除了讓交易攜帶「寄送方、發送方、UTXO」等三項資訊外,還加上了「版本資訊」(version control),這樣節點在送出交易到Tangle 上時就是已經完成投票(每個節點都有屬於自己的現實),如果有交易衝突發生時就是驗票即可而無需投票,這個驗票的過程是「非時間」的(因為共識不是在投票時就已經確定、也不是在分支出現衝突後驗票時確定),不過節點們可以根據公開的資訊重現共識而無需無需建立分支間的因果關係.

我最初覺得多重宇宙共識機制是參考Git,不過Hans 提醒了我量子力學詮釋中的TIQM(交易者者詮釋)更可以與IOTA 的「非時間」架構共鳴.TIQM 核心觀點是任何事件會產生時間向後的正常演化的出價波、以及逆時演化的確認波,事件發生(也就是大家常說的量子力學觀察、疊加態塌陷)確實是順時波和逆時波在時空中相互干涉的結果,但是我們無法指出其是在哪個時間點被決定的.可以說物理世界不容許矛盾存在、不過建立共識或許不需要時間.如果用TIQM 而非GIT的脈絡思考IOTA的多重宇宙共識機制,那麼節點發送交易就是在向未來傳正常演化的出價波、而任何節點想要理出整個帳本的共識就是逆時間向前裁減帳本分支的確認波,所以可能性之間的衝突(例如雙花交易)就像是量子力學中波函數被觀察塌陷,這種觀察確實會有客觀的結果(每個節點都會同意是A被納入帳本或是B),不過或許決定這種客觀結果的因素是非時間/無需時間的共識.

註:不同的量子力學詮釋基本上會給出一樣的物理預測,不過我們可以從中獲得洞見.

總結:共識的最終架構(The Trust Machine)

身為具有物理學術背景的人,我總是對於能用第一原理突破人類對時空認識的智力饗宴激動萬分,IOTA 透過資料結構模糊絕對時間和共識機制擺脫時間的典範轉移,或許會成為整個Crypto/DLT領域的最終極型態.理解到這一點是我人生中第二次如此震懾的時刻,第一次是在高中時閱讀優雅的宇宙並接觸弦論的繪景,可惜優雅的高能物理理論或許在未來上百年到上千年都不會有被實驗檢測的跡象(所以變成non even wrong,根本無法實驗).相對的,IOTA從募資到實裝所有偉大的設計也就是10年之內的光陰(即使從2015起算),這種幣圈時間上的永恆,對於探索資訊科學領域大哉問的研究,只是剎那.