BOS致力于為用戶提供方便進入并易于使用的區塊鏈服務,為DApp運營提供更友好的基礎設施,為支持更豐富的應用場景努力,為DApp大繁榮進行積極嘗試。除了技術改進以外,BOS也會進行其他方面的嘗試。比如,為了提高用戶投票參與度,可以通過預言機技術來針對符合明確規則的賬戶進行激勵;BOS上面的BP的獎勵會根據鏈上DApp的數量、TPS、市值、流通量等指標進行調整,鼓勵每個BP為生態提供更多資源;一項社區公投達成的決議將會盡量被代碼化,減少人為的因素在里面,流程上鏈,保持公正透明。
BOS鏈的代碼完全由社區貢獻并維護,每個生態參與者都可以提交代碼或者建議,相關的流程會參考已有開源軟件來進行,比如PEP(Python Enhancement Proposals)。
為鼓勵DApp在BOS的發展,BOS基金會將會為其上的DApp提供Token置換的低成本的資源抵押服務,降低DApp前期的運營成本;此外還會定期對做出貢獻的開發者提供BOS激勵,以便建立起一個相互促進的社區發展趨勢。
共識機制
EOSIO采用的是基于流水線的拜占庭容錯機制 (Pipelined Byzantine Fault Tolerance),對于一個Block需要經過Propose、Pre-Commit、Commit、Finalize [1] 幾個步驟,最后不可更改的塊范圍由Last Irreversible Block (LIB) 標明;一筆交易基本上需要約3分鐘 (理論最低為325個出塊時間,即162.5秒) 才能進入LIB,雖然相比BTC、ETH等其他數字通證的交易可靠時間有很大提高,但是對于很多應用場景來說還是有很大限制。比如支付場景,由于不能立即確定該筆交易最后是否成功,需要等待一段的時間才可完成商品的交易,這就增加了很多限制。
造成交易需要較長確認時間的原因是在DPOS BFT共識算法中,所有塊同步后的確認信息都只有輪到該節點出塊的時候才會被廣播出去。舉個例子來說,在BP1出塊(所出塊為BLKn),BP1 ~ BP21輪流出塊的情況下,BP2 ~ BP21會陸續收到并驗證BLKn,但所有BP只能等到自己出塊的時候才能發出對BLKn的確認信息。
在分析過EOSIO共識算法的問題以后,為了縮短一筆交易變成不可更改狀態的時間,BOS將采用PBFT (Practical Byzantine Fault Tolerance[2]) 來替代Pipelined BFT,讓BP之間實時地對當前正在生產的區塊進行確認,能夠使整個系統最終達到接近實時的共識速度。
BOS的共識算法是在 PBFT 理論基礎上,結合EOSIO代碼進行的改進,在保證實現拜占庭容錯的前提下,會進行以下部分的改動:
1. 保留Pipelined BFT的BP 輪流出塊的機制,并且和EOS一樣對同步時鐘和出塊順序進行強約束
2. 移除Pipelined BFT共識部分的邏輯,即去掉原本出塊時的implicit confirm 和 (explict) confirm 部分,避免在極端情況下與PBFT的共識結果產生沖突
3. 共識的通訊機制使用現有p2p網絡進行,將會使用PBFT機制廣播prepare和commit信息,并保證通信成本在可接受范圍內。
4. 采用批量共識替換PBFT中對每個塊進行共識的要求,通過一次廣播多個塊的相關信息,以此來逼近實時BFT的理想狀態并減輕網絡負載。
BOS PBFT中狀態描述如下:
· pre-prepare,指出塊節點出塊以后,廣播給網絡里的所有其他中繼節點。可以類比為EOSIO中BP出塊并廣播至全網。
· prepare,指中繼節點收到請求后向全網廣播將要對此請求進行執行。可類比為EOSIO中所有節點收到塊并驗證成功后廣播已收到的信息。
· commit,指中繼節點收到足夠多的對同一請求的prepare消息,向全網廣播執行此請求。可以類比為EOSIO中節點收到足夠多對同一個塊的prepare消息,提出proposed lib消息
· committed-local,指中繼節點收到足夠多對同一請求的commit消息,完成了驗證工作。 可以類比為EOSIO中的LIB提升。
· view change,指出塊節點因為各種原因失去其他節點的信任,整個系統更改出塊節點的過程。由于EOSIO采用了Pipelined BFT的算法,所有BP是通過投票的方式提前確定的,在一輪出塊中整個系統的出塊順序是完全不變的。當網絡情況良好并且出塊節點沒有發生改變的時候可以認為不存在view change狀態。當引入PBFT后,為了避免分叉導致共識不前進的情況,加入view change機制,拋棄所有未達成共識的塊進行replay,不斷重試直到繼續共識。
· checkpoint,指在某一個塊高度記錄共識證據,以此來提供安全性證明。當足夠多的中繼節點的checkpoint相同時,這個checkpoint被認為是stable的。checkpoint的生成包括兩大類:一類是固定k個塊生成,另一類是特殊的需要提供安全性證明的點,例如出塊BP排名發生變更的塊。
通過對現有EOS主網進行的觀察來看,全球節點之間的網絡延遲大部分都在1s以內,按照BOS PBFT的共識機制在絕大多數場景下可以做到3s (pre-prepare, prepare, commit) 不可更改。將一筆交易的可信時間從分鐘級縮短成秒級將會讓很多應用場景可以在BOS鏈上面進行實現。
鏈間通訊
EOSIO技術白皮書中把鏈間通訊作為實現高并發的解決方案,以鏈間通訊技術構建多條鏈間的流轉通道,通過水平拓展的方式來增加EOSIO整個生態的承載能力。跨鏈通訊的本質問題是解決對各個鏈之間交易可信度的證明。異構的區塊鏈系統(例如EOS、ETH)因為區塊生成速度、內部數據結構、共識機制等都有很大差異,因此異構去中心化跨鏈的實現難度相對較高,相比而言而對于以EOSIO為基礎的不同鏈之間的交易驗證更具有實際意義。
去中心化跨鏈通信的基礎是輕客戶端(Light Weight Client)和交易驗證技術(SPV/Simple Payment Verification)。輕客戶端是由區塊頭構成的一條鏈,不包括區塊體,所以輕客戶端只占用很小的空間;SPV技術使用merkle路徑來證明一個交易是否存在于某個區塊中[3]。
BOSCore采用的跨鏈方案優勢有以下幾點:
1. 完全去中心。輕客戶端在智能合約中實現,當初始化了正確的起始區塊信息,合約就可以完全自主驗證后續所有區塊的有效性,無需依賴對中繼或合約外部信息的信任。
2. 輕量。輕客戶端無需連續同步原鏈所有區塊頭,只根據需要同步區塊鏈的一部分片段即可獲得可信區塊用于驗證交易。
3. 快速的跨鏈交易。一個跨鏈交易從產生到在目標鏈上產生對應交易只需要不到3分鐘時間。
4. 跨鏈交易并行。不同的跨鏈交易之間互不影響,可以并行執行,因此支持很大的并發量。
5. 安全。由于采用了生產者簽名效驗和嚴格的邏輯檢查,可以保證輕客戶端自身的正確性,無法被惡意攻擊,因此可以安全的驗證交易的真實性。
BOS基于該IBC方案提供與EOS主鏈的兌換通道,EOS可以十分方便的在BOS側鏈和EOS主鏈之間流通,包括EOS上面的其他優質數字通證;與此類似,BOS將會推進與其他基于EOSIO技術的側鏈建立流通通道,讓整個EOSIO生態開始邁進生態網絡的建設,BOS將會作為一個核心流通紐帶,加速整個EOSIO生態的發展與進化。
錨定幣
為了豐富整條鏈的經濟生態,BOS除了使用IBC機制實現與EOSIO主網建立流通渠道以外,還將采用“公證人機制”,聯合世界頂級交易所將BTC、ETH映射到BOS鏈上。通過該可信通道,BTC、ETH都可以在BOS上面輕松進行跨鏈流通。這意味著對于BOS上面運行的DApp來說,在支持EOSIO生態數字資產的同時,可以將更多其他共識機制的數字資產方便的進行支持。此外,該方案也可以作為提高其他低TPS數字通證流動性的方案。
BOS將會提供一種機制,可以針對不同的數字通證發行 1 : 1 的錨定幣,并且通過BP多簽的方式來針對可信中間人的身份進行認證。每個可信中間人都需要抵押一定的BOS作為保證金。具有實力和公信力的組織或公司可以發起“公證人”身份的申請,在通過前30名BP中有25名BP通過以后就可以進行錨定幣的發行。
賬戶
低保
從EOS主網上線以來,對于普通持幣人往往都會遇到由于抵押資源不夠導致轉賬失敗的情況,這種情況下用戶也無法自救,就只能求救于他人,導致了很差的用戶體驗,提高了使用門檻。對于一條鏈來說,活躍用戶量的增長在促進鏈發展的同時,更會促進鏈上DApp的發展,對整個生態都至關重要。為了解決這個問題,BOS鏈進行了改進,可以通過鏈的參數來調整分配給每個用戶免費的資源額度,相當于BOS鏈上的“低保”機制。這樣大部分用戶日常的轉賬等基本需求都能被滿足,無需再為較少的初始資源抵押擔心無法使用鏈上功能。對于更多使用需求的用戶,超出低保額度的資源使用仍然需要進行抵押。
紅包創建賬戶
對于EOSIO主網來說,創建賬戶成本是一個不可忽視的問題。BOS的定位是為豐富鏈上DApp為目標,所以也提供了解決用戶創建賬戶成本的方案。參考生活場景中發紅包的例子,BOS會將社區開發的“紅包DApp”進行內置,并且會由BOS基金會持續提供一定量的免費創建賬戶數量。其他DApp項目方或者組織都可以方便的通過紅包的形式給用戶免費創建賬戶。紅包DApp相關的功能可以通過官網訪問,也可以通過每個BP提供的接入點進行訪問。
ThunderNode
通過改進共識機制,BOS鏈上的一筆交易的可靠時間可以縮短到3s以內,這個時間相比中心化的系統還是有些差距。所以為了滿足這種接近中心化系統的需求,BOS上面會提供一種可以達到毫秒級確認的節點,稱之為 ThunderNode。
類似于閃電網絡,ThunderNode 的交易大部分都是在一個局部網絡完成,ThunderNode 會保證交易在BOS鏈上可見并不可更改。使用者一旦決定使用某一ThunderNode就需要鎖定部分余額,這部分余額只可以在該ThunderNode進行使用,在決定不使用時可以將剩余BOS解鎖,恢復正常使用,用戶選擇使用那個ThunderNode以及鎖定對余額都需要在BOS鏈上發送注冊并等待生效以后才能開始使用。
ThunderNode的運營者是完全開放競爭的,沒有硬性的限制條件,使用者也是可以根據自己的需要來選擇,ThunderNode的提供者可以通過收取一定手續費用的方式來獲取獎勵。
更可用
更安全隨機數方案
目前EOSIO上面已知的隨機數方案基本上都是結合可預知的多個字段,比如 blockid、timestamp等作為隨機種子的一部分,然后再結合用戶端、DApp項目方或者直接由DApp方線下生成。該類方案存在一定的安全風險,無法降低對DApp項目方可信度的依賴,以及無法避免一些重放攻擊(比如INLINE_ACTION形式)。針對以上問題,BOS啟用了block_extension特性,提供了 bpsig_action_time_seed 方案,bpsig_action_time_seed 不僅可以防止重放攻擊,而且還需要BP節點的簽名私鑰進行簽名,并把生成的seed存入block_extension,便于其他節點進行驗證。
結合 bpsig_action_time_seed 就可以構造出用戶、節點、DApp項目方三方參與的更安全的隨機數方案。bpsig_action_time_seed 的生成方式如下:
bpsig_action_time_seed = sign(BP_Sign_Key, F(block_timestamp, 0.5) + global_action_sequence)
注:
· BP_Sign_Key : 使用BP私鑰簽名的目的就是避免他人進行投機計算
· F:將block_timestamp按照0.5向下取整的函數,降低BP調整時間戳來進行投機概率
· global_action_sequence: 全局action自增標識,可以用于防止 INLINE_ACTION 攻擊
預言機
預言機是圖靈機模型引入的概念,由于停機問題以及數學不完備性的原因,引入該概念后會得到一些標準圖靈機所不能得到結果。在圖靈機里它是確定性的,但在區塊鏈中引入的預言機卻很難得到理論上定義的特點,究其原因是因為區塊鏈本身就是建立在容錯邏輯之上,其本身并不要求輸入的確定性,甚至允許存在欺騙行為,這也是區塊鏈建立拜占庭容錯結構之上的原因。因此在區塊鏈的預言機與傳統意義上的預言機有著本質的區別。
面對非可信預言者問題,簡單的確定性計算模型顯然已經無能為力,為此我們嘗試著引入博弈的系統模型來解決這些問題。概括的講,不單純的將預言機看作是系統的信息提供點,而是將其看作博弈的參與方與信息使用者共同構建博弈模型。并通過引入懲罰機制以及多回合博弈機制來建立可信承諾,通過多信息提供點的信息選取機制達到謝林點,從而提高信息的可信性;此外通過引入檢驗員并加入連帶獎懲機制,構建對信息提供角色的囚徒困境,進一步保證可信性。
基于上面的分析,BOS會實現一套基于博弈系統模型的預言機機制,拓寬DApp可以涉及的應用場景,讓區塊鏈技術可以和生活中的多種場景進行結合。
節點配置上鏈
EOSIO中一些細節做的不夠到位,其中黑白名單的配置就是很好的例子,由于黑白名單配置問題就導致至少兩次凍結賬戶失效。BOS會將黑白名單等此類公共配置信息上鏈,由BP多簽生效,避免由于其他原因導致配置在某些點上失效,進而導致損失。BOS不僅僅會關注重要特性的開發,而且在基礎細節上面也會做的更到位。
更多Plugin
對于想要實現監聽一個賬戶具體交易情況,對于現在的EOSIO來說方案比較復雜,往往通過kafka的插件來實現。這個又是對DApp、錢包或者交易所來說很需要的一個功能。對于普遍需求的功能點,BOS就會進行支持。BOS內置 Notify Plugin,提供與History Plugin類似的使用方式,可以低成本、快速的獲得賬戶監聽功能。
除此之外,BOS還會將社區里面優秀的插件進行集成,降低編譯成本,方便開發者使用。
按時區出塊
EOSIO當前使用的是按照BP賬戶名稱的字典序進行出塊,從實際運行效果來看往往會導致多次的小分叉:最后2-4塊不能及時廣播到下一個出塊BP。為了降低前后BP之間的網絡延遲,BOS將會采用按照時區順序進行出塊,盡量降低物理距離以及網絡抖動導致小分叉情況的出現。
BOS有計劃在正常的連接網絡之外,再搭建一條使用專線互聯各個節點的網絡,保證塊數據更高質量、低延遲的傳輸。
BOS Toolkit
BOS所追求的其中一點就是盡量降低用戶的使用門檻,并通過易用、易懂的方式來展現給用戶使用,所以BOS官網會提供一個功能集合頁面,該頁面主要是將BOS相關特性轉變成用戶可用的接口,比如紅包、賬戶管理器等工具。BOS Toolkit的定位不是錢包應用,只是提高鏈上功能的易用性,讓好的設計發揮作用。
賬戶管理器
EOSIO引入了靈活的賬戶體系,可以針對不同權限等級、不同的動作進行相對復雜的操作。雖然該機制可以實現操作系統級的賬戶方案,但是對于用戶來說還是過于技術和復雜。所以BOS在這方面多做了一步,讓用戶可以方便的使用起來。
通過賬戶管理器不僅可以設置賬戶active key的每筆、每天轉賬限額,對于更高級的owner權限,用戶不僅要輸入正確的密碼,還要回答正確的問題才可以進行使用或者導出,這樣做的目的是幫助用戶去理解賬戶權限的設計規則,提高用戶的安全意識。
P2P自發現
在EOSIO的實現中,與那些節點建立連接依賴于配置文件的靜態配置,從整體上面來看當一個新的節點加入時,只能通過從其他地方獲取到公布的信息,但是這個公布的信息很難保證是全面且是最新的,這就會導致一些節點連接通道是片面的,進而會降低整個網絡的聯通質量。
BOS在這點上進行了增強,可以通過配置項決定是否將一個節點設置為可自發現,并且同樣受最大連接數的整體限制,這樣只要在每個團隊節點中有至少1臺開啟了自發現,都將會幫助BOS鏈上的節點之間建立起一個更高互通質量的網絡。
為了降低安全風險,一個節點只會向配置文件中的已有節點獲取可連接的節點信息,不是無限制的自動創建連接。
生態模型
發行方式
BOS初始發行量為10億,分配方式如下:
· 1億進行生態空投
5千萬直接空投EOS主網賬戶
5千萬根據DApp和節點的實際情況情況進行空投
· 1億戰略伙伴基金,用于BOS鏈上項目投資及BOS運營
· 4億進行生態激勵,向在BOS鏈上產生的支付及BOS交易業務進行補貼
· 2億進行創始團隊激勵,分4年解鎖
· 2億進行私募,分四期進行募集每期5千萬
每年增發量 2%,分配方式如下:
· 節點獎勵為 1%
· 開發者獎勵 0.8%
· 治理激勵 0.2%
開發者激勵
增發0.8% 面向BOS生態貢獻代碼的開發者,由社區提出50名獎勵名單,由前50名BP投票選出40名的獲獎者獲取對應獎勵:
· 前10名獲取40%
· 11到20名獲取30%
· 最后20名均分30%
獎勵周期3個月一次,每次獎勵名額都會進行為期一周的公示,如果有合理異議,將會重新評審,每次獎勵名單都會上鏈記錄。
隨著BOS的不斷發展,開發者獎勵會適當調整,讓社區為BOS的進化提供更多動力。
治理模型
在鏈上生態不斷蓬勃發展的過程中,未來每一條鏈可以理解為一個“國家”。每條鏈都將會擁有自己的獨一無二治理模型,不同的治理模型將會使得大家走向不同方向,并在鏈間產生競爭,并通過自由市場模型使得開發者和用戶選擇最優的模型進行發展。BOS的治理模型崇尚 “Code is the law”。保障DApp的平穩發展將會是BOS的最高準則。
BOS每年增發0.2%用于向幫助BOS持有人發起仲裁的治理組織或志愿者,在BOS中任何人都可以發出仲裁,一個提案獲取越多治理組織附議,其可靠性就越高。如果仲裁生效,治理組織或者志愿者可以獲得2000 BOS的治理獎勵。 BOS的決策或者仲裁達成方式有兩種:1. 不少于15個BP同意,2. 社區公投。BOS治理中不會存在唯一的ECAF機構,但是會存在多個中立的治理組織或志愿者,對提出有效方案或者改進建議的組織或都志愿者可以獲得社區激勵。
注:生效標準(例如不少于N個BP同意該仲裁生效)可能會隨著BOS鏈的生態發展而變化,且任何變化也必須遵循當前治理規則投票。
經濟模型
BOS是一個對區塊鏈世界的自由市場經濟十分有意義的嘗試。由于中央銀行的過度干預市場以及無法保持獨立性所帶來的問題,以比特幣為代表的數字代幣以完全自由市場的理念,試圖通過理性人假設(hypothesis of rational man)來解決現實經濟中無法解決的問題。但當我們回顧現代經濟學的歷史時,治理和自由,公平與效率始終是處于互相博弈和再平衡的過程。從奉行自由市場的古典學派,到強調政府干預的凱恩斯學派、再到強調回歸市場奧地利學派,任何一個方向都不會是一概而論的,一成不變,放之四海而皆準的。
BOS希望通過以商業發展為導向,通過調和BTC自由市場以及EOS目前過度治理的情況,平衡二者之間的優缺點,同時發揮效率和去中心化的優勢將區塊鏈真正實現商業落地。
BOS支持的鏈間通訊功能將會影響整個區塊鏈行業的運行方式,各類數字資產均可通過鏈間通訊將傳統孤島化的數字資產鏈接成為一個網絡。包括BTC、ETH、EOS或者其他通證資產均可以在BOS鏈上進行交易和劃轉,進而可以將BOS理解為一個數字貨幣的自由港,而BOS所帶來快速交易系統將會使得BOS 具有十分可觀的吞吐量。此外,低廉的賬戶創建成本將會吸引來自全世界的各類商家和應用入駐,進而繁榮整個BOS生態,進而反哺EOSIO生態。 當一個用戶同時持有ETH、BTC、EOS,用戶可以將以上代幣通過跨鏈通道導入BOS鏈,在鏈上創建BOS-ETH、BOS-BTC、BOS-EOS,我們將此類資產稱之為BOS資產。即用戶將資產帶入BOS自由港,用戶可以在BOS這個自由港進行消費、投資、娛樂等活動,DApp的開發商可以為用戶提供各類服務,在服務的過程中,BOS資產可以在不同的BOS賬戶內在進行交易和轉讓。BOS資產的持有人可以從鏈上隨時通過跨鏈通信將資產從BOS鏈上流通回原有的BTC、ETH、EOS鏈。
BOS作為一種資源將會成為整個自由港的計價單位和基礎設施平臺,當多種資產在BOS鏈上產生交互的時候BOS將會向英鎊和美元一樣起到價值媒介的作用。
歷史上英格蘭銀行第一次將足額黃金與英鎊進行等額的雙向兌換,結合以羅馬法為基礎的法律進而形成良好商業氛圍吸引了當時全世界最優秀的資源,并最終確立了倫敦國際金融中心的地位,BOS也將通過完善的基礎設施、良好的商業氛圍來打造區塊鏈的商業中心。
總結
BOS的目標是建立起一條支持更多DApp,能把更多現實需求和區塊鏈結合起來的EOSIO生態鏈。從區塊鏈的進化角度來看,BOS除了作為DApp的首選基礎鏈以外,還可以作為一個各種異構鏈通證的流通鏈,做區塊鏈世界的自由港。BOS來源于社區,也會在社區的維護下更好的發展。
評論
查看更多