Chromia(CHR)一個新的區塊鏈平臺用於去中心化應用程式

買賣虛擬貨幣
Chromia 是為分散應用程式提供的一個嶄新的區塊鏈平臺,旨在解決現存平臺的缺陷,開創分散應用程式的新時代。雖然像以太坊這樣的平臺理論上可支援任何應用程式的執行,但實際運用中卻存在很多侷限:不良的使用者體驗、高昂的平臺費用、欠佳的開發者體驗、較低的安全性。這些都阻礙了分散應用程式走向主流的步伐。要解決這一系列問題,我們需要重新認真瞭解區塊鏈架構,以分散應用程式的需求為中心來設計模組。我們的首要任務是:· 使分散應用程式面向數百萬使用者。· 使使用者體驗像中心化應用程式一樣平穩,每筆互動都不收費,無等待時間。· 使開發者能用最少的精力,參照相似的範例來開發安全的應用程式。
技術設計和特徵在一個分散應用程式的生態系統中,區塊鏈扮演著共享資料庫的角色。它儲存應用程式資料,確保資料的新增、更新、轉化都有授權,且遵照應用程式的規則。為此,Chromia 應運而生,力爭成為最佳的共享資料庫。它的特徵有:· 關係模型:區塊鏈資料和應用程式狀態被儲存在關聯式資料庫中。這一模組被認為在靈活性、通用性和相容性方面是最一流的。· 橫向擴充套件:每一個分散應用程式擁有自己的區塊鏈(或許可能有多個區塊鏈)。每一區塊鏈透過節點的子集來執行,這樣就可以透過增加節點數量來增加總產量。· 強大的檢索和查詢:分散應用程式能快速從執行的應用程式節點中直接獲取它們需要的資訊。分散應用程式的區塊鏈邏輯可以在沒有嚴重績效降級的情況下完成複雜的查詢。· 關係程式語言:Chromia 的分散應用程式後端由專業語言編成,與關係模型深入融合。這一模型使得程式設計師更加高效,且應用程式相容性也得以保證。
· I/O 高吞吐量:資料查詢和更新的速度代表了極度最佳化的關聯式資料庫,使分散應用程式能處理大量查詢和資料更新。· PBFT 式共識:交易在數秒內就能確認。· 一流的分散應用程式:在 Chromia,分散應用程式並非起源於“智慧合約”,而是一個一流的個體。Chromia 給予分散應用程式開發者更強的靈活性和控制權。例如,Chromia不對分散使用者的每筆交易進行收費,而是整體收費。這使得開發者能自主制定費用和資源使用政策。Chromia 在幻彩大道開發的後鏈架構上執行。Chromia 與其他公有區塊鏈一樣開放、透明、去中心化。在 Chromia,礦工被供應商所取代。供應商擁有能夠生產區塊的節點。有人建議,如果比特幣和以太坊的四大礦池串通,將對那些網路形成極強的控制。而我們力求確保節點供應商的最小量遠超這一數字。那麼我們可以說Chromia 模型並不像最古老的,最受信任的公有區塊鏈那樣走向中心化。ChromiaPBFT 式共識透過側鏈來加固,確保它的終端至少同比特幣、以太坊這樣的 PoW 區塊鏈一樣強健。為了改變以往 Chromia 區塊中的側鏈比例,我們有必要將 PoW 區塊鏈與Chromia 一定數量的惡意串通節點進行重組。
Uses 使用Chromia 是一個面向大眾的平臺,它適用於幾乎所有種類的分散應用程式。尤其適用於對 I/0吞吐量有高要求的或者需要管理複雜資料的情況。多使用者線上遊戲(MMOG)就是一個很好的例子。Chromia 可在區塊鏈上支援整個遊戲世界,並確保按照既定的規則進行,沒有人可以作弊。區塊鏈遊戲正日趨受歡迎,但 MMOG 卻很少有人涉足,因為現有的區塊鏈平臺都無法支援他們。而 MMOG 的執行恰恰最好展示了Chromia 的實力。MMOG 對平臺有著十分苛刻的要求,因此 MMOG 的執行意味著 Chromia 有能力應對任何複雜的分散應用程式。設計原理1. 現有平臺問題概述以太坊是為分散應用程式發展提供的第一個區塊鏈平臺。它建立了許多應用程式標準,但開發者會面臨以下問題:
· 有限容量。因為網路容量有限,且使用費是按比例收取,交易費可達 1 美元,一些複雜的應用程式會更貴。高昂的成本使得大多數應用程式都貴的離譜。· 同樣的原因導致過高的 I/O 操作費。例如,一份合約不能對多個使用者使用,因為這一操作的成本超出了區塊的限制。因此,開發者不得不向使用者們重複類似於利息支付那樣的簡單操作。· 欠佳的資料模型工具和查詢支援。應用程式開發者不得不透過中心索引來獲取應用層,有時還需藉助第三方服務,但這樣又得不到同等的安全保障。· 易出錯的合約語言已導致許多備受矚目的攔劫。· 在平臺層面沒有合約升級的條款,在單獨應用層實現這一功能更加劇了複雜性。· 使用者需要為每一次互動付費導致了不好的使用者體驗。確認速度慢是一個主要的使用問題。
· 不良的輕客戶端支援。在開發平臺三年後,以太坊基金仍舊在研發產品級質量輕錢包。面向大批次客戶群的應用程式必須具有靈活性和快速響應能力。它們要求平臺賦能開發者完成使用者所需資源的配置。即使以太坊等其他平臺目前正發展解決可擴充套件性的問題,他們依舊無法給開發者提供足夠的自主權,對於分散應用程式而言仍舊會是個糟糕的執行環境。要解決這一系列問題,我們需要重新認真瞭解區塊鏈架構,以分散應用程式的需求為中心來設計模組。2. 作為資料庫的區塊鏈在分散應用程式的環境中區塊鏈的主要職責是以安全和始終如一的方式管理資料。所以它可被定義為一個資料庫,一個安全的去中心化資料庫。區塊鏈的另一個重要職責是防止重複消費,但這是針對資料一致性約束的一個個例。像比特幣這樣最佳化付款的區塊鏈可以採用高階定製化(和最佳化)的資料模型。但一個承載多樣化分散應用程式的平臺需要的是一個多用途的資料模型。
現行的多數區塊鏈平臺都使用關鍵值資料儲存(如:以太坊,NEO,Fabric 等)。從理論上講,這一模型完整且可以使用像 LevelDB 這樣高效的資料儲存。但是,這種模型是非常低層次的。它要求應用程式開發者執行序列化和檢索等細節,這無疑是一巨大挑戰。綜合以上情況,區塊鏈平臺無法展示關鍵值儲存的所有功能,比如任意大小值和重複值的使用能力。在 EVM 中所有值都是 256 位元整,重複使用儲存值也是無法實現的。為此,在 EVM上執行適當的檢索資料許可權是困難且無效的。3. 關係模型綜上所述原因,我們將資料模型的選擇視為區塊鏈平臺的關鍵。關係模型在過去的五十年裡都是資料庫管理的黃金標準。從數學和邏輯角度出發,關係模型被認為可以高效建立複雜資料模型。由於分散應用程式處理著日益複雜的資料架構,關係模型的力量也日趨明顯。此外,大多數軟體工程師都已熟悉關係模型,無需再為執行應用程式學習新的理念。
關係模型也使我們能利用已經被最佳化了幾十年的 SQL 資料庫管理系統。與其讓分散應用程式程式碼一個個穿過記憶細胞,我們可以向 DBMS 傳送一個查詢請求,讓它運用其精細的查詢設計、資料架構和獲取能力來快速開展查詢。當然,資料模型的選擇也是一個折中的考量。關係模型也有以下的一些缺陷:· 效能的好壞很難預測,它取決於查詢計劃者。這對於 Chromia 也並非是一個重大缺陷,因為每一個分散應用程式都以單獨的方式執行,查詢緩慢只會影響分散應用程式,而不是系統本身。· 對查詢執行時間規定明確界限並不切實可行。同樣,這對 Chromia 而言也不是問題,因為它只對查詢速度慢的應用程式有影響。· SQL 資料庫的平行化是有效調查的一個難點。據目前瞭解,尚未有區塊鏈平臺能在大範圍內提供 100%自動平行化。所以,沒有證據可以證明關係模型不如其他模型。另外,我們認為關係模組將會使邏輯分片和側鏈機制更易執行。4. 頂尖的分散應用程式
在以太坊上,所有的程式碼存活於“合約”中。私有錢包合約與複雜多使用者合約並未區分開,他們利用的是同一資源測量程式模型。一個基於以太坊的分散應用程式會用一個或多個合約(也許一個使用者一份合約)和前端元件。事實上,許多以太坊應用程式利用中心化快取來補償“去中心化”證書,這多少有些可疑。雖然這一方法十分明智,可以分佈到各不同種類的應用程式,但對於大範圍使用的分散應用程式來說很不方便。終端使用者需要為他們分散應用程式上的每一次互動付費,與他們所需的計算和儲存資源成正比。換言之,以太坊沒有給分散應用程式該有的靈活性來管理他們自己的資源。例如,“免費增值”的商務模型是完全無法實現的。這給分散應用程式的使用新增了一道屏障,大多數使用者並未準備好為他們的每一次操作買單。Chromia 透過在分散應用程式層面提供資源來解決此問題:· 每個分散應用程式擁有自己的區塊鏈(側鏈)· 由分散應用程式統一付費,而非終端使用者· 分散應用程式能夠執行自己的資源管理政策,可以更好的統一經濟需求,而非技術需求。
每個區塊鏈都需要一個反垃圾資訊機制,但這一機制並非要與費用掛鉤。例如,一個分散應用程式可能在 15 秒內只允許使用者有一次操作,因此單一使用者不會在區塊鏈上有數十億次交易。分散應用程式還可透過一定程度限制新使用者註冊量或透過邀請、押金的方式註冊來減輕 Sybil攻擊。在這一模型下,我們無需衡量每一操作的資源。相反,我們將資源整體運用到應用程式上:每一分散應用程式的區塊鏈透過一定數量的節點執行。它將有自己專屬的 CPU 螺紋。這一資源轉移使得分散應用程式執行更快,延伸更廣(我們不用再關注執行了多少指令,因為應用程式已最大化使用其資源)。如果一個分散應用程式需要多個執行螺紋,它可包含多個分片,即側鏈。除了排程,作為平臺上的頂尖市民,分散應用程式擁有以下特徵:·  代幣經濟與費用模型融合,如程式的支出可在其所獲盈利中支取
· 內建管理· 更新5. 程式設計模型Chromia 所在的後鏈框架允許我們利用現有開放的 SQL 資料庫軟體來執行資料儲存和查詢。但是,我們不允許分散應用程式隨意執行 SQL 查詢,因為查詢可能不安全、模糊不清或導致資源濫用。大多數分散應用程式區塊鏈平臺使用各種虛擬機器器。但是傳統的虛擬機器器在 Chromia 關係資料模型上執行的並不理想,因為我們需要對查詢編碼,而不僅僅是操作。為此,我們採取更多以語言為中心的方法:一種叫做 Rell(關係語言)的新語言將應用於分散應用程式的程式設計。這一語言使程式設計師能描述:
· 模式/資料模型· 查詢· 程式程式碼Rell 會編制一個二進位制格式,可理解為一個專屬虛擬機器器的程式碼。Chromia 的節點就會將帶有此程式碼的查詢翻譯成 SQL,用編譯器來執行程式碼。Rell 有以下特徵:· 輸入安全/靜態型別檢查。在編輯階段發現程式設計錯誤很重要,可以防止不必要的經濟損失。Rell 比 SQL 在編寫時更加安全,它可確保查詢反饋輸入與程式碼輸入相匹配。
· 安全最佳化。算術操作安全可用,程式設計師無需擔心超限。授權檢查是明確要求的。· 精準、可表現、方便。許多開發者不喜歡 SQL,因為它及其繁瑣。Rell 不會過多打擾開發者,細節之處可自動獲取。作為一個資料定義語言,Rell 比 SQL 簡潔 7 倍多。· 支援超程式設計。我們不想讓應用程式開發者忙於為每一個分散應用程式執行最基礎的內容。所以,Rell 支援模板功能。我們意識到現存的任何語言或環境都無法完成此任務,所以開發一種新的語言迫在眉睫。我們設計的 Rell 易於程式設計師學習:· 程式設計師可以運用他們已經熟悉的關係程式語言。但是他們無需用關係代數來表述所有東西。Rell 可以將關係架構與程式程式設計完美融合。
· 該語言和 JavaScript 和 Kotlin 這樣的程式語言非常相似。一種熟悉的語言更容易被採納,我們的內部測試顯示程式設計師幾天內就可熟練運用 Rell。相反,PL/SQL 使用的ALGOL 型語法顯得和當今行業有些格格不入。以太坊程式設計模型被認為極易出錯。以太坊智慧合約中的故障已導致總計數億美元的損失。在Chromia,我們希望透過更優的程式設計模型和更安全的語言來消除這些最常見問題的根源。在以太坊上的程式碼是不可變的,開發者想要處理分散應用程式必須保持對程式的完全控制,這樣就做不到去中心化了。在 Chromia,程式更新可以透過內建的管理和轉變機制來完成。6. 共識&節點模型概述很顯然,全節點模型並沒有延伸的很好。如果我們要求使用者執行擁有系統狀態全部備份的全節點,那分散應用程式可用的計算和儲存資源就變得極其有限。
為了能在延伸性方面能有更佳表現,我們推出了讓單一分散應用程式在驗證器子節點上執行的模型,這樣對分散應用程式狀態的任何修改都可達成共識,也可處理客戶查詢。系統應該允許任何使用者執行想要的全複製節點,但不應該將常規執行依賴於此。控制機制調查發現,像 PoW 和 PoS 這樣常見的 Sybil 控制機制表現都不盡如人意。它們都無法保證對Sybil 攻擊有一定層級的減輕,甚至好的去中心化方式都沒有。事實證明,包括比特幣在內的多數基於 PoW 的區塊鏈都很可能是由一小群個體控制的。這一問題對於小型加密貨幣尤為突出,因為它們沒有自己獨立的挖礦生態系統。PoS 也沒有去中心化保障,DPoS 甚至有壟斷和賄賂傾向。因此,摒棄過往常用的方法,我們設計出了 Chromia 共識和 Sybil 控制機制。首先,我們發現 Chromia 所想要達成的可比作為雲端計算:一個過多使用多個雲代管供應商的應用程式可被認為是一個分散應用程式。單一雲代管供應商的故障或審查不會導致整個應用程式的癱瘓。雲端計算模型也使得使用者可以使用瘦客戶,而不是在他們個人裝置上執行一整個應用程式後端。Chromia 模型定義的基本職責如下。Chromia 軟體在節點上執行,這些節點是物理或虛擬的運算力。節點被一些個人、組織或集體所控制或擁有,我們將他們稱之為供應商。使用者連線這些節點以完成盤後交易、資料查詢或同步私人備份。
根據對網路使用者容忍任意和潛在惡意行為的能力,可以將拜占庭式的容錯網路與一般容錯網路區分開。 節點的概念足以設計一個容錯網路,但為了能達成拜占庭式容錯,我們必須對有意識的供應商個體負責,這可能會需要協調多個節點。關鍵地,為保證分散應用程式能去中心化,我們要確保節點在不同供應商區塊鏈上執行。這種情況下應用程式能夠容許供應商出錯,能夠做出妥協或採取敵對措施。為了使其工作,網路使用者首次要知道每個供應商商控制的對應節點,其次要確保確實是不同供應商。後者無法以理論方式完成,但可以透過社交來實現。微軟和谷歌是不同的供應商,這點顯而易見,但卻沒有理論方式來論證它。我們認為所有的去中心化共識根本上都是“社交共識”。全自動的去中心化系統很奇幻,最終都是靠人來制定系統規則。Chromia 認同這一點,並將其視為基本的設計原則。實際上,供應商的差異可以透過以下方面體現:1. 最初,幻彩大道會選一組不同的供應商。我們相信良好的區塊鏈和 IT 行業知識儲備能讓我們做出很好的選擇,並且我們也趨向選擇使用者會接受的供應商。若對任一供應商的獨特性有質疑,都鼓勵使用者開展自己的調查。2.最終,一旦系統有足夠多的供應商,我們會授權這些供應商們自主投票來新增新的供應商,系統就不再需要幻彩大道這個把關者。
共識我們假定 Chromia 的每一區塊鏈都和一組驗證器節點相關聯,這些節點都是 Chromia 上的子節點。這些子節點都會執行 BFT 共識運演算法則。由於大小有限,PBFT 式運演算法則是最佳選擇。他們經過充分調研,與小驗證器工作良好,並可提供終極定論,使重組成為可能。然而,我們也需要考慮系統風險。雖然我們假定不同供應商不可能一起執行節點,但這一情況也可能發生。同時,大量節點也可能會由於當天零利用而被歸併在一起。基於簽名的共識(如PBFT 和 PoS)出現災難式的故障,使得整個鏈失效。我們需要附加的機制來鞏固安全性。工作量證明擁有我們所需的屬性:即使一個 PoW 礦工被破解,攻擊者仍無法跨越已開採的區塊,他必須不斷地重寫。我們可以透過在比特幣或以太坊這樣基於 PoW 的區塊鏈上錨區塊來提升基於簽名的共識安全性。這可以以廉價的方式來實現,用單筆比特幣交易來錨 Chromia 的一部分割槽塊花費很少,而且還可保證 Chromia 的確認優勢至少和比特幣所錨的區塊相當。例如,一個信賴比特幣安全性的使用者如果進行高值交易時,他可以等到透過比特幣錨定的應收賬款確認後再發貨。
節點補償代管分散應用程式的節點可以得到補償,每一個分散應用程式都需要計算資源和儲存,並給供應商們支付這些服務。Chromia 會為供應商們提供一個市場,用來銷售他們節點的容量。最初幻彩大道會提供節點,之後我們期望更多的供應商加入。從長遠看,我們預估使用節點資源的成本將和 AWS EC2 這樣的雲端計算成本相差無幾。其他特徵要想達到分散應用程式的高效能要求,Chromia 必須滿足以下要求:· 確認時間:1 秒左右(對好的使用者體驗和實時使用者互動是有必要的)
· 交易率:每側鏈大於 500 TPS。整個系統的總比率是沒有限制的。· IO 容量:每秒寫讀大於 100k後鏈框架的前期測試表明滿足和超過這些要求是可能的。Chromia 同時會有客戶軟體開發包用以支援客戶端分散應用程式的發展。軟體開發包將提供Java 指令碼、Java 和其他語言。軟體開發包還支援平臺範圍內單點登入和錢包鑰匙管理,分散使用者在每一應用程式單獨註冊的困擾。分散應用程式我們假定閱讀此文的讀者已熟悉分散應用程式的概念。儘管如此,由於它和我們的平臺目標緊密相關,所以還是在此解釋闡明我們所真正引用的分散應用程式。
所謂“分散應用程式”,是指一個多使用者應用程式,以去中心化的方式執行和提供服務。這意味著任何個體都無法對該應用程式有百分百的操控權。傳統中心化應用程式的問題在於,控制基礎服務的一方能夠:· 關閉應用程式· 拒絕某些使用者群的服務· 透過侵犯隱私將使用者貨幣化· 移除對使用者來說有價值的功能
開放原始碼和點對點軟體解決了辦公軟體、檔案共享等應用程式的中心化控制問題。而依靠伺服器代管型資料庫的軟體要更難處理,尤其因為很難將資料庫去中心化。數字貨幣是最早期也是最重要的一個依靠中心化被廣泛熟知的資料庫的“應用程式”例子。數字貨幣系統裡的每個使用者能清楚資料庫的狀態,也就是使用者擁有多少貨幣。比特幣作為開創軟體新時代的標杆,將開放原始碼、點對點技術和共識運演算法則相結合,在中心化個體控制以外製造貨幣。利用更先進的去中心化資料庫軟體將有可能分散更多的應用程式,也可能創造以前無法企及的全新種類的應用程式。分散應用程式有以下優點:· 並非單個個體控制· 理想狀態下由使用者社羣控制
· 不可被直接關閉· 抗審查-服務不可被否決· 透明 – 所有程序使用者可見· 隱私 – 使用者可控制自己的資料· 高效我們不奢求分散應用程式擁有所有這些特徵。事實上,有些特徵互相矛盾。例如,一個分散應用程式或許會使大部分使用者能限制小部分人的許可權,而分散應用程式又是由使用者控制的,做不到抗審查。在實際操作中,應用程式開發者們會在去中心化和其他特性中尋求平衡。
1. 透明的應用程式有些應用程式僅僅是部分去中心化:只有需要公開透明的資料才會在區塊鏈上代管,其餘部分都是中心化的。這樣的應用程式稱之為透明應用程式更恰當。市場上許多稱之為分散應用程式的其實是透明應用程式。例如,CryptoKitties 在以太坊區塊鏈上儲存小貓主人資訊。這屬於去中心化嗎?並不是,因為一個單獨的公司就能將其關閉。事實上,它可以以多種方式關閉:· 客戶節點不是開放原始碼,如果 CryptoKitties 的網站出現故障,就沒辦法繼續遊戲。· CryptoKitties 背後的公司可以停止在以太坊區塊鏈上的代管合約。因此,CryptoKitties 唯一有別於中心化應用程式的就是它的透明性。
2. 代幣模型傳統的資金和貨幣化模型對分散應用程式並不適用。傳統資金的價值計算模式是基於中心財產的控制,像資料,使用者基數,智慧財產權和專利等。分散應用程式理想狀態下屬於它的使用者們,他們一定程度上形成了利益的相互平衡。沒有集中的一方佔有財產,增值和從此活動中收益。這就是為什麼我們需要一個不一樣的資金模式來更好的與分散的所有權相相容。對於所有權的分佈,有必要對所有權的比例做出指示或者用一定的流動或半流動資產來資助系統。這使得量化投資比例成為可能,並且無需控制或提交控制就能增值,也可安全地進行價值交換。通常,這都靠代幣來實現。在 Chromia,分散應用程式代幣可實現的不只是基本的 ICO 模型:1. 發行代幣2. 向投資者出售代幣
3.  隨意支配貨幣相反,Chromia 會提供平衡開發者和使用者利益的機制。分散應用程式的代幣可以用幻彩代幣自動背書,幻彩代幣為投機性投資提供流動性和價值獨立。分散應用程式投資者能透過分紅合約得到補償。對開發者而言,Chromia 提供了從分散應用程式上獲得收入的機會。這激勵了高質量的分散應用程式的創造和維繫,因為越好的分散應用程式產生越多的收入,創造更多的代幣需求。設計出 Chromia 模型是為了支援可持續性迴圈經濟,在開發者、使用者和投資者之間營造互惠互利的關係。3.  Chromia 的角色Chromia 力求成為分散應用程式的去中心化資料庫元件,終端使用者裝置(如手機或瀏覽器)上執行的節點和去中心化資料庫的結合將組成整個分散應用程式。讓我們一起看看 Chromia 是如何賦能這些應用程式的:4. 非受控於單個個體我們假設在開發了一款應用程式後,開發者們會使前端和後端(在 Chromia 上執行的部分)節點成為開放原始碼,使得使用者們可以自主使用應用程式。
屬於某應用程式的資料將會透過 Chromia 進行代管。透過兩步驟完成:1. Chromia 根系統選取節點來執行應用程式的區塊鏈,完成代幣兌換,節點補償等操作。2.一組節點將管理應用程式資料。這兩個層級都屬於去中心化加密生態系統,因此我們可以說應用程式並非受控於單一個體。使用者們通常要為代管應用程式所需的資源付費。當然,應用程式的節點也可能要保證對多個個體的控制。理論上,使用者們需要完成獨立的稽覈,並且只有在控制結構合理的情況下使用應用程式。受使用者社羣控制
Chromia 將搭載選擇性管理機制,允許使用者們控制應用程式功能的多個方面,如節點升級。不可關閉如上所述,Chromia 實現了分散應用程式代管,因此任何單一的個體都無法關閉應用程式。但是我們無法保證應用程式透過法律途徑被關閉。Chromia 根結構將會由一些合法的公司來主導(至少在前期的幾年內)。所以,某一應用程式將有可能不得不從 Chromia 中驅逐出去。然而,需要注意的是,應用程式本質上歸屬於使用者們。Chromia 只是一個公共的代管平臺和開放原始碼。如果使用者們對政府關閉應用程式有疑問,可以將自己的資料轉移到其他地方。他們可以在其他管轄區域建立不同的城邦(類似於傳統區塊中的叉形指令)。只要使用者對應用程式有需求並且願意支援它,它就不會被關閉。抗審查在 Chromia 模型中,應用程式開發者將實際操作委託給節點。節點運用共識機制處理使用者的請求。因此,不管是開發者還是節點都不可以隨機進行審查。
理論上來說,多個節點可以聯合進行審查,但是使用者可以要求將應用程式移至其他節點。當然,應用程式可以有一些審查元件(如反垃圾郵件、反欺凌等)的特性。是否合理取決於特定的應用程式。如果使用者認為審查是無保證的,他們可以分叉應用程式並執行更新的版本。透明的應用程式資料在多個節點上代管,區塊鏈共識使得一旦確定後就不可更改。許多應用程式將透明度作為其唯一特性。Chromia 是一箇中和技術供應商,它自身不執行去中心化。許多案例中,透明度目前已經得到了巨大改善。隱私隱私是一個複雜的話題。分散應用程式資料是典型的公共資料,編制應用程式的時候就該考慮到這一點。例如,它可能會使用虛擬身份,加密圖形構圖,如雜湊法、零知識證明等。
我們認為此方法在應用程式供應商信任度和保密性上要優於傳統方法。如果供應商的安全被破壞,那麼隱私將肯定會被盜取。相反,如果資料原本就是公開的,那就無法被盜取。Chromia 計劃未來推出隱私提升特性。高效Chromia 設計了節點失效抵擋。可抵擋的節點失效數量是一個可配置引數。最小值是四,到達該值時,可抵擋一個節點失效。如果有更高的需求,可以使用更多的節點。5. 去中心化質量如上所述,應用程式可去中心化至不同的層級。Chromia 力求成為中和的技術平臺,而非道德權威,因此它所代管的應用程式不受分權層級的限制。
但是我們知道去中心化十分重要,使用者們需要了解他們所使用的應用程式特性。為此,我們計劃建立指南和評估標準。獨立的公司可以對應用程式進行評分。我們同時也鼓勵使用者們請求獨立程式碼審計。平臺架構這一章節,我們討論平臺架構,是對設計原理章節加以展開。1. 後鏈Chromia 基於後鏈框架。後鏈定義了區塊鏈系統元件之間的介面,為網路、共識、加密圖形等提供了一系列構建區塊。與其他區塊鏈框架的主要區別在於後鏈是在關聯式資料庫上儲存區塊鏈資料(原始區塊鏈內容和應用程式狀態)。不僅如此,後鏈使得交易邏輯與共識和關聯式資料庫完全統一。例如,在資料庫中違反約束條件的交易將會被拒絕,並從共識中剔除,它們不會導致任何的致命錯誤。
後鏈在 Kotlin 上廣泛運用並在 JVM 上執行。JVM 是最常用的虛擬機器之一,它指向伺服器使用案例,且有大量可用的程式庫。JVM 對脆弱性起內在保護的作用,如緩衝器超限或欠載,資料流失等情況。它控制訪問物件,開展陣列界檢查,不會暴露像原始指標這樣的易錯特性。因此,在 JVM 上執行的應用程式通常不會有遠端程式碼執行等這樣的問題,即使他們本身帶有故障。這對區塊鏈軟體至關重要,因為遠端程式碼執行可能導致巨大的損失。Kotlin 更注重類別檢查,尤其是確保程式碼裡的空值安全。現代安全程式語言的使用能夠減少缺陷數量並確保現存的缺陷不會釀成嚴重的後果。後鏈允許多個區塊鏈在一個資料庫上代管,且一個區塊鏈能夠“看到”另一個區塊鏈上的最終資料。這簡化了區塊鏈間互動的操作,因為區塊鏈無需另加費用或複雜操作就可參考共享資料。尤其可用在區塊鏈間的資產轉移。2. 鏈拆分多個區塊鏈幫助 Chromia 實現了橫向擴充套件,每個節點只要與其工作的區塊鏈相關資料相匹配就行,這樣就可增加許多節點和區塊鏈的數量。這樣的架構也使更新更加簡單,單一區塊鏈的更新不會對其他區塊鏈造成影響。整個系統包含了若干 Chromia 功能塊所需的“系統”區塊鏈和若干針對特定應用程式的應用程式區塊鏈。
系統鏈· 根鏈驗證器:根節點目的:追蹤根節點描述:根鏈是為了使小客戶在無需下載整個區塊鏈的情況下驗證 Chromia 上的任何資料。· 目錄鏈
驗證器:根節點目的:追蹤所有的供應商、節點、應用程式區塊鏈和他們的驗證器描述:目錄鏈負責追蹤所有重要資訊,協調系統的執行。· 代幣根鏈驗證器:如目錄中定義目的:追蹤幻彩代幣
描述:代幣根鏈追蹤其他鏈之間代幣的分配。· 限位鏈驗證器:如目錄中定義目的:防衛子節點上的攻擊描述:限位鏈記錄其他鏈上塊的雜湊。這使得監測共識故障成為可能。如果共識故障,在限位鏈上的區塊優先使用其他版本的區塊。限位鏈本身是在比特幣和以太坊區塊鏈上。

