加密貨幣交易所 加密貨幣交易所
Ctrl+D 加密貨幣交易所
ads
首頁 > Bitcoin > Info

如何解決比特幣和以太坊編程模型中存在的問題_CCO:COU

Author:

Time:1900/1/1 0:00:00

三大編程模型

——UTXO模型

首先,從比特幣開始。

比特幣又被稱為點對點電子支付系統,其使用名為UTXO的編程模型。

最簡單的方法是將UTXO看作一個盒子。該盒子包含一個表示貨幣價值的數字和一個鎖。只有拿著相應鑰匙的人才能打開盒子。當進行轉賬時,持有鑰匙的所有者或個人使用鑰匙解鎖,找到另一個空盒子,將新面值放入新盒子中,并附加一個新所有者的鎖。

整個交易可以概括為打開盒子,拿出里面的錢,摧毀原來的盒子,然后把它放在另一個盒子里。

總而言之,盒子表示存儲數據的UTXO模型,鎖表示所有權。

——Account模型

除了UTXO模型,還有Account模型。這個模型最著名的例子是以太坊。

除了數據,以太坊Account模型中還有計算邏輯。你可以將ERC20合約想象成一個盒子,盒子里沒有錢而是一組復雜的邏輯和數字。

與UTXO不同,Account模型的盒子始終可以重復使用,并且在其生命周期內無法打開。

當Account模型的盒子被制作出來時,一套規則會被寫進盒子里,而一些按鈕也會被放置在盒子中,這樣人們就可以和盒子互動了。例如,規則可能這樣表示:如果一方想轉賬,那么她或他或它需要出示身份證明的一種形式,并輸入密碼。一旦完成前面的步驟,就需要以下信息:轉賬金額、收件人和其他信息。一旦進入,她或他或者它需要按下轉移按鈕才能完成轉移。在收到信息后,它會從您的金額中扣除并更改到另一方的帳戶,然后更新所有內部數據。

路透社:SBF欺詐指控回避了關于美國法律如何看待加密貨幣的爭論:1月9日消息,Sam Bankman-Fried可能會發現很難辯訴應該撤銷針對他的欺詐指控,因為美國法律如何對待加密貨幣存在不確定性,就像涉及數字資產的刑事案件中其他被告一樣完成了。法律專家表示,這是因為曼哈頓聯邦檢察官對現已破產的加密貨幣交易所 FTX 創始人的指控在很大程度上回避了正在進行的關于加密貨幣是否應作為證券或商品進行監管的辯論。但據專家稱,這種不確定性與針對SBF的大部分指控無關。雖然他面臨一項串謀證券欺詐的指控,但該指控稱他誤導了FTX的股票投資者,并未涉及交易所交易資產的性質。[2023/1/9 11:02:36]

熟悉編程的人會很快發現Account模型類似于現實世界中的OOP,按鈕的概念類似于API。

如果我們擴展盒子隱喻,以太坊的功能更像ATM機。

在Account模型中,該盒子保存邏輯和數據。在將邏輯寫入工廠設置的盒子后,永遠不能更改它。您只能在需要修改數據時使用外部按鈕。每個人的錢都記錄在盒子里。要進行事務時,只需要輸入事務信息,該盒子便會根據規則處理的請求進行數據更新。

——Cell模型

在Cell模型中,我們也可以將Cell看作一個盒子,因為它與UTXO模型非常相似,可以包含任意鎖定的任意對象。

你可以對該框執行并編寫一組規則來指定該盒子可以存儲什么。通過這種方式,單元內的數據可以表示貨或加密貓之類的資產。此外,UTXO中的鎖也是相同的。但是在單元格模型中,用戶可以自由地更改和使用定制的鎖。(你可以將普通掛鎖與指紋鎖或數字鎖做對比)

