以太坊交易所 以太坊交易所
Ctrl+D 以太坊交易所
ads

一文探討如何在比特幣實現高性能智能合約?_DYDX:NFTLaunch

Author:

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

提起智能合約,很多人的第一反應就是以太坊,甚至在維基百科中搜索智能合約的時候,都會給出如下的定義:智能合約:是一種特殊協議,在區塊鏈內制定合約時使用,當中內含了代碼函數(Function),亦能與其他合約進行交互、做決策、存儲資料及發送以太幣等功能。顯然將智能合約僅僅定義為以太坊功能的一部分有點以偏概全,相比之下,IBM給出的智能合約定義更為準確,更符合現代各類層出不窮的公鏈和合約:IBM定義的智能合約:只是存儲在區塊鏈上的程序,在滿足預先確定的條件時會運行這些程序。它們通常用于自動執行協議,以便所有參與者都可以立即確定結果,而無需任何中間人參與,也不會浪費時間。它們還可以自動完成工作流程,在滿足條件時觸發下一個操作。總結就是:1.存儲在區塊鏈上2.在滿足特定條件下會運行特定邏輯3.運行邏輯不需要任何第三方參與因此滿足這三點的都可以看作是智能合約。其實比特幣,萊特幣以及Doge這些看起來只能轉賬代幣的區塊鏈系統也是滿足智能合約的定義,其實它們的轉賬功能本身也是智能合約的一種。但是我們通常不認為只能轉賬的區塊鏈是智能合約平臺,主要因為它們在第二條下的場景太少,這個特定邏輯被縮限在幾種固定的場景,例如比特幣只有P2PKH,P2PK,P2SH等等標準交易邏輯,能夠使用的場景無非也就是單簽,多簽等很有限的場景,無法根據開發者的需要自由定制執行邏輯,比如更豐富的前提條件,更復雜的邏輯控制,更靈活的合約間交互等等。因此更廣泛意義上的智能合約還要加上第四點:4.圖靈完備,可以執行任意邏輯賬戶模型、UTXO模型與智能合約

dYdX基金會:社區可選擇使用DYDX作為dYdX Chain的L1代幣,最終由治理決定:8月4日消息,dYdX基金會發文探討DYDX的未來。dYdX生態系統正在接近實現dYdX v4開源軟件的潛在主網版本,dYdX Chain將是一個PoS區塊鏈網絡,如果部署在主網上,將需要L1協議代幣來質押給驗證者,以保護鏈的安全并確保L1代幣的質押者來管理網絡。

dYdX社區可以選擇使用DYDX(dYdX v3的治理代幣)作為dYdX Chain的L1代幣(如果在主網發布后部署)。如果這樣的選擇成為現實,鑒于DYDX是基于以太坊的ERC-20代幣,DYDX代幣需要從以太坊遷移到dYdX Chain。

最終由dYdX社區單獨討論并通過dYdX治理決定:

1. DYDX是否應該成為dYdX Chain的L1協議代幣;

2. wethDYDX是否應該在dYdX v3上具有與DYDX相同的治理和效用功能;

3. 如果dYdX社區決定DYDX應該是dYdX Chain的L1協議代幣,那么如何組織并執行任何所需的代幣遷移和或其他必要的操作。[2023/8/4 16:18:59]

賬戶模型