(有關不同鏈維護的安全性考慮會有單獨的章節做說明)

3. 節點實施

資料模型和節點選擇與獎勵這樣的系統功能操作可以在 Rell 上實現。高水平說明性語言的使用可簡化其實施並減少出錯的概率。

4. 與其他區塊鏈的互動

為了錨定,需要與比特幣和以太坊區塊鏈進行互動。與以太坊的互動是為了使 ETH 支付能在Chromia 上使用,並把幻彩作為 ERC20 代幣。這一功能可以透過分度器來實施:與以太坊互動的節點必須執行一個與 Chromia 平行的以太坊節點,從以太坊區塊鏈向 Chromia 資料庫輸入資訊。

5. 元件

以下的軟體元件清單是我們計劃為 ChromiaMVP 釋出所運用的:

1. 編譯程式和執行時間環境
2. Rell IDE: 使開發更容易的工具
3. 客戶 SDK:允許前端(網頁或手機 APP)與 Chromia 連線和互動
4. Chromia 節點:系統鏈
5. 為錨定做支援的比特幣和以太坊
6. Chromia 方的幻彩 ERC20 合約和閘道器
7. 以太坊上自動兌換智慧合約

Governance 管理

系統和應用程式層面都存在管理需求。

1. 系統管理

系統層級的管理包括以下方面:

