CoinEx Chain為去中心化交易而建立的公鏈

買賣虛擬貨幣
數字貨幣的中心化交易所全權掌控了使用者的資產,而頻發的中心化交易所被盜事件一次次表明其安全問題成為懸在整個數字貨幣行業之,上的達摩克利斯之劍。2011年和2014年Mt.Gox兩次被盜,2014年Poloniex被 盜,2015年Bitstamp被盜,2017年Bithumb被盜,2019年Binance被盜等事件一次次印證 了前述的擔憂。在資產安全的問題之外,交易所關門跑路、交易規則不透明、由於主觀或客觀原因造成的暫時無法訪問以及昂貴的上幣費用等也是中心化交易所常被詬病的地方。能否以去中心化的方式重構數字貨幣的交易市場?不需要註冊要求或者稽覈流程,沒有單點故障問題、控制或者監管屬性,規則透明的去中心化交易所能夠同時解決中心化交易所面臨的諸多挑戰。近年來湧現出諸如Bitshares 、 Etherdelta 、 0x協議、OmiseGo、Loopring 、Kyber 、 Cosmos等去中心化交易所的技術方案。現有的大部分方案,如Etherdelta、0x協議、OmiseGo、 Loopring、 Kyber都是基 於以太坊的支援ERC20標準的去中心化交易解決方案。基於某個公鏈的去中心化交易平臺的能力則受限於底層公鏈的能力。以以太坊為例,在當下以太坊的交易處理能力遲遲無法提升的情況下,基於以太坊構建的去中心化交易平臺在處理速度、使用者體驗等方面無法與現有的中心化交易平臺匹敵。專門定製的ASIC晶片已經在基於PoW的公鏈挖礦中展現出巨大的優勢,借鑑同樣的思路,構建專門用於去中心化交易的公鏈能夠在規避中心化交易所諸多問題的同時,依然保持較高的交易處理速度和相似的使用者互動體驗。CoinEx Chain是基於Tendermint共識協議和Cosmos SDK打造的公鏈,旨在打造社羣化運營、交易規則透明以及使用者資產由自己控制的去中心化交易平臺(DEX) 。基於CoinEx Chain的DEX.上的原生代幣為CoinEx Token (CET) ,現存的ERC20 Token形態的代幣會按照1:1的比例對映成CoinEx Chain上的原生代幣。Tendermint共識協議在保證足夠去中心化的前提下能到達到上萬的TPS以及秒級確認,能夠在去中心化交易平臺場景下提供近乎中心化交易平臺的使用者體驗。透過鏈上交易、鏈上撮合的方式帶來最大程度的交易透明度。將數字資產的控制權還給使用者並且透過數字簽名進行許可權鑑定,避免了中心化交易平臺所帶來的單點失敗的安全風險,保證了使用者資產的安全性。另外透過跨鏈機制,可以將當前的CET Token連線至更為廣闊的數字貨幣世界。CoinEx Chain不僅是一條專用於DEX的公鏈,而且是圍繞DEX公鏈構建的更為豐富的生態系統。為最大程度 提升DEX公鏈的交易處理速度,DEX公鏈僅支援必要的功能而不支援智慧合約。但是智慧合約功能是構建更為複雜的金融應用的基礎,因此在DEX公鏈之外CoinEx Chain將包含-條支援智慧合約功能的Smart公鏈。透過跨鏈機制連通Smart公鏈與DEX公鏈,在保證DEX公鏈效能的同時,也支援複雜的金融應用。當前區塊鏈上的隱私問題備受詬病,因為地址概念提供的匿名特性容易透過資料進行逆向分析,最大程度地保護使用者隱私是CoinEx Chain的核心任務之-。與Smart公鏈類似,透過構建專門的支援交易隱私保護的Privacy公鏈並進行跨鏈連通,能夠提升整個CoinExChain生態的隱私特性。
在三條各司其職的公鏈之外,CoinEx Chain將在多個技術方向進行技術創新與改進:1) 安全方面,還權於使用者之後如何保證使用者賬戶私鑰的安全性成為核心問題。在錢包的私鑰保護方面提供閾值多方ECDSA簽名機制。與Shamir秘密分享方案(Shamir' s Secret Sharing, SSS) 相比,閾值多方ECDSA簽名機制在簽名時,直接利用各個私鑰的分片進行計算即可得到最終的簽名值,無需重構原始私鑰資訊,能夠規避SSS方案的單點失敗的隱患。2) 共識協議方面,Tendermint協議需要驗證者集合對每個提議的區塊進行投票(簽名),每個區塊中的投票資訊會隨著驗證者集合的增大而線性增長,消耗可觀的鏈上儲存空間,聚合簽名可解決這一問題。聚合簽名所面臨的Rogue Public-Key攻擊可以透過與共識場景結合進行規避,或者採用在Plain Public Key模型下安全的聚合簽名機制,如Maxwell等人提出的MuSig 以及Boneh等人提出的BL S聚合簽名機制。3)執行效率方面,參考以太坊的經驗,區塊鏈所採用的可認證資料結構(Authenticated Data Structure, ADS)的效率會顯著影響鏈上交易的處理速度,Cosmos專案基於IAVL+資料結構構造了自己的ADS方案,在效率方面較以太坊提出的MerklePatracia Tree (MPT) 沒有明顯改進。透過工程手段可以部分緩解可能由ADS結構帶來的讀寫效能瓶頸問題。CoinEx Chain也會關注ADS設計方面的最新進展,嘗試從ADS結構角度最佳化公鏈效能。公鏈元件1. Tendermint Core與Cosmos SDK
CoinEx Chain是 基於Tendermint Core和Cosmos SDK構建的。Tendermint Core專案封裝了P2P網路通訊以及Tendermint共識協議,Cosmos SDK透過模組化方式提供了應用層開發所依賴的基礎功能,兩個元件之間透過區塊鏈應用層介面(Application BlockchainInterface, ABCI)進行互動。Tendermint Core處理交 易時,不關心交易的具體內容,而是將交易看做位元組陣列。應用層根據打包好的區塊,依次解釋執行各個交易並更改狀態資訊。Tendermint共識協議是半同步的拜占庭共識協議,具有簡潔、高效和可追責的特點。共識協議的達成是在已知的驗證者集合內完成的,每個驗證者透過其公鑰進行鑑別。具體的共識過程透過多輪的兩階段(Prevote和Precommit) 投票協議以及相應的鎖定機制完成。每一輪開始時透過Round-Robin的形式選取一個驗證者為區塊提議者(Proposer) ,由該驗證者打包並提議區塊,隨後驗證者就該區塊的合法性進行兩階段投票,如果每個階段都能獲得來自多於2/3的驗證者的投票則該區塊會被提交到鏈上執行。需要執行多輪的可能原因有:被選中的驗證者不線上,提議的區塊不合法,在某個投票階段沒有收集到超過2/3的投票資訊等等。為了簡化對不確定因素的處理, Tendermint中每 張投票有兩種用途:確認合法資訊和確認無效資訊。根據投票資訊確認當前區塊或者進入下一輪,避免了PBFT共識演算法中複雜的檢視轉化協議。可追責的特性則由公鑰可鑑別驗證者這-約束提供。由於CAP定理的客觀存在,Tendermint協議在安全性與可用性之間選擇了安全性。也因此Tendermint共識協議有可能會短暫停止直到超過2/3的驗證者達成共識。當系統中的惡意的驗證者小於1/3時,Tendermint提供了永不分叉的保證。安全性優先於可用性以及永不分叉的承諾對於金融應用至關重要。CoinEx Chain在專案 啟動時計劃支援42個節點,根據Tendermint共識協議的實驗資料,在42個節點遍佈五大洲的條件下Tendermint能夠達到4000TPS的處理速度,能滿足去中心化交易所的需求。伴隨高TPS的並不是交易確認時間的延長,Tendermint共識機制提供逐區塊最終化的特性,能夠在秒級完成交易確認。2. Proof-of- StakeTendermint協議假設了驗證者集合的存在,在每一輪的兩階段投票協議中以帶權重的Round-Robin的形式選取當前輪的區塊提議者。CoinEx Chain採用Proof-of-Stake機制, 生態中任何實體都可以透過抵押CET代幣的形式參與驗證者的競選。驗證者集合不是固定不變的,生態參與方可以傳送交易來增減自己抵押的代幣數量。透過跟蹤這一變化並根據更新後的抵押代幣的數量狀態生成新的驗證者集合。
抵押與懲罰機制的引入能夠規避PoS機制所面臨的Nothing At-Stake的問題。 PoS機制面臨的另-個重要挑戰是長程攻擊的問題, 問題的根源在於PoS鏈中建立新的區塊只需要足夠的投票而不是像PoW機制中那樣需要耗費大量資源。當攻擊者設法獲得的某-歷史時刻的驗證者的私鑰數量超過2/3時,就可以從那個歷史時刻進行分叉,導致新設立的節點或者長時間離線的節點無從判斷哪條鏈是真正的主鏈。CoinEx Chain沿襲Cosmos Hub中的策略,透過三種措施抵禦長程攻擊:1) 解綁週期(Unbounding Period) :驗證者取回抵押的代幣時,需要經過一個解綁週期才能取回自己的代幣,當前的解綁週期為3周時間;2) 弱主觀性(Weak Subjective) [21]: 新節點第- -次連線網路時或者節點長時間下線後再次上線時需要透過可信節點驗證近期的區塊雜湊值,CoinEx Chain基金會將提供可信節點服務;3) 按時上線同步驗證者集合:在一個解綁週期的時長內節點需要同步驗證者集合的更新。這三種策略都在某種程度上緩解了長程攻擊的問題,但無法從根本上解決長程攻擊。可驗證延遲函式(Verifiable Delay Function, VDF) 的提出與研究進展為從根本上解決長程攻擊提供了另外-種思路。Increment VDF概念的提出與研究進展為抵禦長程攻擊提供了新的工具。CoinEx Chain團隊會持續關注VDF研究領域的進展,並利用前沿進展提升PoS機制安全性。驗證者是維護公鏈狀態一致性的關鍵角色,而執行全節點也需要付出成本,因此CoinEx Chain會對驗證者進行獎勵,獎勵包含兩部分: 新的區塊獎勵以及區塊中包含的交易手續費。區塊鏈專案中新的區塊獎勵通常依靠鑄造新幣來完成:基於PoW機制的比特幣透過挖礦鑄幣而基FPoS機制的Cosmos Hub中則依靠 通脹鑄幣。透過鑄造新幣的方式會與此前承諾的CET永不通脹的理念相違背。CoinEx Chain的應對策略是從預留的代幣中拿出-部分進行區塊獎勵,此外承諾的關於CET的回收機制依然會如期進行。驗證者的惡意行為或者驗證者沒有能力保證驗證節點的穩定性,都會影響公鏈狀態的穩定性,此類情形下CoinExChain會對相應驗證者進行懲罰。對於驗證者在同一個區塊高度對兩個不同區塊進行投票等直接違反共識協議安全性的行為,會扣除驗證者抵押的代幣中可觀的一部分比例作為懲罰,同時驗證者將被永久性地剔除出驗證者佇列;對於無法維持驗證節點可靠性的行為,會扣除驗證者抵押的代幣中的一小部分作為懲罰警示,並被禁止在-段時間內參與驗證。同時被扣除的代幣將會被系統統一回收用於將來的社羣激勵等事項。
賬戶與交易CoinEx Chain是基於賬戶模型的,每個賬戶原生支援多幣種,也因此CoinEx Chain原生支援多幣種的轉賬。為了防止鏈上出現大量的僵P賬戶消耗鏈上資源,CoinEx Chain要求每個賬戶被啟用之後才可以使用,具體的啟用方法是向新賬戶發起CET轉賬交易,並從新賬戶的應收CET中扣除1個CET作為賬戶啟用的功能費。每個交易可以包含多個訊息,每個訊息可以完成不同的操作,比如轉賬、獎勵提取等操作。對賬戶許可權的鑑定透過交易的簽名驗證來進行。簽名演算法是基於secp256k1曲線的ECDSA演算法。CoinEx Chain支援多籤交易,目前的多籤交易採用了與Bitcoin中多籤類似的方式,也即把多個簽名和公鑰資訊包含在交易內。這種方式容易實現,但也有儲存計算等資源的佔用和消耗問題。CoinEx Chain會針對每筆交易收取交易手續費,並且只有CET可以作為交易手續費。交易手續費包含兩個部分:通常意義上的Gas費用以及功能費。Gas費根據交易的位元組數、所需驗證的簽名個數以及對儲存的讀寫次數和位元組數等進行計費,功能費則是對某些特定的操作收取額外的費用。需要繳納功能費的操作有: DEX公鏈中建立新幣和建立新交易對的交易,啟用新賬戶的交易以及帶鎖定功能的轉賬交易。另外會根據被撮合交易中的交易金額按比例收取佣金,這部分也歸入功能費。CoinEx Chain計劃改進多籤交易的構造方式,透過採用聚合簽名演算法可以對多個簽名值/公鑰進行壓縮。這種方式能夠節省鏈上儲存空間,減少需要驗證的簽名的數量。對於n-of-n的多籤交易能夠提升多籤交易的隱私屬性,因為聚合的公鑰和簽名資訊能夠隱藏多籤交易涉及到的實體。在支援指令碼系統的區塊鏈上,藉助Merkle證明對於m-of-n的多籤交易可以達到同樣的隱私保護效果。然而如何在沒有指令碼系統的條件下,達到相同的效果仍需進一步調研。聚合簽名演算法所面臨的最大挑戰是在RoguePublicKey攻擊存在的前提下在Plain Public Key Model下保證安全性。Rogue Public Key利用了這一事實,允許攻擊者在其他參與方不知情的情況下炮製出合法的聚合簽名。通常的應對方案有兩種,要求參與方證明自己確實有相應的私鑰(KOSK, Knowledge of Secret Key)或者要求在待簽名訊息前面級聯參與方的公鑰。要求KOSK證明在實際中難以操作而級聯公鑰的做法會部分抵消聚合簽名機制的效率提升效果。Plain Public Key Model下參 與者無需證明自己持有所宣稱的公鑰對應的私鑰。Blockstream研究 人員設計的MuSig多籤機制與基於雙線性對的BLS簽名機制能夠滿足安全要求並且沒有前述兩種方法的弊端。基於Schnorr簽名構建的MuSig簽名方案可以在Plain Public Key Model下安全地壓縮公鑰和簽名值,並且驗證簽名過程等同於普通的Schnorr簽名驗證。Bitcoin Cash網路已經啟用了Schnorr簽名機制,為後續部署MuSig方案鋪平了道路。Bitcoin網路中則圍繞Schnorr簽名和MuSig簽名機制準備了-攬子升級計劃。MuSig籤 名機制的優點在於可以基於secp256k1進行構建,而目前的Cosmos SDK已經支援secp256k1曲線。Boneh等人在2018年構建了在Plain Public Key Model安全的BLS聚合簽名演算法[15],同樣可以用於多籤交易的改進。為了支援BLS聚合簽名演算法,要求重構錢包體系, 這是對現有系統的深層改動。從secp256k1的私 鑰切換到某個雙線性對友好的橢圓曲線上的私鑰(例如Zcash團隊構建的BLS128-381曲線),需要同時修改分層確定性錢包的實現。因此,基於MuSig機制改進多籤交易目前看來是更相容當前系統的方式。Blockstream研究人員設計的MuSig多籤機制與基於雙線性對的BLS簽名機制理想的情況是可以對一個塊中所有交易的簽名進行壓縮,壓縮之後區塊中僅有一個簽名值待驗證。這需要聚合簽名演算法能夠把不同私鑰對不同訊息的簽名值聚合起來。這種情況下,礦工在打包區塊時可以聚合所有待包含交易的簽名。MuSig無法對不同的訊息進行聚合,雖然論文中提到可以透過修正的互動聚合簽名(Fixed Interactive Aggregate Signature)機制實現對不同訊息的簽名聚合,但是尚沒有嚴謹的安全性證明。論文在更強的安全性假設基礎上構建的聚合多籤機制(Aggregate Multisignature Scheme, AMSP)可以用來聚合不同交易的簽名以進一步節省鏈上的儲存空間。在更強的安全性假設之外,如何在區塊鏈場景下安全地部署這-機制也需要進一步探索。區塊鏈
Tendermint共識協議不分叉和逐塊最終化的特性簡化了區塊鏈結構的設計,只需要用雜湊指標一次串聯起各個區塊,無需像比特幣--樣考慮區塊的回滾也不需要像Ethereum中考慮對叔塊的連線,每個區塊也由區塊頭和區塊體兩部分構成。區塊頭中包含區塊高度,時間戳,區塊中交易個數,累積的交易個數,指向上一個區塊的雜湊指標,本區塊的提案者,包含的證據列表的Merkle樹根,包含的交易列表的Merkle樹根,針對上一個區塊的投票列表的Merkle樹根,上一個區 塊的驗證者集合的Merkle樹根,上一個區塊所產生的新的驗證者集合的Merkle樹根,上一個區塊執行完成後上層應用內部狀態的Merkle樹根,上一個區塊中交易執行後的結果列表的Merkle樹根以及共識引數的Merkle樹根。區塊體中則包含了具體的交易資訊,證據資訊以及對上一個區塊的投票資訊。