我們熟知的智能合約公鏈平臺,例如以太坊,EOS,Solana等在執行方式上都可以稱作賬戶模型。賬戶模型非常容易理解,和我們的支付寶賬戶,銀行賬戶等等是一種思維方式,每個人有一個或多個「賬戶」,每個賬戶有一個「余額」。A->B轉賬的過程就是從賬戶A的余額中減去X,然后再從賬戶B的余額中增加X。如果給這個轉賬過程增加一些邏輯條件,設定滿足特定的條件,這個轉賬才能發生,那么就形成了智能合約。以太坊內部有一個虛擬機,被稱為EVM,這個虛擬機就是用來監聽特定的條件,滿足條件之后,自動執行轉賬。因為這個虛擬機可以執行編程代碼,因此只需要用計算機高層編程語言編寫邏輯,并且部署到鏈上就可以輕松實現任意的邏輯。這種賬戶模型因為非常貼近面向對象的編程方式,只需要定義成員變量,以及方法,就可以輕松實現任意邏輯。也正因如此,市面上的絕大多數智能合約平臺都是運行在賬戶模型之上。賬戶模型也有一個很顯著的弊端:就是虛擬機在分布式節點的條件下如何保證一致性。由于以太坊上所有的合約都是由發送以太坊交易來驅動的,因此收到交易的順序會影響交易的結果,為了保證所有節點都執行相同的邏輯,就必須保證所有節點收到交易的順序是一致的,如果不一致則會造成混亂。顯然,在分布式的環境下,所有節點很難保持接收交易的一致性,尤其是高頻交易的場景下,如果A給B連續快速發送10筆金額,必須要等到所有節點按順序接收到所有交易后,才能結算完成。如果某個節點先收到了第十筆交易,那么就需要等待其他9筆交易都就位之后,才能處理第十筆。另外,每筆以太坊交易只能進行1對1轉賬,在高頻場景,尤其是多對多的復雜情形下,非常吃力。為了突出以下以太坊的性能問題,我們假設以下場景,A賬戶要給100個人派發紅包。如果使用ETH來發紅包的話,必須按照順序發送給1號,2號,3號...需要構造100個交易,一個接著一個進行發送,節點也必須一個接著一個按次序處理。因為每次發送都要等待上一次余額確定,因此1號,2號他們收到紅包的順序是確定的,100號只有等前面的人都收到紅包之后,才能收到紅包。傳統互聯網應用使用賬戶模型的應用,都要配合數據庫的強一致鎖,或者強事務等來實現賬戶修改的安全,這個問題放在分布式的區塊鏈上就格外顯著。核心原因就是,對賬戶的修改必須遵照嚴格的順序來執行,順序的先后不同可能會導致執行結果的千差萬別。UTXO模型

德國糖果公司Haribo已向美國專利商標局提交NFT相關商標注冊申請:4月27日消息,德國糖果公司Haribo(哈里波)已向美國專利商標局(USPTO)提交了NFT商標注冊申請,涉及基于NFT認證的可下載音頻和視頻、以及與糖果、數字Avatar、卡通相關的多媒體文件和數字藏品。[2023/4/27 14:31:14]

UTXO模型是另一種主流區塊鏈采用的模型,比特幣,萊特幣,DOGE等區塊鏈采用的是這種模型。UTXO的意思是「未花費交易輸出」。這種模型非常類似我們日常使用的現金,可以看做一種改良版的現金。區塊鏈并不記載和維護某個地址有多少余額,記載的是一張張鈔票是屬于哪個地址。比特幣的場景下,某個地址A的余額不能直接查詢到,需要統計有多少張鈔票是屬于A的。比方說,我們有一個錢包,里面放了一張10元,一張100元,還放了一個1塊的硬幣,那么我們可以說,我們的錢包余額是111元,換言之,如果不去計算每一張紙幣與面值,僅憑錢包本身是不知道有多少余額的,這與以太坊支付寶之類的賬戶模型有很大不同。比特幣轉賬的時候怎么轉呢,同樣很接近我們平時使用現金支付的樣子。還是剛才的真錢包,如A要給B付1塊錢,那么A有3種方法可以付給B,給他1塊,給他10塊找回9塊,給他100塊找回99塊。找錢這一點與現金不太一樣,或者可以說是改良的地方。A給B10塊找回9塊,并不是讓B找出來9塊錢還給A,而是A把10塊錢燒掉,然后由系統重新印出一張1塊給B,印出一張9塊給A。經過交易后,A的錢包有一張面值100的鈔票,一張面值9塊的鈔票,還有一張1塊,余額是110塊。根據上面的描述,我們可以知道,比特幣的轉賬和收款就是錢包里的紙鈔不斷消滅和生成的過程。需要知道比特幣地址的余額,就需要把這個錢包地址的所有鈔票拿出來,計算所有面值并求和。同時,比特幣支持多對多交易,比如說可以一筆交易讓A同時給DEF轉賬1塊:1.拿出100面值燒掉,印出99塊還給A,1塊給D。2.拿出10塊面值燒掉,印出9塊還給A,1塊給E。3.拿出1塊面值燒掉,不找零給A,1塊給F。UTXO模型神奇之處就在于,上面3個步驟可以分三個不相關的交易來發送,也可以直接使用1個交易來進行發送。對比以太坊,比特幣要同時發送給100個人,只需要一筆交易就可以讓100個人同時收到錢,性能差距可想而知。這樣就理解為什么央行數字貨幣使用的是UTXO模型了,不然深圳怎么給5萬個錢包發送1000萬數字人民幣?UTXO腳本控制,一個UTXO可不可以被銷毀,控制的粒度是UTXO的級別,對交易沒有順序要求,因此可以進行多對多交易以及并行交易校驗,在現金轉賬的場景下有極高的性能。UTXO腳本智能化