Genesis Mining運營主管:無論交易費用如何,比特幣都是很好的價值存儲手段:針對比特幣及其區塊鏈網絡是否能在不需要第二層解決方案的情況下作為一種價值儲存手段被主流采用,比特幣采礦公司Genesis Mining運營主管Philip Salter表示,無論交易費用如何,比特幣都是一種很好的價值存儲手段。費用越高,能夠有效轉移的最小價值也就越大。然而,如今比特幣被更多地視為一種價值儲存手段,而非數字現金。Philip Salter認為,這種觀念的轉變仍可能引發一些問題。他說:“幾年前,由于交易費用實際上為零,所以1美元的存儲和傳輸是可行的。目前,發送一筆交易很容易花費15美元,所以再發送1美元是不明智的。如果這一趨勢繼續下去,由于更多的比特幣使用和更高的比特幣價格,它將禁止普通金額的價值轉移,它將只會成為非常大金額的有效價值存儲。”Salter補充道:“這就是為什么我認為第二層解決方案不僅對于比特幣作為貨幣的使用是必要的,而且對于比特幣作為價值儲存手段的長期可行性也是必要的。”(Cointelegraph)[2021/1/22 16:48:07]

總的來說,Cell模型是一個廣義的UTXO模型,具有以下兩個意義:第一、鎖是可定制的;第二、盒子可以存儲用戶定義的數據。

有些人可能會對Cell模型如何使用其編程模型感到好奇。

首先理解區塊鏈系統的演變是很重要的。比特幣是p2p支付系統的衍生,后來又誕生了更廣義的分散式應用平臺——以太坊。區塊鏈的進一步發展帶來了各種各樣的新項目,而且越來越多樣化。

聲音 | 礦海學院創始人Andy:如何利用金融工具鎖定利潤是新時代礦工必須補的一門課:在今日TokenInsight對話首席第20期《比特幣挖礦,你真的懂嗎?》的直播中,針對“是否在未來會出現更加智能的豐枯水期預測工具以輔助礦工進行決策?的提問,礦海學院創始人Andy指出:枯水期來臨,電力資源減少,勢必會淘汰小算力的機器,受影響的將是這部分礦工群體。2019年四川灃水期延遲,這讓很多礦工機器停放在礦場無電可挖,如果有準確的灃枯水期預測工具,相信會為礦工提供更好的決策參考。現在大部分礦工考慮的是如何能夠找到低價合規穩定的電力資源,然后大部分礦工應該都希望比特幣的價格可以漲起來,早期礦工依靠囤幣就可以賺錢,這在幣價上漲行情下可行,可是2018年持續下行,如何利用金融工具鎖定利潤是新時代礦工必須補的一門課。[2019/9/6]

由于需要全網共識的交易和存儲成本高昂,因此區塊鏈不可避免地采用一種架構。該架構允許在一致同意的范圍內實現靈活性,從而允許它們大規模地交付低成本交易。

兩大主要障礙

——可擴展性問題

繼續阻礙區塊鏈發展的一個障礙是可擴展性問題。如果我們無法緩解這一問題,區塊鏈能力將受到限制,我們將無法看到強大的高級應用程序的開發,繼而釋放分散經濟的真正潛力將面臨挑戰。

可擴展性是“區塊鏈三難”的一部分,其中還包括安全性和分散性。而一個區塊鏈系統最多可以具有三難困境中的2個。

——交易成本問題

第二個障礙是交易成本問題。一個社會整體交易成本的降低是衡量一項技術在規模上可行性的最有力指標之一。由于需要全網共識的交易和存儲成本高昂,因此區塊鏈不可避免地采用一種架構。該架構允許在一致同意的范圍內實現靈活性,從而允許它們大規模地交付低成本交易。

動態 | Coinbase研究:學生越來越有興趣了解區塊鏈和加密如何使全世界的人受益:Coinbase博客發文稱,研究表明,學生們越來越有興趣了解區塊鏈和加密如何使全世界的人受益。在2018年至2019年期間,學習區塊鏈中對于“社會公正”的興趣從13%上升到20%。與此同時,學生對于“安全”和“未來應用與增長”的學習興趣在過去一年中都有所下降,分別從37%降至29%和31%至27%。[2019/8/31]