值得注意的是,針對一個區塊的投票資訊儲存在下一個區塊中。Tendermint共識協議中的投票本質上是驗證者用自己的私鑰對一個區塊的簽名值,當前採用的是基於Ed25519曲線的EdDSA簽名演算法。隨著驗證者集合的增多,這些投票/簽名資訊也會佔據鏈上可觀的儲存空間而且驗證簽名也需要耗費可觀的計算資源。針對計算資源消耗問題,可以透過EdDSA簽名機制本身支援的批次驗證進行改進。要同時減少簽名值佔用的儲存空間和計算資源消耗的問題!則可以藉助聚合簽名機制。基於MuSig的聚合簽名機制,在簽名時各個簽名參與方之間需要多輪互動,考慮到驗證者可能遍佈全球各地,我們傾向於避免在共識協議必需 的互動之外引入更多的互動需求,也因此基於MuSig的聚合簽名機制不宜作為共識過程中的聚合簽名機制。與交易的聚合簽名不同的是,投票的簽名聚合功能上更為獨立,不受錢包的分層金鑰等其他業務邏輯的牽連,也因此可以考慮全新的簽名機制。這種情況下,更適合採用中提出的聚合BLS簽名機制來改進Tendermint Core專案的投票機制。

為了能夠更好地支援跨鏈和輕客戶端,每個區塊中還包含了上層應用內部狀態的Merkle樹根。Merkle樹屬於 可驗證資料結構(Authenticated Data Structure, ADS) ,為了支援輕客戶端的快速驗證,需要能夠支援存在性證明與不存在證明。而狀態需要逐塊更新的特性也要求ADS資料結構支援增量增加和修改,CoinEx Chain目前採用的是Tendermint Core專案自帶的基於資料結構IAVL+的ADS。