1. 系統更新:系統區塊鏈架構、規則等的更新
2.協調引數,如根據市場情況確定執行分散應用程式的價格
3. 系統新成員的加入
4. 不良使用者的剔除

顯然,管理必須去中心化,單一的個體不該控制整個系統。供應商是履行管理職責的最佳人選:

· 他們能夠專業的稽覈提案。
· 他們有動力使 Chromia 對使用者和應用程式開發者保持吸引力。不良的管理決策會影響供應商的收入和利潤。

所以,我們可以要求三分之二的供應商投票贊成管理提案才可透過。

初始中心化

ChromiaMVP 發起的初始階段可能不會有足夠多的獨立供應商。所以在初期階段將集中管理:所有決定都由幻彩大道向系統股東諮詢後作出。當系統從技術角度已準備就緒並且供應商生態系統健康的狀態下將會考慮向去中心化管理轉變。

被否決的選擇

賭注、錢幣投票

區塊鏈上大範圍的線上管理模型叫做股東投票或“錢幣投票”。它在 DPoS 區塊鏈上相當常見,因為股東投票是 Sybil 控制和共識機制的必要組成部分。我們充分考慮了該模型,拒絕理由如下:

1. 通常沒辦法控制賭注的去中心化,例如代幣有可能會集中在某一部分人手中,因此無法保證去中心化管理。
2. 富有的股東擁有更多的權力這不公平。
3. 許多使用者都拿他們的代幣進行兌換,本質上允許了用兌換來投票。
4. DPoS型的投票似乎更會帶來賄賂、壟斷、集權等問題。這些問題實際卻是在自然環境中比較突出。
5.即使代幣或多或少被平均分佈,很少有使用者會進行復雜的投票,也很少有使用者能理解提案等。DAO 的案例足以說明這點。