ParaSpace推出激勵計劃,積分未來可兌換為該項目代幣:4月3日消息,據官方推特,NFT借貸協議ParaSpace宣布推出激勵計劃,該計劃中用戶的行為和活動將獲得積分獎勵,積分將在 ParaSpace發布代幣時通過空投兌換為ParaSpace代幣。在第二季度末(2023年6月30日)之前,ParaSpace會將用戶賺取的獎勵積分提高至 300%。

據官方文檔信息顯示,賺取積分的有效行為包括借貸、參與APE質押以及賒購。ParaSpace計劃在完成核心產品和功能開發后加快啟動治理令牌的過程。[2023/4/3 13:41:39]

剛才提到的UTXO模型在并行化上面有極大的優勢,具備突出的拓展性能,但是為什么我們在UTXO的公鏈上很少能夠看到智能合約呢?主要是以下幾點原因:1.UTXO腳本編程較為復雜2.BTC等公鏈限制了腳本類型,腳本體積等3.分布式狀態管理較為復雜我們逐個解釋一下。首先很多人并不知道,其實比特幣是可以自由編程的。我們從Bitcoin的wiki可以看到,Bitcoin有大量操作碼,這種操作碼看上去及其不友好,長得非常像匯編語言。學習過比特幣腳本原理的人應該知道,能不能花費比特幣的判斷是通過一個棧式結構來存儲和校驗的。

Bison銀行推出加密子公司Bison Digital Assets:金色財經報道,Bison銀行推出加密貨幣子公司Bison Digital Assets,由葡萄牙銀行授權,是葡萄牙第一家由銀行控股的虛擬資產服務商。Bison Digital Assets可以對數字資產進行存款、交易、提款,托管,通過Bison銀行快速獲得歐元、美元、英鎊和人民幣的快速結算。[2023/1/13 11:10:45]

棧中依次放入解鎖腳本和鎖定腳本,然后依次執行操作碼,如果最終棧的返回值是true,那么此UTXO可花費,反之不可花費。其實我們熟悉的很多編程語言,在計算機底層執行邏輯的時候,也是棧的結構,比如Java,rust,go等等。以Java為例,Java存在棧內存和堆內存的概念,棧內存主要執行函數內部邏輯,堆內存主要存放對象等數據。由此可見,棧實際上是可以執行任意邏輯的,Java編譯之后的字節碼就是在操作這個棧來實現各種復雜的業務邏輯。比特幣腳本使用的棧和虛擬機雖然不如JVM那么多復雜特性,但是通過一定的組合也是可以實現幾乎全部的圖靈完備邏輯。這里很多人會說比特幣腳本沒有死循環,因此不是圖靈完備。實際上這是故意為之,為了保證計算一定會產生一個結果。其實以太坊等也沒有真正的死循環,gas燒盡之后循環就會停止,比特幣腳本在做循環的時候,需要預先將循環重復寫入到腳本棧中,想做死循環,就要寫一個無限長的腳本,這種交易明顯是毫無意義的,在實際的腳本編寫中,比特幣腳本都會指定一個上限循環次數,確保手續費在合理的范圍內。說了這么多腳本棧,我們來看看比特幣腳本如何實現一些智能合約。一個最典型的合約場景就是ERC721,就是NFT合約。以太坊場景下要創建NFT,首先要部署一個合約賬戶,然后所有的NFT所有權由這個賬戶管理,所有此NFT的轉賬都要和這個NFT合約賬戶交互。在UTXO模型下,我們設計這樣一種UTXO,它內部存在一段數據和代碼,標記此UTXO代表什么NFT,誰可以解鎖,怎么銷毀它,怎么保證上限,那么這個UTXO就可以代表這個NFT。擁有這個UTXO的人就擁有了這個NFT。想要轉賬這個NFT,你就必須用私鑰簽名達成解鎖條件,然后由比特幣礦工來執行你的腳本,判斷你是否可以轉賬這個UTXO。更重要的是,同一個系列的NFT,是分散在不同的UTXO中的,因此只要從分布式全局狀態中找出滿足特定條件的UTXO,就可以判斷出NFT都屬于誰。這些NFT的轉賬可以并行,并且互相之間不會產生影響,這也就提供了最高的性能。因此比特幣合約的思想,就是使用單個UTXO腳本棧來存儲狀態和邏輯,整體狀態由一批UTXO的狀態共同組成,相對應以太坊的合約狀態僅存在于一個賬戶中,對比之下,比特幣的合約就擁有了和UTXO一樣級別的并發能力,也就為大規模的高性能使用打下了基礎。不考慮腳本體積和實用性以及客戶端限制的話,在比特幣上實現上上述邏輯從理論上是完全可行的,但是由于UTXO的獨立特性,實際工程中會遇到兩個難題,一個是UTXO互相感應的問題,另一個是合約溯源防偽的問題,這兩個問題都被MVC鏈給巧妙解決了,因此可以最終實現可實用的高性能UTXO模型智能合約。MVC是一條完美實現比特幣+高性能智能合約的Web3公鏈:1.采用兼容UTXO并行處理能力的一層智能合約技術「MetaTXID方案」;2.結合了UTXO模型優勢,是區塊鏈領域上并發性最高,執行成本最低的Layer-1鏈上智能合約方案;3.首次實現了UTXO模型公鏈的實用性圖靈完備,可滿足一切Web3應用和元宇宙應用的使用場景。MVC如何解決這兩個問題,可以參閱官網白皮書或者等之后詳細解釋。注:本文節選部分章節自知乎文章《淺談比特幣UTXO模型和以太坊賬戶模型的優劣》。原地址