基於IAVL+的ADS與Ethereum的Merkle Patricia Tree (MPT) 相比並沒有顯著優勢。基於Ethereum的經驗可知,. 上層業務的狀態讀寫會被MPT資料結構放大多倍(從根節點出發逐步遍歷到葉子節點的過程需要多次訪問底層的鍵值對資料庫),從而成為潛在的效能瓶頸。ADS資料結構引入的讀寫放大的問題,可以透過更好的工程手段進行緩解,也可以透過設計全新的ADS結構來應對。可能的解決方案是開發-種全新的ADS, 它獨特的樹結構允許中間節點被儲存在KV資料庫之外,同時可以在程式異常重啟後方便地從KV資料庫恢復出中間節點,而不必擔心資料一致性的問題。透過把常用的中間節點快取在記憶體中,不常見的中間節點保持在磁碟上,確保大多數鍵值對訪問只需要訪問記憶體中的中間節點,從而大幅度減輕底層KV資料庫的壓力。

私鑰安全

數字貨幣領域的資產的所有權是透過私鑰進行簽名來界定的,建立一筆交易通常需要訪問私鑰,而私鑰的保護-直是個困難問題。數字錢包中私鑰通常是透過keystore檔案進行加密存放,加密該私鑰的金鑰通常由使用者口令等透過金鑰派生演算法生成。雖然keystore檔案僅儲存私鑰的密文,但是建立交易的時候仍然需要將其解密,也即完整的私鑰資訊總會暴露在系統中,同時也就有了洩露的風險。也可以採用冷錢包的策略,透過在需要時引入人工協助的方式將系統隔離開,從而降低私鑰洩露的風險。透過離線儲存,冷錢包降低了私鑰被惡意軟體竊取的可能性,是- 種透過管理手段提升安全性的方法。

