摘要:的起源來自高明的中本聰中本聰對比特幣的設(shè)計(jì),讓整個(gè)世界進(jìn)入了數(shù)字貨幣時(shí)代。比原鏈的思考馬克思哲學(xué)的否定之否定規(guī)律,事物的發(fā)展變化是螺旋式上升的。
用戶模型是比原鏈在最初就需要確定的重要數(shù)據(jù)結(jié)構(gòu), 團(tuán)隊(duì)的選擇還是聚焦在兩種典型的模型系統(tǒng)中,Account模型和UTXO模型,和其他大多數(shù)區(qū)塊鏈設(shè)計(jì)一樣, 選擇了模型就決定了協(xié)議層的重要實(shí)現(xiàn),兩種模型各有利弊,不同區(qū)塊鏈針對想聚焦的場景自身會(huì)有判斷。
UTXO 的起源(來自高明的中本聰)中本聰對比特幣的設(shè)計(jì),讓整個(gè)世界進(jìn)入了數(shù)字貨幣時(shí)代。比特幣起源于中本聰,UTXO出自比特幣。自然,UTXO來自高明的中本聰。UTXO的優(yōu)點(diǎn):
在版本控制方面的考慮,svn 是中心化的數(shù)據(jù)庫保持一份賬本,這和區(qū)塊鏈的設(shè)計(jì)自然是相違背的,git 是去中心化的數(shù)據(jù)庫,但會(huì)保存太多冗余數(shù)據(jù),對于分布式性能肯定是要大打折扣。UTXO數(shù)據(jù)庫是拋棄了歷史包袱的git, 只存儲了最后一個(gè)版本。簡易實(shí)用。
UTXO 具有天然的匿名效果,一個(gè)賬戶所對應(yīng)的未花費(fèi)交易是難以發(fā)現(xiàn)的,如門羅幣就是采用混幣的方式實(shí)現(xiàn)隱私的。
在性能方面,由于UTXO是獨(dú)立的數(shù)據(jù)記錄, 那么就存在極大的并行性可以提升區(qū)塊鏈交易驗(yàn)證速度。
?設(shè)計(jì)的易實(shí)現(xiàn)性 — 以太坊 棄UTXO用賬戶模型以太坊黃皮書的設(shè)計(jì)者Gavin Wood 對UTXO的理解,十分深刻, 既然UTXO有這么多的優(yōu)點(diǎn),他為什么棄用UTXO了? 這時(shí)你應(yīng)該提出個(gè)問題,以太坊的最大亮點(diǎn)是什么?你肯定會(huì)回答:智能合約。正是因?yàn)橹悄芎霞s的考慮,Gavin Wood要基于UTXO去實(shí)現(xiàn)圖靈完備的智能合約(功能多樣性的超級電腦)是困難的。而賬戶模型是天然的面向?qū)ο蟮模瑢γ恳还P交易,都會(huì)在相對應(yīng)賬戶上進(jìn)行記錄(nonce++)。為了易于管理賬戶,而引入了世界狀態(tài),每一筆交易都會(huì)改變這個(gè)世界狀態(tài)。這和現(xiàn)實(shí)世界是相對應(yīng)的,每一個(gè)微小的改變,都會(huì)改變這個(gè)世界。
追求更高的性能以太坊的賬戶模型很容易的實(shí)現(xiàn)了超級電腦模型。然而,性能一直是一道難以逾越的坎。在性能方面,utxo天然的可以并行運(yùn)行,而基于世界狀態(tài)的以太坊難以擴(kuò)展。Gavin Wood當(dāng)然是認(rèn)識到這一點(diǎn)的,但要去改變,很難。那到不如用帶有函數(shù)式編程特點(diǎn)的rust 去重寫以太坊,也算是一種折中方案。
比原鏈的思考馬克思哲學(xué)的否定之否定規(guī)律,事物的發(fā)展變化是螺旋式上升的。在區(qū)塊鏈領(lǐng)域也是適合的,前進(jìn)一步,也需要后退半步。基于UTXO模型去實(shí)現(xiàn)堆棧式虛擬機(jī), 那還是會(huì)失去靈活性,用UTXO去結(jié)合以太坊EVM,?難度極大,也是不太實(shí)用的,這好比用haskell語言,去實(shí)現(xiàn)cpp風(fēng)格的面向?qū)ο缶幊??看不到有什么實(shí)際的意義。世界上沒有銀彈,比原鏈必須舍棄部分,妥協(xié)部分才能更好地適應(yīng)場景。
我們在采用了比特幣UTXO的易于并行運(yùn)算的模型前提下,還做了針對性的改進(jìn),加了個(gè)資產(chǎn)號字段,使不同的資產(chǎn)可以在同一筆交易中處理轉(zhuǎn)換,只要滿足總輸入等于總輸出就可以。
但為了數(shù)據(jù)易于管理,易于編程,?我們引入以太坊的世界狀態(tài)的概念,每一種資產(chǎn)都維持一個(gè)全局世界狀態(tài),該全局世界狀態(tài)具有快速可查找,不可更改,簡單易提供證明的特性。它的具體實(shí)現(xiàn)會(huì)參考以太坊的PAT樹(一種擴(kuò)展的基數(shù)樹),比特幣的merkle樹,以及cosmos的IAVL樹(一種不可更改的平衡二叉樹)。每一種資產(chǎn)的所有outputs在一個(gè)全局的UTXO數(shù)據(jù)庫中會(huì)有一個(gè)索引計(jì)數(shù)(每一個(gè)output的計(jì)數(shù)不能超過1,保持并行計(jì)算時(shí),一個(gè)output最多能被一個(gè)BVM實(shí)例所使用,確保了數(shù)據(jù)一致性)。BVM是比原鏈實(shí)現(xiàn)的智能合約虛擬機(jī)模型,?每一筆交易的的執(zhí)行,都會(huì)實(shí)例化一個(gè)BVM實(shí)例,只有在BVM實(shí)例中,各資產(chǎn)的世界狀態(tài)才能在保持有效性,一致性的前提下更新狀態(tài)。BVM可以并行創(chuàng)造多個(gè)”合約沙盒”實(shí)例,?在沙盒中合約的運(yùn)行不受外界影響。
比原鏈創(chuàng)造的初衷是解決數(shù)字資產(chǎn)登記流轉(zhuǎn)的問題, 對于公有鏈項(xiàng)目,保持簡潔,保持高效,保持專注,就是保障安全, 新的擴(kuò)展型UTXO模型正是基于這種場景實(shí)現(xiàn)的融合和改進(jìn)。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/24171.html
摘要:揭秘區(qū)塊鏈技術(shù)從入門到精通比原鏈整體設(shè)計(jì)架構(gòu)解讀視頻鏈接優(yōu)酷視頻騰訊視頻本文將會(huì)給大家介紹一下比原鏈總體的技術(shù)架構(gòu)。共識層確認(rèn)一個(gè)塊是否合法。區(qū)塊同步又稱為被動(dòng)區(qū)塊同步,如果發(fā)現(xiàn)存在區(qū)塊高度高于自己的其他節(jié)點(diǎn)時(shí),不斷請求區(qū)塊同步。 showImg(https://segmentfault.com/img/bVbecEK);【揭秘區(qū)塊鏈技術(shù)從入門到精通】比原鏈整體設(shè)計(jì)&架構(gòu)解讀視頻鏈接:...
摘要:錢包后端服務(wù)節(jié)點(diǎn)前端前端錢包前端其他合并工具工具文檔類讀比原剝開比原看源碼系列比原管理挖礦相關(guān)文檔各類文檔瀏覽器礦池魚池雙礦池礦池礦池螞蟻礦池蜘蛛礦池蜜蜂礦池礦池礦池第三方主網(wǎng)錢包比特派幣派 錢包 后端服務(wù)節(jié)點(diǎn):https://github.com/Bytom-Comm... Android前端:https://github.com/Bytom-Comm... iOS前端:https:...
摘要:流程總結(jié)就是下載安裝插件錢包,如果自己的不需要跳過這一步。然后將編譯后的合約參數(shù)配置在的配置文件,如下圖全紅部分是測試網(wǎng)合約配置參數(shù)調(diào)用插件錢包。開發(fā)出優(yōu)秀的應(yīng)用。 安裝使用插件錢包 1. 打開Google瀏覽器的應(yīng)用商店,搜索Bystore showImg(https://segmentfault.com/img/bVbq0Ol?w=2554&h=1312); 下載鏈接:http:/...
摘要:錯(cuò)誤編號內(nèi)容注釋非比原標(biāo)準(zhǔn)錯(cuò)誤請求超時(shí)非法的請求體為網(wǎng)絡(luò)錯(cuò)誤編號內(nèi)容注釋區(qū)塊鏈網(wǎng)絡(luò)類型不匹配是簽名相關(guān)的錯(cuò)誤編號內(nèi)容注釋需要簽名的個(gè)數(shù)超過實(shí)際需求簽名的個(gè)數(shù)簽名格式錯(cuò)誤缺少主公鑰主公鑰重復(fù)為交易相關(guān)的錯(cuò)誤構(gòu)建交易錯(cuò)誤編號內(nèi)容注釋資產(chǎn)余額不 0XX API錯(cuò)誤 編號 內(nèi)容 注釋 BTM000 Bytom API Error 非比原標(biāo)準(zhǔn)錯(cuò)誤 BTM001 Request t...
閱讀 2605·2023-04-25 15:07
閱讀 710·2021-11-24 10:21
閱讀 2312·2021-09-22 10:02
閱讀 3523·2019-08-30 15:43
閱讀 3230·2019-08-30 13:03
閱讀 2292·2019-08-29 17:18
閱讀 3591·2019-08-29 17:07
閱讀 1880·2019-08-29 12:27