公鏈也稱“公有鏈”,即全世界任何人都可以隨時(shí)進(jìn)入到系統(tǒng)中讀取數(shù)據(jù)、發(fā)送可確認(rèn)交易、競(jìng)爭(zhēng)記賬的區(qū)塊鏈。它通常被認(rèn)為是“完全去中心化”的,因?yàn)闆](méi)有任何個(gè)人或者機(jī)構(gòu)可以控制或篡改其中數(shù)據(jù)的讀寫(xiě)。和私鏈相比,它在鏈上的節(jié)點(diǎn)是可控的。
公有鏈會(huì)通過(guò)代幣機(jī)制(Token)來(lái)鼓勵(lì)參與者競(jìng)爭(zhēng)記賬,來(lái)確保數(shù)據(jù)的安全性。從應(yīng)用上說(shuō),區(qū)塊鏈公有鏈包括 EOS、ETH、NEO 等。
目前,以太坊項(xiàng)目都依靠以太坊作為公有鏈,以太坊是一個(gè)全新開(kāi)放的區(qū)塊鏈平臺(tái),它允許任何人在平臺(tái)中建立和使用通過(guò)區(qū)塊鏈技術(shù)運(yùn)行的去中心化應(yīng)用。以太坊作為可編程的區(qū)塊鏈 ,允許用戶按照自己的意愿創(chuàng)建復(fù)雜的操作,可以作為多種類型去中心化區(qū)塊鏈應(yīng)用的平臺(tái)。
除金融類應(yīng)用外,任何對(duì)信任、安全和持久性要求較高的應(yīng)用場(chǎng)景,比如資產(chǎn)注冊(cè)、投票、管理和物聯(lián)網(wǎng)等 3.0 時(shí)代應(yīng)用,都會(huì)大規(guī)模地受到以太坊平臺(tái)影響。當(dāng)前公鏈面臨的最大問(wèn)題是安全和效率的矛盾,即如何在去中心化程度和高 TPS 兩者之間取得平衡。在此以ETH 和 EOS 之爭(zhēng)為例。
以太坊作為區(qū)塊鏈2.0,掀起了公鏈的熱潮。但其缺點(diǎn)也同樣難以回避。
1、網(wǎng)絡(luò)擁堵效率低:以太坊每秒只能支持 20 個(gè)交易,一個(gè)熱門(mén)應(yīng)用就能讓網(wǎng)絡(luò)卡死。
2、交易費(fèi)用高:目前 DApp 創(chuàng)建者每次對(duì)以太坊智能合約的調(diào)用花費(fèi)的 GAS 大概在1-3 美元。
3、擴(kuò)展性差:DApp 在以太坊上只能發(fā)幣,不能搭鏈,以太坊上的所有 DApp 應(yīng)用都只能共用一條主鏈,能支持的應(yīng)用場(chǎng)景也很少。
譽(yù)為區(qū)塊鏈 3.0 的 EOS 創(chuàng)始人 BM 對(duì)此和 Vitalik 進(jìn)行過(guò)論戰(zhàn)。前者批評(píng)以太坊網(wǎng)絡(luò)擁堵,技術(shù)停止發(fā)展,后者批評(píng) EOS 缺乏社區(qū)公平,安全性能低,易受到攻擊。區(qū)塊鏈的發(fā)展已有十年,目前公鏈項(xiàng)目眾多。知名的還有 Cardano、NEO、QTUM、BYTOM、Aeternity、Aelf、Zilliqa、Metropolis 等。總結(jié)其優(yōu)缺點(diǎn),可以發(fā)現(xiàn)驚人的相似。
目前市場(chǎng)主流公鏈存在的問(wèn)題
1. TPS 瓶頸
TPS 即系統(tǒng)吞吐量。其速率越高,所處理的速度越快,向來(lái)被認(rèn)為評(píng)判公鏈優(yōu)劣的第一指標(biāo)。而作為公鏈 1.0 的以太坊,其 TPS 運(yùn)轉(zhuǎn)較低,一直飽受爭(zhēng)議。自 EOS 打出高性能旗號(hào)后,普通公鏈的 TPS 數(shù)值在 1500 到 3000 之間。然而同比互聯(lián)網(wǎng),仍差距明顯。無(wú)法滿足更高的應(yīng)用場(chǎng)景,如電商、社交、支付等領(lǐng)域。
2. 單合約機(jī)制
智能合約是一種直接控制數(shù)字資產(chǎn)的電腦程序,由區(qū)塊鏈內(nèi)的多個(gè)用戶共同參與制定,可用于用戶之間的任何交易行為。協(xié)議中明確了雙方的權(quán)利和義務(wù),開(kāi)發(fā)人員將這些權(quán)利和義務(wù)以電子化的方式進(jìn)行編程,代碼中包含會(huì)觸發(fā)合約自動(dòng)執(zhí)行的條件。
當(dāng)交易達(dá)到觸發(fā)條件,區(qū)塊鏈便會(huì)根據(jù)已有的資料為這次交易生成合約,這個(gè)合約是區(qū)塊鏈的所有節(jié)點(diǎn)共同見(jiàn)證的,也就意味著這次交易是無(wú)法撤回、修改的。在區(qū)塊鏈社會(huì)里,大家共同維護(hù)一個(gè)區(qū)塊鏈賬本,所有交易數(shù)據(jù)無(wú)法篡改、不可偽造,還能減少人工對(duì)賬的出錯(cuò)概率和人力成本;而智能合約的出現(xiàn)和普及更是讓整個(gè)區(qū)塊鏈系統(tǒng)更加的智能,一切都交給代碼,這解放了人力也解決了信任問(wèn)題。
但智能合約的開(kāi)發(fā)十分困難,多數(shù)項(xiàng)目的單合約機(jī)制阻礙了技術(shù)人員的開(kāi)發(fā)熱情,讓他們花費(fèi)大量時(shí)間和精力去學(xué)習(xí)新的語(yǔ)言,不便于長(zhǎng)久發(fā)展。
3. 數(shù)據(jù)無(wú)法互通
在區(qū)塊鏈所面臨的諸多問(wèn)題中,區(qū)塊鏈之間的不互通性極大程度的限制了區(qū)塊鏈的應(yīng)用空間。不論對(duì)于公有鏈還是私有鏈,如何使用跨鏈技術(shù)解決數(shù)據(jù)孤島,是一個(gè)任重道遠(yuǎn)的問(wèn)題。
4. 缺少內(nèi)部框架
缺少統(tǒng)一框架的公鏈,無(wú)法為開(kāi)發(fā)者提供良好的工作環(huán)境。這意味著開(kāi)發(fā)者將花費(fèi)大量時(shí)間,去做重復(fù)的開(kāi)發(fā)工作,且由于缺少統(tǒng)一的標(biāo)準(zhǔn),影響開(kāi)發(fā)者效率。而針對(duì)以上問(wèn)題 ,我們開(kāi)發(fā)了基于 DCCY 公鏈的框架。
DCCY 技術(shù)架構(gòu)及共識(shí)算法
1.DCCY 共識(shí)機(jī)制
DCCY 采用 DPoS 共識(shí)機(jī)制,一共有 21 個(gè)超級(jí)節(jié)點(diǎn)。
“超級(jí)節(jié)點(diǎn)”是區(qū)塊鏈平臺(tái)實(shí)現(xiàn)社區(qū)化運(yùn)營(yíng)的重要合作伙伴,其主要職責(zé)是為節(jié)點(diǎn)的有效運(yùn)行提供必要的硬件資源,并參與區(qū)塊鏈平臺(tái)的業(yè)務(wù)開(kāi)拓與構(gòu)建,協(xié)助區(qū)塊鏈平臺(tái)對(duì)申請(qǐng)接入的業(yè)務(wù)項(xiàng)目進(jìn)行專業(yè)的投票和點(diǎn)評(píng),同時(shí)享受有關(guān)獎(jiǎng)勵(lì)與收益。
這些超級(jí)節(jié)點(diǎn)一般是由交易所和投資機(jī)構(gòu)組成。如果出塊者錯(cuò)過(guò)一個(gè)區(qū)塊,并且在最近24 小時(shí)內(nèi)未產(chǎn)生任何區(qū)塊,則這個(gè)出塊者被刪除,確保網(wǎng)絡(luò)順利進(jìn)行。
由 DPoS 共識(shí)算法維護(hù)的區(qū)塊鏈出塊者都是 100%在線的。交易進(jìn)行都會(huì)被寫(xiě)入?yún)^(qū)塊鏈中,同時(shí)被所有出塊節(jié)點(diǎn)知曉。這意味著只需要 500ms,一筆交易便可被 99.9%區(qū)塊鏈接收,成功完成。
2. 雙合約機(jī)制
2.1 DCCY 的雙合約
為了降低開(kāi)發(fā)者的開(kāi)發(fā)難度,DCCY 公鏈采用了雙合約機(jī)制。開(kāi)發(fā)者可以使用JavaScript 和 C++進(jìn)行編程開(kāi)發(fā)。這樣便于開(kāi)發(fā)者輕松便捷使用,吸引他們的加入。
2.2 關(guān)于 C++
C++由 Bjarne Stroustrup 創(chuàng)造,屬于 C 語(yǔ)言的補(bǔ)充,旨在進(jìn)一步提升效率與靈活性,不過(guò)二者之間仍然存在著不少關(guān)鍵性區(qū)別。
首先,C 與 C++之間的最大差異,在于前者面向過(guò)程,而后者面向?qū)ο蟆F浯危?C++當(dāng)中,函數(shù)與數(shù)據(jù)被捆綁在一個(gè)名為“objects”的小包當(dāng)中,因此可以作為對(duì)象供其它程序輕松調(diào)用,這無(wú)疑大大減少了編碼時(shí)間。除此之外,C++語(yǔ)言還提供高效的資源管理與出色的內(nèi)存控制機(jī)制,能讓開(kāi)發(fā)人員能夠快速熟悉計(jì)算機(jī)的底層硬件。
目前,C++已成為最常使用的編程語(yǔ)言之一,適用于各種高強(qiáng)度開(kāi)發(fā)任務(wù),尤其是在計(jì)算機(jī)圖形與嵌入式系統(tǒng)等開(kāi)發(fā)場(chǎng)景。而區(qū)塊鏈?zhǔn)冀K要求用戶與礦工同步且系統(tǒng)地實(shí)現(xiàn)協(xié)調(diào)與操作。在智能合約中,C++創(chuàng)建的應(yīng)用程序不僅能夠與端點(diǎn)協(xié)調(diào),同時(shí)也能快速執(zhí)行各端點(diǎn)間的交互。
2.3 關(guān)于 JavaScript
根據(jù) 2018 年托管與軟件開(kāi)發(fā)網(wǎng)站 Github 調(diào)查顯示,JavaScript 是網(wǎng)站當(dāng)前使用比例最高的語(yǔ)言。作為全球 WEB 開(kāi)發(fā)的核心技術(shù)。JavaScript 中包含一系列庫(kù)與框架,例如jQuery、React、Angular 以及 Node 等。且由于 JavaScript 在管理異步操作方面擁有出色的能力,因此成為區(qū)塊鏈開(kāi)發(fā)中的理想替代性方案。在實(shí)際落地中,JavaScript 能夠輕松管理部署不同位置、不同區(qū)塊鏈節(jié)點(diǎn)之間的通信。
3. 完善的公鏈框架
一個(gè)完善友好的公鏈框架,可以幫助開(kāi)發(fā)者減少大量開(kāi)發(fā)時(shí)間。在這點(diǎn)上 DCCY 充分考慮到了開(kāi)發(fā)者的需求。DCCY 具備可供商用的框架,能極大提高開(kāi)發(fā)者的效率。
4. 支持跨鏈
當(dāng)前公鏈?zhǔn)欠裰С挚珂溡呀?jīng)成為評(píng)判其優(yōu)劣標(biāo)準(zhǔn)。任何一個(gè)公鏈,如果它不支持跨鏈,那么它的應(yīng)用場(chǎng)景就會(huì)大大縮小,而 DCCY 支持 BTC,ETH 之間的跨鏈,極大豐富了應(yīng)用場(chǎng)景。落地在去中心化交易所上,DCCY 公鏈能夠有效縮減項(xiàng)目成本。
5. 區(qū)塊以及 TPS
DCCY 采用 DPoS 共識(shí)機(jī)制,為了保證其 TPS,對(duì)于區(qū)塊的重要參數(shù)如下:
出塊速度為每 500 毫秒產(chǎn)生 1 個(gè)。DCCY 目前的 TPS 達(dá)到了每秒 4000 以上,滿足 95%以上的應(yīng)用場(chǎng)景。
當(dāng)前生產(chǎn)節(jié)點(diǎn):DCCY 有 21 個(gè)創(chuàng)世節(jié)點(diǎn),參數(shù)表明當(dāng)前這個(gè)區(qū)塊歸屬節(jié)點(diǎn)。
當(dāng)前區(qū)塊:我們會(huì)對(duì)每一個(gè)區(qū)塊鏈打上標(biāo)簽,排上序號(hào),并且用時(shí)間戳將當(dāng)前區(qū)塊鏈的前后兩個(gè)區(qū)塊聯(lián)系在一起。這樣即使黑客攻擊,也無(wú)所畏懼。因?yàn)殒溕蠑?shù)據(jù)無(wú)法被篡改,信息始終真實(shí)記錄。
不可逆轉(zhuǎn)區(qū)塊鏈:這是已記錄的數(shù)據(jù)并且并入主鏈的區(qū)塊鏈。
內(nèi)存價(jià)格:基于 DCCY 開(kāi)發(fā)應(yīng)用,需要內(nèi)存啟動(dòng)。內(nèi)存可以使用 DCCY 公鏈代幣購(gòu)買(mǎi),價(jià)格浮動(dòng)。
CPU 抵押價(jià)格:DCCY 處理系統(tǒng)的每一筆交易都有固定的計(jì)算帶寬成本,不管它是耗費(fèi) 01ms 還是 10ms 來(lái)處理它。
當(dāng)一個(gè)區(qū)塊生成者發(fā)現(xiàn)一個(gè)交易或賬戶已經(jīng)消耗了大量的計(jì)算能力時(shí),他們會(huì)生成自己的塊時(shí)拒絕該交易;但是如果其他區(qū)塊生成者認(rèn)為它是有效的,他們?nèi)匀粫?huì)處理該交易。
系統(tǒng)架構(gòu)說(shuō)明
1. 節(jié)點(diǎn)
1.1 合約引擎
DCCY 提供了多種形式的合約引擎,支持 C++以及 JS 雙合約引擎。DCCY 底層架構(gòu)不僅包括通信協(xié)議、分布式賬本、哈希算法和應(yīng)用 API,還有一個(gè)重要的構(gòu)成——智能合約引擎層。可以說(shuō)智能合約為 DCCY 區(qū)塊鏈的去中心化帶來(lái)關(guān)鍵性的作用。
所謂智能合約,是一種旨在以信息化方式傳播、驗(yàn)證或執(zhí)行合同的計(jì)算機(jī)協(xié)議。智能合約允許在沒(méi)有第三方的情況下進(jìn)行可信任交易,這些交易可追蹤且不可逆轉(zhuǎn)。在 DCCY 區(qū)塊鏈的世界中,智能合約是區(qū)塊鏈上的代碼,只要某個(gè)事件觸發(fā)了合約中設(shè)定的條款,智能合約就會(huì)強(qiáng)制自動(dòng)執(zhí)行。
例如,假設(shè)你要前往一個(gè)地方度假,可通過(guò)區(qū)塊鏈租房平臺(tái)完成這個(gè)操作,在到達(dá)入住之前,區(qū)塊鏈?zhǔn)窃鯓犹幚碇悄芎霞s?
處理智能合約分五個(gè)步驟:
1、與房東共同制定一份智能合約,明確雙方的權(quán)利與義務(wù),確定價(jià)格和具體要求,然后過(guò)編程設(shè)定觸發(fā)合約自動(dòng)執(zhí)行的代碼。若合約規(guī)定在某年某月前收到某個(gè)額度的房租,另一方會(huì)自動(dòng)向房客發(fā)送房屋門(mén)的隨機(jī)密碼。
2、將智能合約上傳到鏈上,讓全網(wǎng)共同見(jiàn)證。
3、智能合約會(huì)定期檢查,一旦觸發(fā)執(zhí)行合約的條件允許,將自動(dòng)執(zhí)行。
4、合約條件一經(jīng)被觸發(fā),區(qū)塊鏈驗(yàn)證節(jié)點(diǎn)會(huì)進(jìn)行簽名驗(yàn)證。經(jīng)大部分節(jié)點(diǎn)的驗(yàn)證達(dá)成共識(shí),事件被正式執(zhí)行,自動(dòng)發(fā)送打開(kāi)屋門(mén)的隨機(jī)密碼。
5、成功執(zhí)行的合約移出區(qū)塊,未執(zhí)行的合約繼續(xù)等待下一輪處理,直至成功。
智能合約就像現(xiàn)實(shí)生活里的法官和仲裁人,只要雙方同意合約,一旦觸發(fā)執(zhí)行條件,就會(huì)進(jìn)行不可逆轉(zhuǎn)的運(yùn)作。就使得無(wú)信任的雙方乃至多方進(jìn)行交易,避免約定事宜被拒絕執(zhí)行的問(wèn)題。
在 DCCY 區(qū)塊鏈上,對(duì)于每一個(gè)智能合約,視為鏈上資產(chǎn)進(jìn)行全壽期管理,在設(shè)計(jì)、部署、使用、注銷等過(guò)程中建立完整可控的流程管理,并集成管理權(quán)限機(jī)制對(duì)智能合約的各項(xiàng)細(xì)節(jié)提升安全層級(jí)。
整體來(lái)說(shuō),DCCY 區(qū)塊鏈將提供兩種合約形式,一類屬于標(biāo)準(zhǔn)化合約,對(duì)于應(yīng)用場(chǎng)景較簡(jiǎn)單、標(biāo)準(zhǔn)化程度高提供智能合約模板數(shù)據(jù)庫(kù),無(wú)需編程也可;另一類針對(duì)復(fù)雜應(yīng)用場(chǎng)景,DCCY 則提供多元組件鼓勵(lì)用戶快速編程建構(gòu)。
DCCY 智能合約不僅發(fā)揮其在成本效率方面的優(yōu)勢(shì),而且避免了惡意行為對(duì)合約正常執(zhí)行的干擾。將智能合約以數(shù)字化的形式寫(xiě)入 DCCY 區(qū)塊鏈中,由 DCCY 區(qū)塊鏈技術(shù)的特性保障存儲(chǔ)、讀取、執(zhí)行整個(gè)過(guò)程透明可跟蹤、不可攥改。同時(shí),由 DCCY 區(qū)塊鏈自帶的共識(shí)算法構(gòu)建出一套狀態(tài)機(jī)系統(tǒng),使得智能合約能夠高效地運(yùn)行。
1.2 C++合約引擎
智能合約不同語(yǔ)言的客戶端實(shí)現(xiàn)可以滿足不同的需求(例如 Haskell 實(shí)現(xiàn)的目標(biāo)是可以被數(shù)學(xué)驗(yàn)證),豐富整個(gè)生態(tài)系統(tǒng)。而 DCCY 使用 C++合約引擎的智能合約,可以帶來(lái)更高更強(qiáng)的加密性,同時(shí)滿足 ECC 和國(guó)密加密標(biāo)準(zhǔn)。
1.3 JS 合約引擎
DCJS 作為新興的開(kāi)發(fā)框架,完全顛覆了 NODEJS 的舊有范式,給 JS 帶來(lái)了新的生態(tài)。而基于 DCJS 這一高效 JS 合約引擎運(yùn)行時(shí),可以更高效的使用 JS 語(yǔ)言來(lái)開(kāi)發(fā)智能合約。
2. 協(xié)同層
2.1 去中心化跨鏈
在區(qū)塊鏈所面臨的諸多問(wèn)題中,區(qū)塊鏈之間互通性極大程度的限制了區(qū)塊鏈的應(yīng)用空間。不論對(duì)于公有鏈還是私有鏈來(lái)看,跨鏈技術(shù)就是實(shí)現(xiàn)價(jià)值互聯(lián)網(wǎng)的關(guān)鍵,它是把區(qū)塊鏈從分散的孤島中拯救出來(lái)的良藥,是區(qū)塊鏈向外拓展和連接的橋梁。
截至目前,主流的區(qū)塊鏈跨鏈技術(shù)方案按照其具體的實(shí)現(xiàn)方式主要分為三大類,分別是公證人機(jī)制、側(cè)鏈 / 中繼和哈希鎖定。
公證人機(jī)制(Notary schemes):公證人也稱見(jiàn)證人機(jī)制,公證人機(jī)制本質(zhì)上是一種中介的方式。具體而言,假設(shè)區(qū)塊鏈 A 和 B 本身是不能直接進(jìn)行互操作的,那么他們可以引入一個(gè)共同信任的第三方作為中介,由這個(gè)共同信任的中介進(jìn)行跨鏈消息的驗(yàn)證和轉(zhuǎn)發(fā)。公證人機(jī)制的優(yōu)點(diǎn)在于能夠靈活地支持各種不同結(jié)構(gòu)的區(qū)塊鏈(前提是公證人能夠訪問(wèn)相關(guān)方的鏈上信息),缺點(diǎn)在于存在中心化風(fēng)險(xiǎn)。
側(cè)鏈 / 中繼鏈(Sidechains / Relays):側(cè)鏈?zhǔn)侵竿耆珦碛心虫湹墓δ艿牧硪粭l區(qū)塊鏈,側(cè)鏈可以讀取和驗(yàn)證主鏈上的信息。主鏈不知道側(cè)鏈的存在,由側(cè)鏈主動(dòng)感知主鏈信息并進(jìn)行相應(yīng)的動(dòng)作。而中繼鏈則是側(cè)鏈和公證人機(jī)制的結(jié)合體,中繼鏈具有訪問(wèn)需要和驗(yàn)證進(jìn)行互操作的鏈的關(guān)鍵信息并對(duì)兩條鏈的跨鏈消息進(jìn)行轉(zhuǎn)移。從這個(gè)角度看中繼鏈也是一種去中心的公證人機(jī)制。
哈希鎖定(Hash-locking):哈希鎖定技術(shù)主要是支持跨鏈中的原子資產(chǎn)交換,最早起源自比特幣的閃電網(wǎng)絡(luò)。其典型實(shí)現(xiàn)是哈希時(shí)間鎖定合約 HTLC (Hashed TimelockContract)。哈希鎖定的原理是通過(guò)時(shí)間差和隱藏哈希值來(lái)達(dá)到資產(chǎn)的原子交換。哈希鎖定只能做到交換而不能做到資產(chǎn)或者信息的轉(zhuǎn)移,因此其使用場(chǎng)景有限。
哈希時(shí)間鎖定(HTLC)最早出現(xiàn)在比特幣的閃電網(wǎng)絡(luò),跨鏈資產(chǎn)交換支持一定數(shù)量的 A鏈資產(chǎn)和一定數(shù)量的 B 鏈資產(chǎn)進(jìn)行原子交換。哈希時(shí)間鎖定巧妙地采用了哈希鎖和時(shí)間鎖,迫使資產(chǎn)的接收方在 deadline 內(nèi)確定收款并產(chǎn)生一種收款證明給打款人,否則資產(chǎn)會(huì)歸還給打款人。收款證明能夠被付款人用來(lái)獲取接收人區(qū)塊鏈上的等量?jī)r(jià)值的數(shù)量資產(chǎn)或觸發(fā)其他事件給與保證。
我們用一個(gè)例子來(lái)闡述如何使用哈希時(shí)間鎖定進(jìn)行跨鏈的原子資產(chǎn)交換,假設(shè) Alice和 Bob 有資產(chǎn)交換的需求,Alice 想用 1 個(gè) BTC 和 Bob 換 20 個(gè) ETH. 那么首先需要在兩條鏈上設(shè)置哈希時(shí)間鎖定合約,然后執(zhí)行如下步驟:
(1)Alice 隨機(jī)構(gòu)建一個(gè)字符串 s,并計(jì)算出其哈希 h = hash(s);
(2)Alice 將 h 發(fā)送給 Bob 的合約;
(3)Alice 鎖定自己的 1 個(gè) BTC 資產(chǎn),并設(shè)置一 個(gè)較長(zhǎng)的鎖定時(shí)間 t1, 并設(shè)置了獲取該 BTC 的一個(gè)條件:誰(shuí)能夠提供 h 的原始值 s 就可以得到該 BTC;
(4)Bob 觀察到 Alice 合約中鎖定了一個(gè) BTC, 然后 Bob 鎖定自己的 20 個(gè) ETH 資產(chǎn),并設(shè)置一個(gè)相對(duì)較短的鎖定時(shí)間 t2, t2 《 t1, Bob 也設(shè)置了同樣獲取條件(誰(shuí)提供 h 的原始值 s 就可以獲取 20 個(gè) ETH);
(5)Alice 將自己最初生成的字符串 s 發(fā)送到 Bob 的合約里取得了 20 個(gè) ETH;
(6)Bob 觀察到步驟 5 中 Alice 的 s 值,將其發(fā)送給 Alice 的合約成功獲取 1 個(gè) BTC;至此 Alice 和 Bob 完成了資產(chǎn)的交換。
哈希鎖定的思想運(yùn)用在支付領(lǐng)域較多,例如閃電網(wǎng)絡(luò)、雷電網(wǎng)絡(luò)以及跨鏈資產(chǎn)轉(zhuǎn)移協(xié)議Interledger 等。但是哈希鎖定目前看只適合偏資產(chǎn)或者關(guān)鍵數(shù)據(jù)的交換。DCCY 公鏈最大的應(yīng)用行業(yè)就是支付以及穩(wěn)定幣,因此,采用哈希鎖定技術(shù)實(shí)現(xiàn)跨鏈,是所有跨鏈技術(shù)中,最合適的一種。
跨鏈優(yōu)勢(shì):
1、跨鏈機(jī)制引入智能合約和礦工角色,實(shí)現(xiàn)真正去中心化鏈。
2、無(wú)準(zhǔn)入限制,任何人都可以成為礦工,參與完成數(shù)字貨幣跨鏈。
3、基于智能合約,無(wú)中心化風(fēng)險(xiǎn),跨鏈無(wú)需任何人為參與,可信。
2.2 鏈下智能合約
鏈下智能合約即利用在區(qū)塊鏈典型邊界外獲得的邏輯來(lái)增強(qiáng)智能合約,同時(shí)仍然保留界定區(qū)塊鏈網(wǎng)絡(luò)的信任和透明性。在利用區(qū)塊鏈技術(shù)的業(yè)務(wù)網(wǎng)絡(luò)中,事務(wù)都是依據(jù)智能合約中包含的規(guī)則來(lái)執(zhí)行的。智能合約采用一種編程語(yǔ)言進(jìn)行編碼并部署到區(qū)塊鏈運(yùn)行平臺(tái)。
然而,在某些情況下,智能合約可能不具備完成事務(wù)處理所需的全部知識(shí)。例如,智能合約需要在運(yùn)行時(shí)從外部系統(tǒng)獲取易變的信息(比如股票價(jià)格、信息變動(dòng))等。因此若將一些計(jì)算量大的業(yè)務(wù)放在鏈下服務(wù)中執(zhí)行,提交運(yùn)行結(jié)果至鏈上存證,可以應(yīng)對(duì)更多情況,充分落地各方應(yīng)用場(chǎng)景。
2.3 數(shù)據(jù)協(xié)同
區(qū)塊鏈的不可篡改性、對(duì)數(shù)據(jù)的保護(hù)性都使得它完美應(yīng)用于數(shù)據(jù)協(xié)同。DCCY 協(xié)同管理系統(tǒng)以數(shù)據(jù)協(xié)同管理、數(shù)據(jù)安全管理、數(shù)據(jù)標(biāo)準(zhǔn)化管理為核心,實(shí)現(xiàn)數(shù)據(jù)生成、數(shù)據(jù)傳輸、數(shù)據(jù)交換與存儲(chǔ)的全過(guò)程校驗(yàn)、稽核和審計(jì),保證數(shù)據(jù)源安全,為公鏈建設(shè)提供技術(shù)和服務(wù)保障,實(shí)現(xiàn)鏈上鏈下數(shù)據(jù)的同步處理。
3. 應(yīng)用層
3.1 去中心化資產(chǎn)交易
1.創(chuàng)新式將 Order Book(交易委托賬本)和算法交易模式結(jié)合。
2.支持 Uniswap 和 Bancor 兩種算法交易模型。
3.不收取上幣費(fèi)用,有效降低項(xiàng)目方準(zhǔn)入門(mén)檻。
4.交易完成資產(chǎn)即時(shí)到賬,快速交易無(wú)資產(chǎn)風(fēng)險(xiǎn)。
3.2 去中心化用戶管理
密鑰托管:分為用戶安全成分、密鑰托管成分與數(shù)據(jù)恢復(fù)成分 3 個(gè)部分,最大程度保護(hù)用戶密鑰安全。
OpenID 去中心化身份驗(yàn)證:以用戶為中心的數(shù)字身份識(shí)別框架,它具有開(kāi)放性、分散性,有效優(yōu)化了用戶身份驗(yàn)證流程。
3.3 隱私計(jì)算
安全共享:提供可靠的隱私保護(hù)機(jī)制,保證敏感源數(shù)據(jù)不出庫(kù)及隱私數(shù)據(jù)安全交換,并引入 TEE 進(jìn)一步保證多方計(jì)算的隱私安全。
可信存儲(chǔ):通過(guò)維護(hù)可驗(yàn)證結(jié)構(gòu)實(shí)現(xiàn)數(shù)據(jù)確權(quán)。
透明監(jiān)管:鏈上授權(quán)和記錄、鏈下數(shù)據(jù)交換,基于區(qū)塊鏈進(jìn)行細(xì)粒度權(quán)限控制,交換記錄上鏈,保證后期不可篡改且可追溯審計(jì)。
4. 解決方案
4.1 DeFi 去中心化金融
去中心化金融或者 DeFi 是一種開(kāi)源技術(shù),旨在通過(guò)引入去中心化層來(lái)去中介化,消除尋租中間人,融合各項(xiàng)服務(wù),從而改善目前的金融體系。其當(dāng)前主要應(yīng)用場(chǎng)景包括:
穩(wěn)定幣市場(chǎng):目前大部分穩(wěn)定幣在以太坊網(wǎng)絡(luò)上發(fā)行,價(jià)值和美元掛鉤。在 2019 年上半年,穩(wěn)定幣交易量一直呈穩(wěn)步增長(zhǎng)之勢(shì),04 月份后,伴隨著加密貨幣價(jià)格的回升,穩(wěn)定幣市場(chǎng)進(jìn)一步加速增長(zhǎng)。據(jù) DAppTotal 統(tǒng)計(jì),僅 06 月 30 日單日,穩(wěn)定幣的鏈上總交易量就達(dá)到了 8.59 億美元,這意味著,總流通量 50 億美元的穩(wěn)定幣市場(chǎng),平均每 5、6 天就會(huì)買(mǎi)賣(mài)換手一次。
去中心化借貸市場(chǎng):去中心化借貸市場(chǎng)還處于早期發(fā)展階段,僅有兩年的歷史,但其發(fā)展速度卻很快。據(jù) DApp Total 統(tǒng)計(jì),截至目前,借貸市場(chǎng)貸出最多的加密資產(chǎn)分別為:DAI 和 WETH,六月份的借貸總額(貸出+借入)是 5.44 億美元,較一月份的 3,400 萬(wàn)美元,增長(zhǎng)了 16 倍。去中心化交易所(DEX):和中心化交易所相比,去中心化交易所的整體市場(chǎng)規(guī)模較小。其主要優(yōu)勢(shì)價(jià)值在于透明性和安全性,而不足之處在于發(fā)展速度和市場(chǎng)流通性。目前DEX 上流通的主要是中心化交易所未上線的幣種。據(jù) DAppTotal 統(tǒng)計(jì),過(guò)去半年內(nèi) DEX的月總交易額保持穩(wěn)步增長(zhǎng),1 月份為 7,100 萬(wàn)美元,六月份增長(zhǎng)至 2.88 億美元。
目前,DCCY 以分布式共享記賬,互助協(xié)作、全網(wǎng)記賬等技術(shù)為基礎(chǔ),共識(shí)算法、透明記錄為輔,構(gòu)建全新普惠式的信用體系。
隨著去中心化金融市場(chǎng)規(guī)模的日益增長(zhǎng),相信 DCCY 能夠發(fā)揮公鏈優(yōu)勢(shì),打通傳統(tǒng)金融的禁錮,去除舊有模式中存在的風(fēng)險(xiǎn)、低效、不安全等問(wèn)題,衍生出去中心化、透明度高、費(fèi)用低的全新生態(tài)環(huán)境。
4.2 大數(shù)據(jù)交易
基于區(qū)塊鏈技術(shù)和鏈下 P2P 網(wǎng)絡(luò)構(gòu)建跨機(jī)構(gòu)的可信數(shù)據(jù)交換環(huán)境,實(shí)現(xiàn)敏感隱私數(shù)據(jù)不出庫(kù),降低數(shù)據(jù)提供方與需求方的協(xié)作成本,同時(shí)對(duì)數(shù)據(jù)共享進(jìn)行細(xì)粒度的權(quán)限控制,并保證后期可追溯確權(quán),符合真實(shí)生產(chǎn)環(huán)境的安全性訴求,促進(jìn)產(chǎn)業(yè)互聯(lián)網(wǎng)和數(shù)字經(jīng)濟(jì)領(lǐng)域的協(xié)同創(chuàng)新。
5. 鏈下原子交易
DCCY 系統(tǒng)采用 HTLC(哈希鎖合同),即在預(yù)設(shè)鎖定時(shí)間前呈現(xiàn)初始密鑰可以花費(fèi)資金。為了深入了解這一方案,我們先來(lái)看下基于閃電網(wǎng)絡(luò)的事務(wù)流程。首先,接收方節(jié)點(diǎn)生成密鑰并計(jì)算哈希值。之后,將該哈希值發(fā)送到發(fā)送方節(jié)點(diǎn)作為 HTLC 生成的基礎(chǔ)。
發(fā)送方生成合約并將其發(fā)送到節(jié)點(diǎn) A,即路徑上下一個(gè)節(jié)點(diǎn),該節(jié)點(diǎn)用遞減的時(shí)間鎖創(chuàng)建新合同(使用相同的哈希值)。這個(gè)新生成的合同由節(jié)點(diǎn) A 沿著路徑發(fā)送到節(jié)點(diǎn) B,然后節(jié)點(diǎn) B 重復(fù)相同操作并繼續(xù)縮短時(shí)間鎖。合約一路前進(jìn)到接收方,由接收方通過(guò)自己一開(kāi)始就生成的密鑰簽名釋放資金(解鎖支付),然后從發(fā)出合約的節(jié)點(diǎn)處獲得資金。
反過(guò)來(lái),這一動(dòng)作向最靠近發(fā)送發(fā)的節(jié)點(diǎn)揭示密鑰,并授權(quán)解鎖支付并接收資金,然后再向前一節(jié)點(diǎn)出示密鑰。整個(gè)路徑重復(fù)這一過(guò)程后,每個(gè)節(jié)點(diǎn)都收到了付款,至此支付完成。所以,造成節(jié)點(diǎn)丟錢(qián)的唯一因素就是它無(wú)法趕在時(shí)間鎖的時(shí)限內(nèi)簽名釋放資金,比如在接收到密鑰后就離線。
DCCY 公鏈代幣:DCCY
1. DCCY 發(fā)行
DCCY 是一種系統(tǒng)的管理型貨幣和效用代幣,是用戶進(jìn)行投資的主要代幣。DCCY 支付的主要場(chǎng)景是支付基于DCCY公鏈發(fā)行的一籃子穩(wěn)定幣的交易費(fèi)率,因此在消費(fèi)者對(duì)一籃子穩(wěn)定幣的需求下,由于DCCY的市場(chǎng)發(fā)行數(shù)量是固定的,且對(duì)于同一DCCY,在償還完穩(wěn)定幣費(fèi)率之后需要進(jìn)行銷毀,因此市場(chǎng)中的DCCY供應(yīng)量是降低的,因此DCCY具有一定的增值空間,其主要的支付場(chǎng)景一是直接支付穩(wěn)定幣費(fèi)率,二是作為名義上的穩(wěn)定幣費(fèi)率計(jì)價(jià)單位。
2. DCCY 錢(qián)包
2.1 DCCY 錢(qián)包基礎(chǔ)架構(gòu)
DCCY 雙鏈錢(qián)包采用 DCJS + Golang 雙后端設(shè)計(jì)。其中 DCJS 后端主要處理去中心化DCCY 公鏈交互相關(guān)事務(wù),如賬戶注冊(cè),私鑰導(dǎo)出,充提幣,CPU/NET 質(zhì)押,RAM 購(gòu)買(mǎi)出售,投票。Golang 后端主要處理中心化 BTC 錢(qián)包,賬戶體系(私鑰為根基,按賬戶名綁定推薦關(guān)系),DCCY 競(jìng)拍系統(tǒng)及獎(jiǎng)金池發(fā)放。
2.2 賬戶注冊(cè)及私鑰導(dǎo)出
DCCY 錢(qián)包賬戶注冊(cè)直接連通 DCCY 主節(jié)點(diǎn)進(jìn)行公鑰簽名,生成對(duì)應(yīng)私鑰完全由用戶控制,可導(dǎo)出,全網(wǎng)可查用,可在任何支持 DCCY 公鏈的錢(qián)包客戶端使用私鑰恢復(fù)錢(qián)包。
2.3 充提幣
DCCY 錢(qián)包賬戶支持 DCCY 及基于 DCCY 公鏈發(fā)行的各類代幣充提幣,充提幣使用登陸賬戶私鑰進(jìn)行簽名,初期使用 0 手續(xù)費(fèi)率設(shè)置。
2.4 CPU/NET 質(zhì)押,RAM 購(gòu)買(mǎi)出售
CPU 原是指電腦的中央處理器,在 DCCY 系統(tǒng)中,CPU 是指 DCCY 系統(tǒng)處理操作指令所需的時(shí)間,CPU 的單位是時(shí)間,常用 ms 毫秒。NET 原是電腦網(wǎng)絡(luò)的意思,在 DCCY系統(tǒng)中,NET 是 DCCY 系統(tǒng)中傳輸數(shù)據(jù)的大小,單位是 KB。RAM 原是指電腦內(nèi)存,在 DCCY系統(tǒng)中,你的帳戶余額等數(shù)據(jù)需要存儲(chǔ)在 DCCY 系統(tǒng)中,RAM 就是存儲(chǔ)賬戶數(shù)據(jù)所占用的DCCY 系統(tǒng)的存儲(chǔ)空間。RAM 的單位常用的是 KB。
例如:某賬戶相關(guān)信息數(shù)據(jù)假設(shè)是 50KB 大小,就要提前購(gòu)買(mǎi)至少 50KB 的 RAM 來(lái)存儲(chǔ)賬戶信息。若某賬戶要給另一個(gè)賬戶轉(zhuǎn)賬,DCCY 公鏈處理該轉(zhuǎn)賬指令需耗費(fèi) 1ms 時(shí)間,就要提前抵押 DCCY 換取至少 1ms 的 CPU。同時(shí),某賬戶發(fā)出的轉(zhuǎn)賬指令也是數(shù)據(jù),需要占用 DCCY 的網(wǎng)絡(luò)資源,假設(shè)為 1KB,就要提前抵押 DCCY 換取至少 1KB 的 NET。
2.5 投票機(jī)制
比特幣和以太坊采用 POW(工作量證明機(jī)制),進(jìn)行挖礦計(jì)算以獲得出塊權(quán)利并獲得出塊獎(jiǎng)勵(lì)。而 DCCY 采用 DPoS 的共識(shí)算法,DCCY 節(jié)點(diǎn)是由 DCCY 持有者通過(guò)投票的方式選出 21 個(gè)出塊節(jié)點(diǎn)(也稱超級(jí)節(jié)點(diǎn)),由這 21 個(gè)超級(jí)節(jié)點(diǎn)來(lái)進(jìn)行交易的接收、驗(yàn)證和確認(rèn),并將交易打包成區(qū)塊,然后加入到 DCCY 區(qū)塊鏈中。
在 DCCY 網(wǎng)絡(luò)中,前 21 個(gè)節(jié)點(diǎn)被設(shè)定為出塊節(jié)點(diǎn),其他的節(jié)點(diǎn)設(shè)定為備用節(jié)點(diǎn)。DCCY的節(jié)點(diǎn)維護(hù)著 DCCY 網(wǎng)絡(luò)安全和健康運(yùn)行。DCCY 錢(qián)包內(nèi)置投票功能,一個(gè)賬號(hào)最多可以為 30 個(gè)節(jié)點(diǎn)投票。投票需要一個(gè)抵押的過(guò)程,在進(jìn)行投票時(shí)需要把賬號(hào)之中的 DCCY 進(jìn)行抵押鎖定,轉(zhuǎn)換成 CPU+NET 的資源,換取對(duì)應(yīng)的選舉票,即換算成為對(duì)應(yīng)的一個(gè)投票權(quán)重分劃分。
例如:某賬號(hào)中總共有 1000 個(gè) DCCY,其中 500 個(gè) DCCY 是處于抵押狀態(tài)的。某賬戶可以選擇投票給最多三十個(gè)認(rèn)可的節(jié)點(diǎn)。得到投票的每個(gè)節(jié)點(diǎn),都得到了對(duì)應(yīng)的 500 票。而抵押的這些 DCCY 代幣在短期內(nèi)無(wú)法進(jìn)行轉(zhuǎn)賬,這個(gè)抵押的行為其實(shí)可以看作是一次短暫的鎖倉(cāng)。而鎖倉(cāng),則意味著市場(chǎng)上 DCCY 的流通量減少了。每個(gè)賬戶投票三十次與投票一次相比,前者的風(fēng)險(xiǎn)更小,尤其是在區(qū)塊鏈被少數(shù)賄選節(jié)點(diǎn)控制的風(fēng)險(xiǎn)方面。
3. 錢(qián)包中心化功能
3.1 BTC 錢(qián)包
錢(qián)包內(nèi)支持賬戶擁有可用于充幣的 BTC 錢(qián)包地址(不提供私鑰),此地址僅用于 BTC充幣,充幣到賬后顯示為用戶 BTC 錢(qián)包余額,可用于進(jìn)行提幣及 DCCY 競(jìng)拍操作。
3.2 賬戶體系
使用去中心化的 DCCY 賬戶名(唯一不重復(fù),12 位字符,由小寫(xiě)字母及數(shù)字 1-5 組成)構(gòu)建賬戶體系,用戶有且只有一次綁定推薦關(guān)系的機(jī)會(huì),推薦關(guān)系綁定時(shí)需要進(jìn)行檢測(cè)。檢測(cè)例如:賬戶 A 需綁定賬戶 B 為推薦人(B 成為 A 的上部推薦關(guān)系),則需要檢測(cè)
賬戶 B 不能為賬戶 A 下方的所有推薦關(guān)系中的任何一個(gè)。
賬戶體系內(nèi)部為弱關(guān)聯(lián),按照條件不同劃分為以下四種:
機(jī)構(gòu)節(jié)點(diǎn):開(kāi)通 DCCY 公鏈充提并上線交易功能的機(jī)構(gòu)專屬賬戶,由機(jī)構(gòu)申請(qǐng)并由DCCY 基金會(huì)確認(rèn)符合條件后生效,機(jī)構(gòu)節(jié)點(diǎn)為頂級(jí)賬戶,無(wú)上部推薦關(guān)系。
社區(qū)節(jié)點(diǎn):參與競(jìng)拍累計(jì)獲得 10000 枚 DCCY 的賬戶自動(dòng)升級(jí)為社區(qū)節(jié)點(diǎn)。
普通用戶:參與競(jìng)拍累計(jì)獲得 10 枚 DCCY 的賬戶。
非活躍用戶:初始建立的用戶或私鑰導(dǎo)入用戶,參與競(jìng)拍未達(dá)到 10 枚 DCCY 的賬戶。
4. DCCY 競(jìng)拍系統(tǒng)
競(jìng)拍方式:有參考底價(jià)的蒙眼競(jìng)拍
競(jìng)拍周期:每個(gè)自然日的格林威治時(shí) 0 時(shí)至 23 時(shí) 59 分 59 秒為一個(gè)競(jìng)拍周期。
參與方式:用戶使用錢(qián)包內(nèi) BTC 賬戶余額進(jìn)行競(jìng)拍,競(jìng)拍時(shí)自由設(shè)定競(jìng)拍價(jià)格,即 1BTC=n DCCY(n≥參考底價(jià)),并選擇投入競(jìng)拍的 BTC 數(shù)量,最小投入 0.01 枚 BTC。參與競(jìng)拍后凍結(jié)相應(yīng)數(shù)量 BTC,如成功拍中,則扣減相應(yīng)數(shù)量 BTC 并發(fā)放 DCCY 至賬戶,如未成交,則解凍 BTC,無(wú)手續(xù)費(fèi)。蒙眼競(jìng)拍結(jié)果以價(jià)格為第一優(yōu)先級(jí),時(shí)間為第二優(yōu)先級(jí),直至當(dāng)日額度全部競(jìng)拍完成。
競(jìng)拍日上限:日上限為 200 萬(wàn)枚 DCCY。
參考底價(jià):以自然周為單位,選取上線 DCCY 并具有價(jià)格指標(biāo)的機(jī)構(gòu),每個(gè)自然周周一格林威治時(shí) 0 時(shí)更新,機(jī)構(gòu)內(nèi) DCCY 價(jià)格均價(jià)作為周指導(dǎo)價(jià)。
競(jìng)拍結(jié)算:每個(gè)自然日的格林威治 0 時(shí)至 3 時(shí)為上一自然日競(jìng)拍結(jié)算時(shí)間,結(jié)算后由競(jìng)拍池賬戶直接發(fā)放至拍得用戶賬戶(DCCY 鏈上發(fā)放)。
競(jìng)拍獎(jiǎng)金池:DCCY 基金會(huì)將額外追加等同于當(dāng)日成功競(jìng)拍總額度 10%的 DCCY 用于獎(jiǎng)勵(lì)各類參與者。如今日成功競(jìng)拍出 100 萬(wàn)枚 DCCY,則追加至多 10 萬(wàn)枚 DCCY 進(jìn)行獎(jiǎng)勵(lì)。
5 初始分配
DCCY有著獨(dú)特的經(jīng)濟(jì)模型和生態(tài)價(jià)值。在代幣流通中,除開(kāi)前期激勵(lì)政策的獎(jiǎng)勵(lì)發(fā)放,其余均通過(guò)蒙眼競(jìng)拍方式進(jìn)入投資人市場(chǎng)流通。
DCCY 將針對(duì)優(yōu)質(zhì)的交易所贈(zèng)送超級(jí)節(jié)點(diǎn)計(jì)劃,被贈(zèng)送的交易所可以享受超級(jí)節(jié)點(diǎn)的權(quán)力與權(quán)益。除了免除節(jié)點(diǎn)的競(jìng)選,還賦予超級(jí)節(jié)點(diǎn)的資源能量,促進(jìn)交易所發(fā)展,為行業(yè)帶來(lái)積極向上的突破。
責(zé)任編輯;zl
評(píng)論
查看更多