安全性要求更強的場景通常使用硬體安全模組(Hardware Security Module)進行金鑰的防護,透過HSM模組生成私鑰、計算簽名可以保證明文私鑰資訊不會存在於HSM模組之外,從而保證私鑰的安全性。冷錢包方案和HSM方案能夠提升私鑰的安全性,但也帶來了使用的不便。而當涉及到多籤交易或者需要將私鑰的訪問許可權分散到多個成員時,要求每一方都使用冷錢包或者HSM提高了使用門檻,也進一步增加了使用的複雜性。另外Ledger的研究人員將在Black Hat 2019 上展示的對HSM的攻擊,也說明HSM自身也存在安全隱患。

多籤交易透過要求多個簽名來保證授權一筆交易,就需要多個私鑰共同配合的方式,攻擊者同時需要多個金鑰資訊才能夠轉移資產,作惡的難度加大。另外透過調整m和n的引數,多重簽名機制也提供了一定程度的安全冗餘,只要被竊取或者丟失的的金鑰個數小於n-m依然可以構造交易。然而多籤交易的交易費會更高,變更安全策略也不夠靈活,另外所有的簽名值和公鑰會公開在鏈上,導致簽名策略的洩露。

Shamir秘密分享方案可以解決多籤交易的問題。在SSS方案中,資產的管理權僅由一個私鑰控制。資產的轉移與標準交易一樣只需要一個簽名值。然而這個私鑰是由多個參與方控制的,這是透過把私鑰分割成多份並且在多個參與方之間分發這些金鑰分片來做到的。獲得足夠多的金鑰分片後,可以重構出原始的私鑰。與多籤交易類似,也可以選擇m-of-n的SSS方案。m-of-n的SS方 案中需要至少m個金鑰分片才能重構出原始金鑰,而透過m-1或者更少的金鑰分片無法獲得原始金鑰的任何資訊。m-of n的SSS方案與m-of-n的多籤方案一樣增強了金鑰安全性並能容忍金鑰(分片)遺失。SSS方案中重構原始金鑰的操作需要由某一方來完成。被選中的一方在完成原始金鑰重構之後會獲得原始金鑰的所有資訊。如果採用SSS方案,則必須相信被選中的一方在使用金鑰之後會擦除並且遺忘該金鑰的資訊。很不幸,在嘗試將金鑰控制分散化的過程中,再次引入了可信第三方和單點失敗的問題。