解決方案:分層架構

計算機愛好者知道他們的設備包含一個復雜的分層架構。該分層架構中包括內存、硬盤、多級緩存和各種寄存器。這種架構允許普通大眾低成本使用,同時利用其可伸縮的能力以滿足不斷增長的計算挑戰。

我們可以將相同的設計原則應用于區塊鏈。通過分層的架構,可以創建經濟實惠且通用基礎設施。在我看來,這是區塊鏈驅動的世界唯一可行的未來。隨著Lightning、、Plasma和支付通道的興起,我們已經可以看到這種類型的架構正在興起以及它所促進的用例。在接近這種分層的區塊鏈架構時,重要的是要檢查構成區塊鏈系統的三種不同數據模型之間的關系:UTXO模型,Account模型和Cell模型。

——驗證與計算模型

Cell模型源自UTXO模型,因此是驗證模型。相反,Account模型是計算模型。

在資產從第2層返回到第1層時,第2層解決方案會利用證明提交和驗證機制。而由于第1層扮演的是驗證角色,而不是計算角色,因此我們可以看到UTXO或Cell模型是這種結構的合適方法。

動態 | Kyle Samani發推質疑Block.one如何在兩年時間花掉 8 億美元:著名區塊鏈投資機構 Multicoin 創始合伙人 Kyle Samani 發推質疑 EOS 背后的開發公司 Block.one 如何在兩年時間中燒掉 8 億美元。Kyle Samani 發表推文稱,如果 Block.one 通過 ICO 融資了 40 億美元,現在的資產負債表上有 32 億美元的資產,那么這家有 200 名員工的公司如何在兩年時間里花掉了 8 億美元現金?Kyle Samani 還稱,Block.one 進行了 1.8 億美元風險投資,但這不是支出,即便把這些投資的賬面資產都減記為 0 ,時間也不夠用。而 Staked.us 的聯合創始人 Jonathan Marcus 則表示,Block.one 花費的那 8 億美元中,最少有 5.3 億美元用于股權回購,因為 Block.one 過去兩年共進行了兩次股權回購,一次花費了 3 億美元,最近又回購了 2.3 億美元的股權。[2019/6/3]

——解決規模擴增性問題

目前,以太坊和“下一代”區塊鏈面臨著規模不斷增長的嚴峻挑戰。雖然大規模采用已實現突破,但全節點的數據存儲成本日漸增高,包括各種僵尸帳戶的擴增,也讓情況變得更糟。

使用Account模型時,所有用戶的資產都存儲在一個合約中。如果沒有直接的方法來為每個用戶分割狀態,則很難根據每個用戶占用狀態的容量和持續時間向他們收費。

同時,這對支付通道收費的實施也提出了挑戰。目前在以太坊,交易費用是一次性支付,授予永久性存儲。但鑒于區塊鏈是公共基礎設施,這種模式是不可持續的。我們可以看到,持續支付倉儲空間租金是一種更加合理的方式。

在Cell模型中,每個用戶的數字資產分別存儲在各自的單元中。如果用戶不想繼續持有資產,則可以釋放單元中的數據,并且可以將存儲容量出售或借給其他用戶。這種設計確保了第1層不會無限期地存儲廢棄的資產,并為狀態存儲開辟了新的可能性。

結論

總的來說,當考慮存儲和驗證要求時,Cell模型最適合分層區塊鏈架構的需求。

附:UTXO與ACCOUNT優缺點對比

UTXO模型

UTXO模型中,交易只是代表了UTXO集合的變更。而賬戶和余額的概念是在UTXO集合上更高的抽象,賬號和余額的概念只存在于錢包中。

優點:

計算是在鏈外的,交易本身既是結果也是證明。節點只做驗證即可,不需要對交易進行額外的計算,也沒有額外的狀態存儲。交易本身的輸出UTXO的計算是在錢包完成的,這樣交易的計算負擔完全由錢包來承擔,一定程度上減少了鏈的負擔。

除Coinbase交易外,交易的Input始終是鏈接在某個UTXO后面。交易無法被重放,并且交易的先后順序和依賴關系容易被驗證,交易是否被消費也容易被舉證。

UTXO模型是無狀態的,更容易并發處理。

對于P2SH類型的交易,具有更好的隱私性。交易中的Input是互不相關聯的,可以使用CoinJoin這樣的技術,來增加一定的隱私性。

缺點:

無法實現一些比較復雜的邏輯,可編程性差。對于復雜邏輯,或者需要狀態保存的合約,實現難度大,且狀態空間利用率比較低。

當Input較多時,見證腳本也會增多。而簽名本身是比較消耗CPU和存儲空間的。

ACCOUNT模型

對于Account模型,Account模型保存了世界狀態,鏈的狀態一般在區塊中以StateRoot和ReceiptRoot等形式進行共識。交易只是事件本身,不包含結果,交易的共識和狀態的共識本質上可以隔離的。

優點:

合約以代碼形式保存在Account中,并且Account擁有自身狀態。這種模型具有更好的可編程性,容易開發人員理解,場景更廣泛。

批量交易的成本較低。設想礦池向礦工支付手續費,UTXO中因為每個Input和Out都需要單獨Witnessscript或者Lockingscript,交易本身會非常大,簽名驗證和交易存儲都需要消耗鏈上寶貴的資源。而Account模型可以通過合約的方式極大的降低成本。

缺點:

Account模型交易之間沒有依賴性,需要解決重放問題。

對于實現閃電網絡/雷電網絡,Plasma等,用戶舉證需要更復雜的Proof證明機制,子鏈向主鏈進行狀態遷移需要更復雜的協議。

UTXOVSACCOUNT

對于以上幾個優點和缺點,我們再做一些分析和對比。

第一,關于計算的問題。

UTXO交易本身對于區塊鏈并沒有復雜的計算,這樣簡單的講其實并不完全準確。主要原因是Bitcoin本身的交易多為P2SH,且Witnessscript是非圖靈完備的,不存在循環語句。而對于Account模型,例如Ethereum,由于計算多在鏈上,且為圖靈完備,一般計算較為復雜,同時合約安全性就容易成為一個比較大的問題。當然是否圖靈完備對于是否是賬戶模型并沒有直接關聯。但是賬戶模型引入之后,合約可以作為一個不受任何人控制的獨立實體存在,這一點意義重大。

第二,關于UTXO更易并發的問題。

在UTXO模型中,世界狀態即為UTXO的集合,節點為了更快的驗證交易,需要在內存中存儲所有的UTXO的索引,因此UTXO是非常昂貴的。對于長期不消費的UTXO,會一直占用節點的內存。所以對于此種模型,理論上應該鼓勵用戶減少生產UTXO,多消耗UTXO。但是如果要使用UTXO進行并行交易則需要更多的UTXO作為輸入,同時要產生更多的UTXO來保證并發性,這本質上是對網絡進行了粉塵攻擊。并且由于交易是在錢包內構造,所以需要錢包更復雜的設計。反觀Account模型,每個賬戶可以看成是單獨的互不影響的狀態機,賬戶之間通過消息進行通信。所以理論上用戶發起多筆交易時,當這些交易之間不會互相調用同一Account時,交易是完全可以并發執行的。

第三,關于Account模型的交易重放問題。