LayerSwap 新增支持將 ETH 從中心化交易所轉移到 StarkNet:金色財經消息,旨在幫助用戶資產從 CEX 轉移到 Layer 2 的項目 LayerSwap 宣布現已在 StarkNet 上線,允許用戶把 ETH 從中心化交易所轉移到 StarkNet。此前,LayerSwap 已支持 Loopring、Immutable X、Arbitrum、Optimism、zkSync 和 Boba Network。[2022/6/4 4:02:30]

Tags:DYDX比特幣以太坊NFTdydx幣最新價格比特幣價格行情走勢圖以太坊幣最新價格6月走勢分析NFTLaunch

幣安app官網下載
星球日報 | Fantom將成區塊鏈Youtube;幣安正驗證其代幣儲備(12月2日)_區塊鏈:ODA

頭條 Apple要求CoinbaseWalletiOS使用其應用內購買系統來支付gas費Odaily星球日報訊Coinbase發文稱,由于Apple阻止了其上一個應用程序的發布.

1900/1/1 0:00:00
解讀UniSwap NFT市場協議不僅僅是聚合器_NFT:Uniswap

作為日交易量達7.7億美元、擁有400多萬用戶的UniSwap來說,進軍NFT市場賽道也意味著新一輪攻防戰的開始,眾多平臺一時都擔憂對方是否會拋出類似SudoSwap那樣初始即王炸的好牌.

1900/1/1 0:00:00
空投埋伏日記:Aztec Network、Zecrey、CertyHQ(12月5日)_LIF:ORM

熊市漫漫,熱點分散。在缺乏明確投資機會的當下,本著“寧可錯付gas,不能放過大毛”的原則,我將視線與精力投向了優質項目交互,說不定還能提前發現下一價值標的,是吧.

1900/1/1 0:00:00
DAOrayaki:賬戶抽象如何確保以太坊大規模采用_ORA:ZK Oracle

賬戶抽象是今年被反復關注的話題,但很少有市場參與者了解它是什么以及它如何改變游戲規則。根據Vitalik的說法,帳戶抽象是“我們一直想要的東西”,并且它一直是“以太坊社區的長期夢想”.

1900/1/1 0:00:00
Pantera Capital調查:加密行業薪酬揭秘_PAN:CAKE

雖然現在是熊市,但也是進入Web3和區塊鏈的好時機,當前Web3行業的全球平均基本工資為128,606美元,就這個數值而言,加密行業的從業者可能比Web2從業者要掙得更多.

1900/1/1 0:00:00
Arthur Hayes:比特幣觸底了嗎?_比特幣:CEL

比特幣作為加密貨幣儲備資產,也是最“久經沙場”的加密貨幣,其價格走勢是我們判斷市場是否已經“觸底”的標志.

1900/1/1 0:00:00
ads