來自安全多方計算領域的研究進展帶來的多方閾值ECDSA簽名機制({m,n} thresholdECDSA) 同時具備Shamir秘密分享方案與多籤交易兩種方法的優勢:

1)支援與Shamir秘密分享方案類似的金鑰分割,但是在簽名時無需重構原始金鑰資訊,這也就避免了Shamir秘密分享方案中單點失敗的問題;

2)與多籤交易相比,最終體現在鏈上的相關資訊與傳統P2PKH交易相同,只需要一個簽名值,沒有增加交易的體積也無需暴露訪問控制策略,由於此時的交易與普通的交易無法根據鏈上資訊來區分,所以也提供了更好的隱私屬性。

CoinEx Chain會在錢包中支援ECDSA的閾值多方簽名機制,作為私鑰保護的增強方案。

DEX

CoinEx DEX公 鏈是基於Tendermint共識協議打造的專門用於去中心化交易的公鏈,在DEX公鏈上,使用者可以收發CET代幣,發行新的代幣並進行增發,燃燒,鎖定,解鎖等操作,以及建立交易對,交易下單,查詢交易歷史,競選成為驗證者節點等。

透過將資產的控制權返還使用者,使用者掌管自己的私鑰,可以避免中心化交易所帶來的單點失敗風險,而CoinEx Chain提供的多 方閾值ECDSA簽名機制能夠進一步增強使用者側的私鑰保護。藉助Tendermint共識協議以及精簡的鏈上功能實現秒級出塊速度與瞬時交易確認。透過資產上鍊、鏈上交易、鏈上撮合的策略,實現公平透明的交易體驗。區別於傳統的智慧合約發幣,DEX公鏈內建發幣模組,使發幣更加高效和安全。使用者無需許可即可釋出Token (包括但不限於穩定幣),同時可建立該Token相關交易對,省去中心化交易所冗長的稽覈流程和高昂上幣費用。DEX公鏈上每一步操作都是標準化的,每一步操作消耗的資源都是可預見的,因此DEX公鏈可做到高達每秒數千筆的交易處理速度。