Ethereum使用了在Account中增加nonce的方式,每筆交易對應一個nonce,nonce每次遞增。這種方式雖然意在解決重放的問題,但是同時引入了順序性問題,同時使得交易無法并行。例如在Ethereum中,用戶發送多筆交易,如果第一筆交易打包失敗,將引起后續多筆交易都打包不成功。在CITA中我們使用了隨機nonce的方案,這樣用戶的交易之間沒有順序性依賴,不會引起串聯性失敗,同時使得交易有并行處理的可能。

第四,存儲問題。

因為UTXO模型中,只能在交易中保存狀態。而Account模型的狀態是在節點保存,在Ethereum中使用MPT的方式存儲,Block中只需要共識StateRoot等即可。這樣對于鏈上數據,Account模型實際更小,網絡傳輸的量更小,同時狀態在節點本地使用MPT方式保存,在空間使用上也更有效率。例如A向B轉賬,如果在UTXO中假設存在2個Input和2個Output,則需要2個Witnessscript和2個Lockingscript;在Account模型中則只需要一個簽名,交易內容只包含金額即可。在最新的隔離見證實現后,Bitcoin的交易數據量也大大減少,但是實際上對于驗證節點和全節點仍然需要針對Witnessscript進行傳輸和驗證。

第五,對于輕節點獲取某一地址狀態,UTXO更復雜。

例如錢包中,需要向全節點請求所有關于某個地址的所有UTXO,全節點可以發送部分UTXO,錢包要驗證該筆UTXO是否已經被消費,有一定的難度,而且錢包很難去證明UTXO是全集而不是部分集合。而對于Account模型則簡單很多,根據地址找到State中對應狀態,當前狀態的StateProof則可以證明合約數據的真偽。當然對于UTXO也可以在每個區塊中對UTXO的root進行驗證,這一點與當前Bitcoin的實現有關,并非UTXO的特點。

來源:hackernoon.com

編譯:共享財經馬明

Tags:CCOUNTCOUACCdynamiccoinA Hunters DreamCOU幣accelchain

Bitcoin
BNB長期上漲趨勢并未逆轉 蓄勢后有望率先反彈_BNB:bnb提現到錢包要多久

BNB4小時走勢在0.004BTC反復橫盤震蕩,近期連續收出堆量小陽柱,說明有一定的資金關注,MACD0軸上方即將金叉,目前仍處于多頭市場,若能維持放量并站穩0.004BTC上方.

1900/1/1 0:00:00
OCC(太極鏈)6月18日正式上線BTB.io公告_OCC:CHA

尊敬的BTB.io用戶:OCC將于北京時間2019年6月18日上線幣虎全球交易所 上線時間: 開放充值時間:2019年6月18日10:00AM開放交易時間:2019年6月18日15:00PM開放.

1900/1/1 0:00:00
回報率850%? 這個用Python優化的比特幣交易機器人太燒腦_比特幣:TIM

上個月,AI工程師AdamKing結合人工智能在預測方面得天獨厚的優勢,提出使用深度強化學習構建加密貨幣自動交易的程序。在展示模型中,程序的收益率竟達到了驚人的60倍.

1900/1/1 0:00:00
ADN即首發上線BITKER_ADN:HTT

尊敬的BITKER用戶:BITKER將于2019年6月13日16點正式開放?ADN/BTC交易對。充幣將在6月12日16點開啟,提幣將在6月14日16點開啟.

1900/1/1 0:00:00
比特幣時間戳的安全性_比特幣:比特幣市值跌破5000億美元比特幣

JamesonLopp文本文由幣信原創編譯,原文鏈接:https://medium.com/@lopp/bitcoin-timestamp-security-8dcfc3914da6本文版權歸原.

1900/1/1 0:00:00
朝鮮“藍翔”崛起 盜幣5.71 億美元后 又把黑手伸向了韓國_加密貨幣:BIT

老話說得好,人怕出名豬怕壯,它的意思是人越出名越張揚就越容易被攻擊。近日,韓國最大的加密貨幣交易所Upbit遭遇了網絡釣魚事件,這正好印證了這句老話.

1900/1/1 0:00:00
ads