沒有正式的管理

像比特幣這樣的一些加密貨幣以沒有正式的管理引以為傲。如果他們所想要的只是“數字黃金”,那或許能行得通,畢竟黃金本身沒有管理。但是 Chromia 更為複雜,它需要及時應對挑戰,所以需要有正式的管理體系。

獨特的使用者

給每個使用者投票權相當有吸引力,比“用錢投票”來的更加公平。但在去中心化的設定中識別獨特的使用者不太現實,許多股份投票仍會應用。尤其是使用者做出好的決策時可能資訊未被充分告知。

我們仍舊計劃嘗試這種管理:我們準備選出一部分主動想要參與管理的使用者,稱其為“Chromia公民”。Sybil 控制可以透過追蹤社交圖譜來實現。我們不會立即給這些使用者正式管理的權力,但他們可以投建議票。

2. 應用程式管理

不同的應用程式有不同的管理需求:

1. 有些應用程式的設計是不可變的,所以根本不需要管理。
2. 其他可能採取直接民主,給每個使用者投票的權利
3. 另外一種方式是實行權重投票,如按照擁有的代幣比例。
4. 分散應用程式開發者也可履行管理的職責:

a. 要麼全面控制
b. 要麼和使用者透過投票來協作,如開發者制定提案,使用者可以透過或否決

我們希望能讓開發者和使用者有自己做決定的權利,也能體驗不同模式的管理。期望使用者始終享有一定程度的自由:

1. 獲取和複製應用程式資料的自由。這是公有區塊鏈的固有資產。
2. 叉形應用程式的自由。這是自由、開放式軟體和公共資料的固有資產,任何人都可以修改軟體備份並在資料備份上執行。

我們不在公有區塊鏈的應用程式上強加任何限制。

如果使用者對管理不滿或者僅僅是想要有不同的體驗,Chromia 提供了可以讓使用者叉形分散應用程式的工具。我們的目標是確保這樣的叉形指令可以平穩地進行。

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

免責聲明:

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

推荐阅读

;