CET透過主網對映的方式發行,CET除了可以作為鏈上交易的手續費之外,還可以作為抵押代幣,CET持有者可參與CoinEx Chain中的staking經濟。另外CET持有者也可進行提案的發起和投票,參與社羣治理。

CET主網對映

CoinEx基金會和CoinEx商業生態將協作完成CET的主網對映,CET持有者需要把ERC20CET充值到CoinEx交易所,主網上相應的CET會分發給CoinEx交易所,隨後使用者可在CoinEx交易所提取主網代幣CET,具體流程如下:

1)在主網上線前,交易所只允許充值ERC20CET,不允許提現
2)所有非鎖倉的幣都是使用者存在CoinEx交易所的幣
3)主網在啟動時,會將CoinEx交 易所中的ERC20 CET以及鎖倉的ERC20 CET做主網對映
4)開通主網CET的提現和充值
5)使用者建立CoinEx Chain主網帳戶地址後,可從CoinEx交 易所提現主網CET
6)使用者也可以提現到第三方錢包或者獨立錢包,使用主網CET參與Staking

CET分發

CET主網對映後的分佈如下:


CET激勵

如前所述,CoinEx會信守不增發CET的承諾,因此不會採用通脹的方式鑄造新幣。然而區塊激勵對於提高社羣參與度至關重要,因此在主網上線後,CoinEx基金會將分配約3.15億個CET,用於激勵初期驗證節點及staking參與者。預留CET激勵發放的總體時長與出塊間隔時間有關,激勵計劃按出塊速度為3s進行估算,每個區塊的具體獎勵金額參見下面的表格:


區塊獎勵之外,每個區塊的收益還包括區塊中交易的手續費。交易手續費包含兩個部分:通常意義上的Gas費用以及功能費。Gas費用是為 了防止對系統資源的惡意濫用,功能費部分主要用來提升鏈上生態的質量,防止惡意使用相關功能,確保使用者體驗。主網啟動時會設定特殊操作的功能費,而後期可以根據主鏈演進情況,透過社羣提案的方式對各個特殊操作的功能費進行調整。特殊操作包括:新Token的發行,新交易對上線,鎖定轉賬,新賬戶啟用以及交易撮合。

Token發行與交易

在鏈上發行新Token是無需審查的,任何人都可以發行Token,也可以為發行的Token建立新的交易對,與發行新Token一樣 ,建立新交易對也無需審查。為了保證新Token的流通性,為新發行的Token建立的第-個交易對必須是該新Token與CET之間的交易對。為了避免對系統資源的濫用,保證鏈上生態的質量,發行Token和建立新交易對會收取- -定金額的CET作為功能費。Token的Symbol符 號由2-8位字元數字組成,不可以數字開頭。Token的精度為8位(十進位制),Token發行最大數量為900億。 Token發行 者即為Token所有者(Owner),所有權可轉移給他人。

發行Token時的可選項有燃燒、增發、凍結地址、凍結幣種,並且這些選項只能在發行Token時指定,發行之後不可更改。如果Token發行時沒有開啟凍結地址和凍結幣種的選項,則該Token的流轉和持有都是自由且不受限制的。

開啟凍結地址選項後, Token Owner可按需凍結部分地址,被凍結地址中的該Token無法轉帳,也不能進行Exchange交易,但不影響地址中的其它Token。開啟凍結幣種選項後,Token Owner可按需對該Token進行凍結,凍結期間該Token的轉賬和Exchange交易被全域性禁止。Token全域性凍結期間Token Owner可以建立地址白名單,白名單中的地址可發起轉賬交易但不能進行Exchange交易。Token全 局凍結期間,Token Owner對Token的操作不受影響。


鏈上治理

CoinEx Chain的驗證節點初始數量為42個,未達到驗證節點數量上限時,任何人都可以透過發出CreateValidator交易來建立驗證者。網路驗證節點數量達到上限後,驗證節點按質押的CET數量進行排序,選取質押量最高的42個驗證者。

社羣透過先提案、再投票的方式來達成社羣治理,驗證者可以替委託人投票,但是委託人也有權對驗證者的投票進行覆蓋重投。

投票時有四種選項:同意,棄權,反對,強烈反對: 

· 如果有大於1/3的人投強烈反對票,則提案失敗;
· 如果參與投票的質押代幣沒有達到所有質押代幣的40%,則提案失敗; 
· 如果非棄權票中有超過1/2同意票,則提案透過

投票統計相關的比例值,都由引數進行配置,後續會具備透過提案調整引數的能力。

發起提案後,社羣需要向相關提案質押10000個CET代幣以防止提案的濫用。提案透過後會退回給原充值帳戶地址。提案因以下情況不透過時,相關的質押金額會被沒收不再退回,沒收的質押金額由系統保留將來用於社羣激勵。

· 充值未達到10000個CET,說明社羣對此提案不感興趣或不支援
· 如果參與投票的質押代幣沒有達到所有質押代幣的40%,則提案失敗;
· 有大於1/3的人投強烈反對票

交易撮合

同主流的中心化交易所一樣,我們採用基於訂單簿的撮合方式,如下圖所示:


訂單簿包含賣單列表(AskList) 和買單列表(BidList) , 賣單被標記為綠色,買單被標記為紅色。賣單總是希望拉高價格,買單總是希望壓低價格。目前只支援限價單,不支援市價單。如果賣-和買一的價格沒有交叉的話,市場是沒有成交的。

AskList和BidList內部的組織方式是,先按照價格排序,價格更好的單排在最前面,有資格優先成交;而價格相同的訂單,更早被打包上鍊的,即年齡更大的,有資格優先成交。在圖中,價格越低的賣單在AskList中排列得最靠佇列頭(靠下),而價格越高的買單在BidList中排列得最靠佇列頭(靠上)。

當賣一和買一的價格有交 叉的時候,比賣一價格高的買單,以及比買一價格低的賣單,會先按價格後按年齡來排序,逐一成交。圖中紫色方塊所圈出的賣單和買單,都有資格參與排序,最終有可能成交。最終它們是否能全部成交, 還要看它們當中賣的總量和買的總量。

使用者可以透過NewOrder交易提交新的賣單或買單到訂單簿中,也可以隨時撤銷訂單簿中由自己發出的訂單。Good Till Expire (GTE)訂單和Immediate Or Cancel (10C) 訂單在過期後都會自動地從訂單簿中刪除。前者會在預設年齡達到之後的UTC時間午夜零點過期,預設年齡可以透過支付更多的功能費來延長。I0C訂單會在進入訂單簿之後的下一個區塊過期(即只有一次被撮合的機會)。

 鏈下撮合,訂單總是逐一被伺服器接受的,可以對它們按先來後到排出全序。在鏈上撮合最重要的不同點是,訂單是批次被打包上鍊的,對同一個區塊內部的訂單,無法對它們進行先來後到的排序。為了保證對同一個區塊內部的訂單一視同仁,我們採用“集合競價”的方式:每輪撮合,針對可以成交的所有買單和賣單,計算出一個單一的執行價格。決定執行價格的原則是:

1.使成交量最大化。

2.使剩餘量最小化。如果有超過一個的價格都能實現相同的交易量,則選擇剩餘量最小化的價格。剩餘量是指可接受執行價格的訂單中,殘餘下來未成交的數額。

3.市場壓力。如果多個價格都能滿足上述第1步和第2步的要求,那麼先確認目前市場對潛在價格的壓力是哪個方向的。如果剩餘量是正數,則買方壓力大,選擇更高的價格;如果剩餘量是負數,則賣方壓力大,選擇更低的價格。

4.當正的剩餘量和負的剩餘量同時存在時,以上一次成交時的執行價格為參考價格,選擇距離參考價格最近的價格。

無論是中心化交易所還是去中心化交易所,都需要應對搶先交易的問題。搶先交易是指藉助技術優勢或者市場優勢而預先獲知關於交易的資訊,提前預測成交價的變動並據此執行對自己有利的交易,這往往會使得市場的其他參與方蒙受損失。例如在中心化交易所場景下,交易所能夠看到更為全域性的交易資訊,從而在撮合交易之前,根據當前市場情況為自己炮製最優交易策略並優先成交自身交易以牟利。

CoinEx的DEX公鏈在設計上,天然地具有防止搶先交易的特性。首先,基於Tendermint的秒級出塊速度,使得進行搶先交易的時間視窗很小;其次,在P2P網路中,很難完整了解到究竟哪些訂單會被包括到下一個區塊中;再次,集合競價的價格生成機制,讓搶先的交易和同一個區塊內的其它交易相比,不具有明顯優勢。因此,普通使用者希望透過搶先交易牟利是非常困難的。

作為Validator,有權決定下一個區塊當中新增哪些訂單,它可以透過“審查攻擊”的方式,在區塊中包含自己專門]設計的訂單,而不包含那些同自己的訂單有衝突的訂單,以此來侵佔其它交易者的利益。但是,DEX上的所有資料和執行邏輯都是公開的,如果Validator頻繁地對他人的交易進行審查攻擊,同時插入並未經過全網P2P廣播的交易,那麼它的行為會很容易地被觀察到。這會損害它的信用,最終導致委託人撤銷對它的支援。

一項可能的改善是,透過“Commit- Reveal”機制,允許使用者選擇性地讓訂單的內容延遲揭示(例如延後2~3個塊),這樣當驗證者打包下一個區塊的時候無法看到當前交易系統所有的狀態,也使得想要構造能夠獲利的搶先交易更為困難。CoinEx團隊 會持續深入研究搶先交易問題,並在後續提供更為完善的解決方案。

總結

CoinEx Chain致力於打造下一代區塊鏈金融基礎設施,是為支援可程式設計現金而打造的一系列公鏈專案,目前的規劃中包含三條特定應用方向的公鏈:

1)支援去中心化交易功能的DEX公鏈;
2)支援智慧合約功能的Smart公鏈;
3)支援鏈上隱私保護功能的Privacy公鏈。

三條公鏈之間透過IBC鏈間通訊協議進行互聯互通,各司其職又相互配合提供完備的功能。

DEX公鏈透過資產上鍊、鏈上交易和鏈上撮合等功能,解決目前中心化交易所被廣泛詬病的安全性差、不透明等問題。透過將資產控制權歸還使用者、基於訂單簿的公平的鏈上撮合演算法、無需許可的上幣以及建立交易對的功能,DEX公鏈旨在構建透明、安全、無許可的自由金融平臺。底層的Tendermint共識提供的高TPS以及秒級交易確認的特性,能夠在最大程度上還原中心化交易所的體驗。

為了最大限度地提高交易處理效能,DEX公鏈選擇僅實現必要的功能。然而,功能更為豐富的金融應用依賴功能完備的智慧合約,而鏈上隱私保護也日益成為安全焦點。因此,在DEX公鏈之外,CoinEx團隊還將打造-條支援智慧合約功能的Smart公鏈以及支援鏈上隱私保護功能的Privacy公鏈: Smart公鏈為CoinEx Chain生 態提供智慧合約支援,為構建複雜的金融應用提供平臺; Privacy公鏈 基於最新的密碼學進展,例如Zether協議在賬戶 模型下提供交易金額、發起方以及接收方的資訊隱藏。

DEX公鏈、Smart公鏈以及Privacy公鏈不是相互隔離的孤島,透過基於中繼的跨鏈通訊解決方案實現互聯互通,功能互補。需要參與複雜金融合約的CET代幣可以透過DEX公鏈轉移到Smart公鏈,並在結束之後再轉回DEX公鏈。而需要參與代幣混淆的CET代幣也可以透過Privacy公鏈的隱私交易進行,並可以最終再返回DEX公鏈。這樣三條公鏈各司其職,在保證各自的交易處理速度和功能屬性之外,也可以聯合提供更為豐富更為安全的功能。在將來,CoinEx團隊也會根據社羣需求繼續打造特定應用的公鏈以進一步豐富CET的生態體系。

CoinEx團隊同時會對現有的技術基礎設施進行最佳化,這包括嘗試利用增量VDF機制改進基於PoS機制的公鏈的安全性,利用MuSig方案來改進多籤交易,減少鏈上空間佔用並增強多籤及交易的隱私屬性。利用聚合BLS簽名方案改進Tendermint共識協議的投票過程,減少投票資訊所佔用的鏈上儲存空間。另外,CoinEx團隊會透過閾值多方ECDSA簽名機制為使用者的私鑰保護提供更理想的解決方案。

關於更多CoinEx資訊:https://www.coinex.org/
更多區塊鏈專案介紹:http://www.qukuaiwang.com.cn/news/xiangmu
風險提示:區塊鏈投資具有極大的風險,專案披露可能不完整或有欺騙。請在嘗試投資前確定自己承受以上風險的能力。區塊網只做專案介紹,專案真假和價值並未做任何稽覈。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;