以太坊側鏈支持開發人員在以太坊虛擬機(EVMs)上編碼、部署和運行他們的智能合約。
以太坊區塊鏈是什么?
以太坊區塊鏈是一個平臺,它為開發人員提供了使用區塊鏈技術構建去中心化應用程序的工具。以太坊提供了一個類似于比特幣的平臺,以ETH為媒介進行點對點的去中心化交易。除了數字貨幣,以太坊還可以在沒有任何第三方的情況下運行智能合約,這不僅允許它構建與貨幣相關的應用程序,還可以構建金融、音樂、游戲和所有迭代和細分市場的應用程序。
在以太坊區塊鏈上,礦工們通過工作來獲取以太坊的Token——ETH,為整個以太坊網絡提供“Gas”。開發人員還使用ETH來支付以太坊網絡的交易費用和服務費用。“Gas”用來測量計算一個以太坊節點所需要的能量。用戶使用ETH付費,然而,計算是根據執行某個操作代碼需要多少“Gas”來完成的。因此,每一個智能合約的執行都需要一定數量的“Gas”與之一起發送。
什么是Elastos主側鏈架構?
與以太坊等使用單一區塊鏈層執行每個事務的傳統區塊鏈平臺相比,Elastos采用了獨特的框架——主側鏈架構,來支持其區塊鏈平臺。主鏈主要負責支付交易,側鏈則是為滿足特定的服務而開發。例如:DID側鏈為用戶提供了一種獨特的方法來獲得不受任何第三方控制的去中心化的身份認證;Token側鏈允許用戶創建他們自己的唯一Token;NEO側鏈允許開發人員在NEO虛擬機上編碼、部署和運行他們的智能合約。
最后,以太坊側鏈允許開發人員在以太坊虛擬機(EVMs)上編碼、部署和運行他們的智能合約。要更詳細地了解Elastos側鏈的工作原理,請閱讀:《聚焦系列2:亦來云側鏈和可擴展性解決方案》。
主側鏈架構
為什么我們需要Elastos?
Elastos有一個獨特的區塊鏈架構,每條側鏈都有其特定的功能。以太坊側鏈的功能是允許現有的以太坊開發人員在以太坊側鏈上快速的部署他們自己的智能合約。這意味著,如果已經有人使用可編程語言在以太坊區塊鏈上部署智能合約,那么他們無需進行大量工作,就可以輕松地將這些智能合約移植到Elastos的以太坊側鏈上。并且Elastos以太坊側鏈不僅有可以使智能合約移植到Elastos生態系統上這一功能,Elastos以太坊側鏈與以太坊區塊鏈不同的是,Elastos采用DPoS共識機制,從而顯著增加了TPS(每秒系統處理事務數)。截止到2019年9月,Elastos的DPoS共識機制得到了流通中的ELA超過40%的投票支持。Elastos以太坊側鏈作為一個獨立的區塊鏈,即側鏈,具有優越的可擴展性能和安全性。
截止到2019年9月,Elastos的DPoS共識機制得到了流通中的ELA超過40%的投票支持。
Elastos以太坊側鏈具有以下特點:
1.解決以太坊區塊鏈擁堵問題
以太坊區塊鏈作為一個單一的主鏈結構,導致了計算能力的上限。盡管以太坊區塊鏈中有數千個計算節點,但數據處理速度受到鏈中單個節點的限制,僅用一條鏈來滿足未來的各種需求幾乎是不可能的。Elastos采用了靈活的主鏈和側鏈設計結構。主鏈只負責基本的交易支付,而Elastos以太坊側鏈執行EVM兼容的智能合約來支持各種應用程序和服務。
2.交易回報
以太坊區塊鏈中的礦工通過向區塊鏈生成、簽名和發布塊獲得獎勵(ETH),而在Elastos上,來自主鏈的DPoS超級節點負責側鏈生成、簽名和發布塊。在這個系統中,沒有礦工去爭奪以太坊側鏈的計算能力和挖礦獎勵。DPoS超級節點的回報來自交易費用。此外,在這個系統中,礦工不需要購買采礦機器和使用大量的電力,這最終降低了交易費用。這就是為什么Elastos以太坊側鏈提供了卓越的可擴展性潛力和更便宜的智能合約部署的原因。
3.共享比特幣算力
通過與比特幣聯合挖礦獲得比特幣算力的強大保護。截止到2019年9月,Elastos區塊鏈擁有BTC超過50%的算力。
4.ELA支付Gas費用
使用ELA支付所有以太坊側鏈的Gas費用。
Arthur Hayes:Maelstrom投資范圍聚焦區塊鏈基礎設施公司:4月7日消息,Arthur Hayes 在接受采訪時表示,其與 BitMex 的前企業發展主管 Vaidya 創立的家族辦公室 Maelstrom Capital 目前正在瞄準基礎設施公司,因為這在周期的這一時間段內是有意義的。
Hayes 表示,就像 Compound、Aave 和 Uniswap 均成立于 2017 年,但直到 2019 年才出現在人們視野中一樣。他現在投資的項目的轉折點可能會在 2024 年左右的某個時候出現,屆時市場將開始檢驗這些項目是否兌現了承諾、打造了產品、獲得了客戶,并證明其技術是否有效。
此外,Vaidya 表示 Maelstrom 的投資組合內的公司幾乎都在美國境外。[2023/4/7 13:50:04]
5.同質性資產/差異性資產
支持ERC20和ERC721Token。
6.可實現多個以太坊側鏈
目前,只有一條以太坊側鏈實現了Elastos的DPoS共識機制。如果有必要,可以使用不同的共識機制生成多條Elastos以太坊側鏈,這在技術上是可行的。
7.可編程
Elastos以太坊側鏈是可編程的,這使開發人員可以使用智能合約邏輯來構建新類型的應用程序,其中的應用程序將始終按編程運行。
8.應用程序
支持廣泛的應用程序,包括加密貨幣錢包、金融應用程序、去中心化市場、游戲等。
9.靈活的共識
Elastos以太坊側鏈使用DPoS共識機制。以太坊區塊鏈使用ProofofWork(PoW),目前正在切換到ProofofStake(PoS)。
10.增加可擴展性
支持與以太坊區塊鏈相同的所有開發,但具有更高的安全性和更好的可擴展性。
11.智能合約
允許在合同版本小于或等于0.5.1(截至2019年9月)的情況下,以多種編程語言編寫智能合約,只要它們可以被編譯成EVM(以太坊虛擬機)的“字節碼”。
以太坊區塊鏈的相關應用:數字錢包:Metamask,Status,uPort,Brave,CoinbaseWallet,Opera,Balance,EthereumNameService,Civic,SelfKey,BurnerWallet,MyEtherWallet,Alethio用于投資、存儲和交易數字貨幣的去中心化交易所:IDEX,0x,Loopring,Synthetix,Set,Uniswap,Melonport,MakerDAO,Bancor,ForkDelta,AirSwap,LocalEthereum平臺和市場:Augur,Golem,Ujo,Aragon,sis,RARE,imbrex,AdChain,t0x,OpenSea,Origin,Auctionity,Tokit,EnjinCoin,Veil,Etherisc,NexusMutual,iXledger去中心化融資:MakerDAOCollateralizedDebtPosition,CompoundFinance,Dharma,Marble,BlockFi,Lendoit,ETHlend,InstaDApp,Settle打賞工作:Gitcoin,BountiesNetwork,Ethlance,Numerai,OpenLaw社交網絡:Minds,Peepeth,Akasha,Numa,Indorse,Cent,Livepeer,Refereum,VouchForMe游戲:CryptoKitties,Etheremon,GodsUnchained,FunFair,Etheroll,ETH.TOWN,ChibiFighters,0xUniverse,Lordless,MoonCryptoPolis,CryptoRome,AxieInfinity,HyperDragons,MyCryptoHeroes,MLBChampions,MarbleCards,Mintable,ZED參考來源:https://media.consensys.net/40-ethereum-apps-you-can-use-right-now-d643333769f7
什么是智能合約?
在以太坊的語境中,智能合約不是法律合同。從技術上講,術語“智能合約”是用來描述一個不可變的計算機程序,它作為以太坊網絡協議的一部分,在以太坊虛擬機中確定性地運行。智能合約是完全按照程序運行的計算機程序,沒有任何審查或第三方干預。智能合約可以比作在滿足特定條件時自動執行某些預定操作的自主運行的代碼。
術語“智能合約”本身并不新鮮,早在20世紀90年代,著名密碼專家NickSzabo就創造了這個術語,用來描述“一組以數字形式履行指定的承諾,包括各方履行其他承諾的協議”。所有區塊鏈平臺都有處理代碼的能力。比特幣以去中心化的方式處理代碼,方便雙方進行支付。而在以太坊上,開發人員通過Solidity編寫智能合約,創建可執行更多功能的自定義應用程序。
山大地緯:正在進行聚焦“區塊鏈虛擬數據人”布局:12月20日消息,山大地緯在回答投資者提問時表示,山大地緯把區塊鏈定位于城市、行業、區域的數字化可信基礎設施,結合多年來公司在政務信息化領域的業務實踐,創新“還數于民、數隨人走、跨域通辦”的區塊鏈應用模式,構建區塊鏈“虛擬數據人”,也即與現實世界對應的數字孿生,以及逐步增加的數字原生,形成數字城市的底層支撐。根據業界的發展趨勢,結合山大地緯在區塊鏈的技術儲備和政務服務領域的業務實踐,山大地緯正在進行聚焦于“區塊鏈虛擬數據人”和“可信虛擬服務大廳”的布局,在政務服務領域實踐基礎上拓展為可信虛擬現實服務,打造虛擬柜員、虛擬服務大廳,將線上環境打造的更加真實、便捷,體驗也更好。(新浪財經)[2021/12/20 7:51:17]
智能合約的特征:去中心化,存儲,代碼即法律,默認的備份,避免手工的錯誤執行,去信任執行、自動執行。
一旦智能合約被部署到以太坊區塊鏈或Elastos以太坊側鏈,其代碼就不能更改。因此,使用智能合約構建的應用程序非常透明、安全,并且不受審查。修改智能合約的唯一方法是部署一個新合約。智能合約是確定性的,這意味著無論執行哪種智能合約,對于給定的一組交易,結果始終是相同的。
智能合約的工作原理
智能合約本身無法運行,因為代碼需要虛擬機或底層操作系統才能理解代碼的含義。因此,智能合約首先以Solidity編寫。然后,將這些智能合約編譯為執行智能合約的以太坊虛擬機可以理解的低級字節碼。以太坊區塊鏈和以太坊側鏈上的每個節點都包含一個EVM,因此每當部署一個新的智能合約時,以太坊網絡中的每個節點都會執行它。
需要注意的是,Solidity并不是唯一可以用來為以太坊平臺編寫智能合約的編程語言。支持多種高級編程語言,包括:Bamboo:一種受Erlang影響的語言,具有明確的狀態轉換且沒有迭代流(循環)。旨在減少副作用。Solidity:一種語法類似于Javascript、C++和Java的語言。這是以太坊智能合約中最流行和最常用的語言。Serpent:一種與Python語法相似的編程語言。它還可以用來編寫功能代碼,但是它有時會有副作用。Vyper:一種類似于Serpent的語言,與Serpent相比,它旨在更接近純功能的,其語法類似于Python。LLL:一種功能編程語言,其語法類似于Lisp。在Solidity成為主流之前,它是以太坊智能合約的第一種高級語言,但是通常很少使用。
以太坊虛擬機
眾所周知,以太坊的核心創新是虛擬機(EVM),這也是以太坊智能合約的運行環境。在更專業的術語中,EVM是一個256位的寄存器堆棧,它完全按照預期運行相同的代碼。智能合約是不能簡單地在任何機器或操作系統上運行的計算機程序,它們需要一個能夠理解代碼意圖的專門平臺。與其他虛擬機非常相似,EVM在智能合約代碼和執行機器之間創建了一個抽象的計算機。因此,只要用戶在他或她的計算機上運行以太坊節點,該節點包括EVM,以便運行以Solidity(或支持的任何可用編程語言)編寫的智能合約。但是,EVM本身并不理解以Solidity編寫的代碼,必須首先將智能合約編譯為EVM能夠理解的低級字節碼(即稱為操作代碼的機器指令)。然后,EVM根據給定的一組指令或操作代碼執行特定的任務。
EVM如何執行Solidity編寫的代碼
以太坊虛擬機可以比作準圖靈完備機。它不是100%圖靈完成的,因為EVM執行的計算受Gas限制,Gas可以作為可執行計算數量的上限。在一個完全圖靈完備的機器中沒有限制;圖靈完備是指在給定足夠的時間和內存的情況下可以執行任何可能的計算的系統。這就是EVM可以被認為是準圖靈完備機的原因,因為它確實有必須遵守的界限。
EVM使以太坊得以被成千上萬的開發人員廣泛采用,因為它使得編寫許多不同類型的程序和使用區塊鏈技術執行它們變得很容易,這反過來又使程序更加安全和去中心化。通過這種機制,許多中心化的服務可以使用智能合約進行去中心化。
國際金融論壇2021年春季會議將聚焦碳中和、數字貨幣等議題:中國貿促會5月19日在新聞發布會上表示,國際金融論壇2021年春季會議將于5月29日至30日在北京舉行。據介紹,國際金融論壇2021年春季會議以“后疫情時代:全球治理與國際合作”為主題,議題涉及后疫情時代的全球治理與發展、全球可持續金融、碳中和與全球投資機遇、數字貨幣與未來數字化轉型等。(上證報)[2021/5/19 22:18:55]
智能合約的生命周期以及EVM的執行方式
以下是EVM的工作原理:1.開發人員使用Solidity來編寫智能合約。2.智能合約被編譯成稱為字節碼的低級機器指令。字節碼用于存儲EVM可以理解的操作代碼,因為它占用的空間更少,從而提高了效率。在撰寫文本時,有超過140個獨特的操作代碼,這些操作代碼使得EVM能夠執行以Solidity編寫的智能合約代碼。有堆棧操作代碼、算術操作代碼、比較操作代碼、環境操作代碼、與程序計數器相關的操作代碼等等。3.然后,EVM將字節碼分成字節并開始執行操作代碼。EVM有一個設計局限性,因為它源于256位寄存器堆棧,從中只能一次訪問或操作最近的16個項目。由于這種限制,復雜的操作代碼使用合約內存來檢索或傳遞數據。內存并不是持久的,所以當智能合約完成執行時,內存內容不會被保存。因此,智能合約使用合約存儲來無限期地存儲數據。4.合約存儲類似于一個公共數據庫,可以從外部讀取其中的值,而不必向合約發送事務,因此不會產生任何費用。但是,寫入存儲代價非常昂貴,大約是寫入內存的6000倍。5.所有合約代碼執行都由以太坊上的每個節點運行。因此,為了避免攻擊者試圖通過創建執行起來很昂貴的合約來降低網絡速度的情況,每個操作代碼的執行成本都很高,有些操作代碼甚至會收取動態的Gas費用,因此對于所有140多個可用的操作代碼來說,Gas費用是不一樣的。這就是為什么執行大量的智能合約是非常昂貴的,因為每個智能合約可能使用許多不同的操作代碼,而每個操作代碼都需要花費大量的執行成本。6.因此,存儲在以太坊區塊鏈上的實際上是操作代碼,而不是智能合約。并且,根據操作代碼的設計目的,以太坊網絡每個節點上的EVM都參與執行。
EVM體系結構
在以太坊區塊鏈上運行的EVM存在幾個潛在的問題,而Elastos以太坊側鏈是專門為解決這些問題而設計的。首先,以太坊區塊鏈上有成千上萬個節點,每次部署智能合約時,這成千上萬個節點中的每一個都要參與執行,很明顯這樣效率非常低。另一方面,Elastos以太坊側鏈采用了DPoS共識,其中36個超級節點在任何時間點都參與了共識,這是一個更高效的模型。要了解DPoS超級節點,請參閱:《聚焦系列3:亦來云的混合共識機制》
EVM在以太坊區塊鏈上運行的另一個問題與Gas成本有關。如果有大量的智能合約被部署到網絡上,礦工就會開始增加執行哪怕是非常簡單的智能合約的Gas成本。因此,Gas價格大幅上漲。這一點尤其重要,因為這正是游戲Cryptokitties部署到以太坊區塊鏈期間發生的事情。Cryptokitties擁有超過27,000名注冊用戶,以太坊網絡的使用率上升至25%以上。結果,以太坊網絡很難跟上貓的數量,而Cryptokitties交易需要更高的Gas才能及時執行。反過來,以太坊網絡上的所有交易的Gas費用都上漲了,這對以太坊的所有用戶都產生了負面影響,即使是那些沒有參與Cryptokitties的用戶。
在Elastos以太坊側鏈上,Gas成本是以太坊區塊鏈的很一小部分。其次,沒有數千個節點驗證以太坊側鏈的塊。而是有36個超級節點,因為Elastos對側鏈采用DPoS共識。第三,如果像Cryptokitties這樣的著名游戲被部署在Elastos以太坊側鏈上,這些區塊將正常生產,而不會顯著提高Gas費用。然而,正如《聚焦系列2:亦來云側鏈和可擴展性解決方案》中所提到的,“在未來,如果有一天一個以太坊DApp突然流行起來,并接收大量用戶、數據和交易,那么一條以太坊側鏈可能是不夠的。在這種情況下,可以創建一條額外的以太坊側鏈,并將大量流量的DApp放在該側鏈上。這個過程可以重復多次迭代,以支持幾乎無限的DApp。屆時,我們可能會看到不是一個,也不是兩個,而是五個以太坊側鏈在Elastos的基礎設施上同時運行。這就是Elastos構建的可擴展性的優勢。
Elastos以太坊側鏈是如何工作的?
Elastos以太坊側鏈是一個基于交易的狀態機。狀態機讀取一系列輸入并根據結果轉換到新狀態。以太坊上的狀態是一個區塊,這意味著每個新塊都依賴于前一個塊的狀態。前一個塊的哈希存儲為當前塊的一部分,這使得區塊鏈不可變且幾乎不可能被篡改。Elastos以太坊側鏈由賬戶、狀態、Gas和費用、交易、區塊和Tokenomics組成。下面我們將一一介紹。
昆明將聚焦區塊鏈等高新技術產業項目:昆明將聚焦新材料、人工智能、5G通訊、大數據、云計算、區塊鏈等代表當前時代發展趨勢的高新技術產業項目,激勵駐昆科研機構、高校、企業實施創新發展戰略,不斷開發新技術、吸引新人才、發展新產業。為此,計劃實施106個項目,總投資1381億元,2020年計劃完成投資306億元。(昆明日報)[2020/4/23]
賬戶
以太坊網絡(不管是在以太坊區塊鏈還是Elastos以太坊側鏈上)始終跟蹤一個全局狀態:世界狀態。這種狀態由許多稱為賬戶的彼此交互的小節點組成。每個賬戶都有一個狀態和一個20字節的地址。以太坊有兩種賬戶:
外部擁有的賬戶(普通賬戶):這些是用戶在以太坊上創建的賬戶,用于相互進行交易,并由私有密鑰控制。任何時候,用戶在支持以太坊的在線加密貨幣錢包上創建以太坊地址時,都將創建以下類型的賬戶。當用戶A向用戶B發送ETH或ELA時,他們是在兩個正常賬戶之間進行交易。
合約賬戶:這些賬戶由智能合約代碼控制。代碼執行可能有來自普通賬戶的事務或從其他智能合約接收的調用觸發,合約賬戶具有與之關聯的特定邏輯。例如,可以將合約賬戶設計為在超過每日限額后需要多個簽名。通常,普通賬戶會發送一筆交易以激活合約賬戶代碼,從而允許它執行各種操作。合約賬戶有兩種類型:簡單賬戶和多簽賬戶。
兩種類型的以太坊賬戶
需要注意的是,普通賬戶不需要任何創建成本,而合約賬戶需要。合約賬戶受代碼的約束,不能自己發起新的交易。對于智能合約而言,代碼就是法律,因為每個智能合約都有自己的以太坊賬戶。
智能合約不能單獨啟動
狀態
在Elastos主鏈上,主鏈“狀態”由未使用的事務輸出(UTXOs)表示。通過創建一個事務并添加一個或多個UTXOs作為事務的輸入,當用戶花費一個或多個UTXOs時,ELA從一個用戶轉移到另一個用戶。這里舉一個簡單的例子:如果用戶的錢包里有1ELA,想發送0.8ELA給用戶B,此時用戶A不能簡單地發送0.8ELA給用戶B。相反,用戶需要給自己0.2ELA改變相同的事務的一部分。如果用戶A不這樣做,則需要向聯合挖礦的礦工支付0.2ELA。通常,普通用戶不必擔心自己會執行所有這些操作,因為錢包會自動設置為執行這些操作。此外,Elastos主鏈不維護用戶賬戶余額。相反,ELA主鏈Token持有者在任何給定時間點持有一個或多個UTXOs的私有密鑰。錢包負責所有的后臺事務,因此普通用戶看不到。當用戶查看ELA錢包中的余額時,它實際上是持有相應私鑰的每個UTXO的總和。
基于UTXO的區塊鏈如何工作
以太坊區塊鏈以及Elastos以太坊側鏈,不使用UTXO模型。他們使用“以太坊世界狀態”,能夠管理所有賬戶余額。創世區塊是以太坊的第一種狀態。已進行的每筆交易,已部署的每份智能合約以及已執行的每項挖礦操作都已將全局狀態從一種狀態更改為另一種狀態。全局狀態實質上是賬戶地址和賬戶狀態之間的映射,該映射存儲在稱為MerklePatricia樹的數據結構中。默克爾樹使以太坊能夠在一個全局狀態下有效地存儲所有信息。Merkle樹中的哈希向上傳播,這意味著如果有用戶作惡,試圖將偽造交易交換到Merkle樹的底部,則上述節點的哈希將發生變化,同樣,該節點上方的哈希也將發生變化,直到樹的根節點受到影響。以太坊塊包含狀態和交易的根哈希,因此該結構在密碼上是安全的,它用于安全地識別以太坊網絡上的所有數據。
賬戶狀態包含有關特定以太坊賬戶的信息,該信息存儲一個賬戶擁有多少ETHELA以及每個賬戶發送的交易數量。每個賬戶狀態都包含以下字段:隨機數,余額,StorageRoot和CodeHash。對于普通賬戶,CodeHash將為空,而對于合約賬戶,CodeHash將包含該賬戶的EVM代碼的哈希。該字段是不可變的,這意味著如果部署了錯誤的智能合約,則以后無法在智能合約代碼中對其進行修改。而是必須使用更新的代碼部署新的智能合約。從這一點開始,區塊鏈上將永遠存在同一智能合約的兩個版本:一個是錯誤的,一個是安全的。
昆明市將聚焦區塊鏈等高新技術產業項目,計劃實施106個項目:昆明市發展改革委將通過持續強化基礎設施建設、加快推進產業轉型升級、深入推進新動能建設、持續強化創新驅動、突出“補短板”領域投資等五個方面的工作,高標準高質量推進2020年重大項目建設。在基礎設施建設方面,昆明將全面推進以“雙十”重大工程為重點的基礎設施建設,有力支撐昆明經濟社會跨越式發展,共計劃實施207個項目。在新驅動上,將聚焦新能源、新材料、人工智能、5G通信、大數據、云計算、區塊鏈等具有時代發展趨勢的高新技術產業項目,共計劃實施106個項目。(昆明日報)[2020/3/10]
部署后的智能合約將永遠保留在區塊鏈上。要修改智能合約代碼,必須部署新的智能合約,并且必須將相關應用程序定向到新的智能合約才能生效。
Gas費
在以太坊網絡上執行的每一次計算都需要付費,沒有免費的東西。在以太坊側鏈上向另一位用戶發送付款會產生費用,部署和執行智能合約也是如此。該費用以所謂的“Gas”支付。Gas本身并不是代幣,而是一種用于計量特定計算所需費用的單位。Gas價格決定了用戶愿意花多少錢進行特定交易,并以ETHELA計量。每筆交易都有Gas限額和與之相關的Gas價格。Gas價格和Gas限額的乘積代表發送方愿意為執行交易支付的最大ETHELA金額。舉個例子:最高交易費用計算。
0.008ELA的金額是用戶愿意在給定交易中花費的最大值。因此,如果交易成本降低,則會退還用戶剩余的金額。但是,如果交易成本更高,則該交易被視為無效,因為以太坊網絡節點嘗試執行交易,但在完成交易之前就用光了Gas。因此,使用過的Gas已經用完,無法退還給用戶。在Elastos以太坊側鏈上,每個計算都由DPoS超級節點執行,并且每個節點都使用自己的計算機資源來運行這些計算。因此,該費用將發送給超級節點所有者。
在以上場景中,我們討論了計算,因此所需的數據計算功能都保存在內存中。一旦計算完成,數據將永遠丟失,因為它將不再存儲在內存中。用戶還可以選擇將一些數據保存在存儲中,也就是說,數據將存儲在以太坊側鏈狀態數據庫中。在這里Gas也用于支付存儲費用。由于狀態數據庫上的數據必須存儲在所有以太坊節點上,因此用戶和開發人員通常都不想保存大量數據,因為這會變得非常昂貴。為了存儲更多數據,鼓勵開發人員使用其他Elastos服務,例如Hive,該服務在存儲大量數據方面具有成本效益,并且是去中心化的。以太坊虛擬機上的計算步驟本質上是昂貴的,因為智能合約的每個操作都需要在以太坊側鏈網絡的每個節點上執行。因此,以太坊區塊鏈和Elastos以太坊側鏈被設計為運行非常簡單的邏輯,并且不用于諸如文件存儲和機器學習之類的復雜計算,因為這類復雜的計算給網絡帶來了巨大壓力。即使Elastos將以太坊作為側鏈之一運行,運行復雜任務的成本仍然過高。從理論上講,如果只有一個DApp在以太坊側鏈上運行,則它可能能夠執行一些復雜的計算,然而以太坊側鏈由其他DApp共享。但是即使在這種理想化的側鏈結構中,以太坊側鏈仍然是一個區塊鏈,不應該用于所有事物。未來,以太坊側鏈可能會出現另一個側鏈,該側鏈可以成為允許大量計算的Elastos區塊鏈平臺的一部分。對于復雜的任務,可以與ElastosHive,ElastosCarrier以及運行應用程序的物理設備一起執行以太坊側鏈服務。這樣,繁重的計算將在設備本身上執行,而不是在以太坊側鏈上執行,以太坊側鏈僅用于運行簡單的業務邏輯和智能合約,這些合約是根據外部源的某些操作觸發的。
交易次數
無論是從一個人向另一個人發送ETH或ELA,還是部署智能合約,在Elastos以太坊側鏈上執行的每個操作都是某種交易。在觸發合約定義的某些條件之前,無法自主執行智能合約。如果智能合約通過所謂的“內部交易”存在于以太坊的全球節點范圍內,那么它們之間也可以相互通信。智能合約可以相互發送消息并以此方式進行通信。這種交換與常規交易的功能非常相似。但是,它們不是由普通賬戶生成的,它們必須由合約賬戶生成。由于普通賬戶沒有向智能合約發送消息,因此沒有合約決定的Gas限額。相反,Gas限額已經是智能合約部署的一部分,最初由普通用戶設置。此機制在部署智能合約時引入了另一個警告:部署智能合約的用戶需要將其智能合約的Gas限額設置為足夠的水平,以便該合約可以在必要時向另一個合約發送消息。如果在向其他智能合約地址發送消息時智能合約地址用完了該Gas,則該消息將無效并且不會發送。
區塊
一個區塊包含一組交易,并且一組區塊以鏈的形式鏈接在一起,因此被稱為“區塊鏈”。
Tokenomics
以太坊區塊鏈和Elastos以太坊側鏈之間的主要區別之一是它們使用的幣種不同。以太坊區塊鏈使用ETH,而Elastos以太坊側鏈使用ETHELA。在以太坊側鏈的創世區塊中,側鏈包含0ETHELA。這是因為在Elastos區塊鏈平臺上,整個生態系統都使用相同的基礎貨幣ELA。ELA用于Elastos主鏈,DID側鏈,Token側鏈以及以太坊側鏈。因此,要使用以太坊側鏈,用戶必須首先將ELA從主鏈轉移到以太坊側鏈地址。然后,他或她可以開始使用以太坊側鏈將ETHELA發送給其他用戶或執行智能合約。
為了使用以太坊側鏈服務,用戶必須首先將ELA從主鏈轉移到以太坊側鏈地址。
需要注意的是,在以太坊側鏈上使用ELA,以太坊側鏈的等待時間為15秒,而主鏈的等待時間為2分鐘。這意味著用戶無需等待2分鐘即可將交易添加到以太坊側鏈區塊。此過程依賴于DPoS超級節點的共識,這就是為什么要向其他用戶發送ETHELA的用戶只需等待15秒,智能合約執行也是如此。但是,當用戶要將ELA從主鏈轉移到ETH側鏈時,理論上所需的總時間約為2分20秒:主鏈凍結時間為2分鐘,ETH為15秒側鏈等待時間,以及5秒用于仲裁程序驗證的時間。但是實際上,所需的總時間為12分鐘,因為如果不等待6個塊來處理,則會在回滾時出現問題。當主鏈上的事務需要執行回滾時,已發送到側鏈的事務也需要回滾。從側鏈到主鏈的反向交易也是如此:如果側鏈上的交易需要回滾,則主鏈也需要按順序回滾。考慮到這種可能性可能會變得非常復雜,并且由于Elastos具有許多側鏈,這種回滾可能幾乎無法管理。因此,在主鏈和以太坊側鏈之間轉移ELA的實際總時間大約需要12分鐘。
從以太坊側鏈發送ETHELA到Elastos主鏈
如果用戶想要將ETHELA轉換為其他區塊鏈中的Token,則他或她首先必須將ETHELA從以太坊側鏈轉移到Elastos主鏈;只有這樣,他或她才能將這些ELA轉移到Elastos生態系統之外。通過這種機制,以太坊側鏈被比特幣的哈希算力有效地保護。盡管ELA可以在任意側鏈中以較短的區塊時間自由循環,但必須先返回主鏈,然后才能轉移到Elastos區塊鏈之外。由于此過程中的最終交易始終在主鏈上進行,因此Elastos主鏈的安全性將遞歸地傳遞給所有側鏈,而與它們的共識機制無關,無論是PoW,DPoS,BFT還是其他形式。
智能合約和去中心化應用程序之間的差異
重申一下,智能合約是一段代碼,可以保證產生相同的結果,而與運行它的人無關。在以太坊上,智能合約以Solidity編寫,并被編譯成由一組操作代碼組成的字節碼。以太坊虛擬機可以理解這些操作代碼,并且無論哪個節點運行一段具有給定參數的智能合約代碼,智能合約都將始終產生相同的結果。但是EVM不是可以執行任何邏輯的通用虛擬機,因為它只能運行有限數量的操作代碼。因此,盡管智能合約的誕生使將區塊鏈技術用于各種目的變得更加容易,但僅智能合約并不能支持完全去中心化的基礎設施。智能合約本身是去中心化的,一旦部署它們就沒有實體可以控制它們,區塊鏈本身也是去中心化的,但是個人無法構建僅由智能合約組成的完整網站或復雜的應用程序。
舉個例子:一個開發人員想要創建一個預測天氣預報的網站或應用程序。當預測正確時,開發者的朋友就必須付錢。當預測錯誤時,開發者就必須付錢給朋友。這看起來像是一個簡單的應用程序。實際上,確實如此。然而,為了實現這個場景的目的使用智能合約很重要,這樣可以保證開發人員和朋友都不會作弊。對于應用程序來說,具有訪問當前天氣數據的能力也很重要,以便智能合約可以確定預測是否準確。該應用程序還需要某種邏輯,可以將一個帳戶中的資金轉移到另一個帳戶中,等待結果。開發人員可以執行以下操作:使用以太坊側鏈創建單獨的以太坊錢包,并購買一些ETHELA。這可以使用以太坊API在應用程序中輕松編碼,并且很安全,因為區塊鏈直接用于創建這些錢包。
從這里開始,開發變得更加復雜,因為一旦做出天氣預報,應用程序必須從某處獲取真實的天氣數據。在這里,它必須依靠第三方來訪問天氣數據,并且這個過程不再去中心。即使此數據檢索過程可以去中心化進行,下一個步驟是通過應用程序預測明天的天氣,這意味著應用程序必須將此預測保存在某個地方。將數據保存在區塊鏈上非常昂貴,因此存儲預測數據需要訪問外部數據庫,而該數據庫當然不會是去中心化的。然后,第二天到來,根據天氣預報的準確性執行智能合約。如前所述,由于區塊鏈在自己的網絡上運行,因此智能合約不能簡單地自己執行,也不能直接與外部資源進行交互。因此,智能合約必須使用Oracle服務與現實世界進行通信。Oracle服務是中心化的,但是即使在去中心化的Oracle服務允許應用程序檢索天氣數據的情況下,仍然存在更多挑戰。
一旦智能合約看到開發者的天氣預報并將其與實際天氣進行比較,它就會將ETHELA從一個以太坊錢包轉移到另一個以太坊錢包,以等待預測的準確性。盡管可以以去中心化的方式執行此操作,但該應用程序仍必須運行并且必須在某個地方運行,因為普通用戶不會直接在區塊鏈節點上與區塊鏈進行交互,而是在自己的設備上使用該應用程序,因此該應用程序需要放置在類似于應用程序商店的地方。如果使用iOS,則由AppleStore管理該應用;如果應用程序是網站,則必須將其托管在某個地方。這些模型都不利于去中心化。要指出的是,即使是簡單的應用程序也需要比智能合約更多的功能來以去中心的方式運行。僅憑智能合約無法支持成熟的去中心化應用程序,因為它們只是EVM在觸發操作時執行的微小邏輯。實際上,這個簡單的天氣預報應用程序的大多數功能既沒有去中心也沒有擴展。
了解智能合約和DApp之間的區別也很重要。DApp包含智能合約,但智能合約本身不是DApp。為了讓整個應用程序去中心,需要去中心許多不同的部分。不用說區塊鏈行業不存在,世界上根本還不存在。區塊鏈只是難題的一小部分,它不能解決世界上所有的問題,也不能用于編寫整個應用程序。雖然以太坊側鏈非常適合編寫防篡改的智能合約,但還需要利用其他去中心化服務,例如用于身份驗證的ElastosDID,用于對等消息傳輸的ElastosCarrier和用于去中心化存儲的ElastosHive。通過結合所有這些固有的去中心化技術,開發人員也許可以創建真正的去中心化應用程序。
Elastos以太坊側鏈的共識
Elastos主鏈與比特幣聯合挖礦,并具有AuxPoW+DPoS共識。將ELA與BTC聯合挖礦的PoW礦工負責打包交易并生產區塊,而DPoS超級節點則對區塊進行驗證和簽名。Elastos以太坊側鏈使用DPoS共識。因此,以太坊側鏈不受主鏈速度的限制,并且可以在生產區塊時獨立工作。這是一項主要優勢,因為其15秒的等待時間足夠快,可以執行現實情況下的大多數事務。最重要的是,現有的以太坊區塊鏈開發人員可以輕松地將以Solidity編寫的現有智能合約移植到Elastos以太坊側鏈。截至2019年9月,Elastos以太坊側鏈尚未采用完整的DPoS共識,因為只能通過Elastos區塊鏈團隊管理的白名單程序訪問側鏈。因此,只有12個CRC超級節點參與生成塊并對其進行簽名。但是,將來所有36個超級節點都將參與生產區塊并對其進行簽名,屆時,Elastos以太坊側鏈將真正去中心化。
截至2019年9月,僅12個CRC超級節點參與了Elastos以太坊側鏈的區塊生產和驗證過程。
將來,所有36個超級節點都將參與Elastos以太坊側鏈的區塊生產和驗證過程。
與所有開發一樣,以太坊側鏈在這樣的早期階段尚未完全去中心化是至關重要的。如果存在錯誤,可以盡早發現并有效修復。雖然以太坊側鏈上的數據傳輸過程是去中心化的,但節點的控制尚未去中心化。從部分去中心化的模型開始,然后隨著側鏈變得更加穩定,逐漸朝著100%去中心化的方向發展,這是Elastos的核心理念,因為Elastos主鏈在開始時也是一部分去中心化,并且此后隨著發展逐步完全去中心化。以太坊側鏈將與主鏈一樣經過嚴格的測試,并且當它充分成熟穩定時,所有36個超級節點都將參與其DPoS共識。
Elastos以太坊側鏈如何適應Elastos生態系統?
Elastos以太坊側鏈只是Elastos區塊鏈平臺許多側鏈中的一條,還有主鏈,DID側鏈,Token側鏈和NEO側鏈。未來,隨著Elastos區塊鏈可以水平擴展,以適應更多的需求,以不同的共識容納更多的側鏈,很有可能還會有更多。以太坊側鏈提供了一種以Solidity編寫的智能合約的方式,其等待時間約為15秒。這些智能合約的目的不是編寫整個應用程序,而是用作去中心化關鍵業務邏輯的工具。對于諸如去中心化ID身份驗證之類的東西,可以利用DID側鏈。要編寫與NEOVM兼容的智能合約,可以使用NEO側鏈。要編寫用于消息傳遞,音頻交換或視頻呼叫的安全的點對點通信系統,可以使用ElastosCarrier。想要以經濟高效和去中心化的方式存儲任何類型的數據,可以使用ElastosHive。最重要的是,這些服務可以獨立運行,也可以共同運行,以生成復雜的,去中心化的應用程序,而這些應用程序是無法單獨使用以太坊側鏈創建的。
ETHForks,ETH2.0和以太坊區塊鏈的未來
許多人認為,當前的以太坊區塊鏈仍處于起步階段,因為它既不完全安全也不完全可擴展,并且不能用于構建復雜的,高吞吐量和依賴大數據的應用程序。但是,隨著即將到來的重大升級,大量核心基礎設施的變化正在進行中。這些變化包括使用支付和狀態通道,側鏈,等離子,分片等將以太坊區塊鏈過渡到DPoS共識。簡而言之,目標是設計一個經過改進的新基礎架構,使其更加去中心化,可擴展,安全,簡單和可持續。在網上有很多關于以太坊未來路線圖的信息。由于這些更改都是通過以太坊2.0實現的,因此Elastos以太坊側鏈也可以升級為采用類似功能,這就是開源和去中心化技術的力量。或者,當以太坊2.0穩定時,可能會開發出一個全新的以太坊側鏈,稱為“以太坊2.0側鏈”。Elastos不會與其他項目競爭。相反,它正在通過將成熟的技術集成到其自身的生態系統中來對它們進行補充。這樣,基于Elastos的開發人員可以創建復雜的去中心化應用程序,而無需離開Elastos生態系統。
未來可以在Elastos區塊鏈平臺上支持以太坊2.0的一種方式。
Elastos以太坊側鏈帶來了更多可能性的未來
隨著我們向開放白名單的合作伙伴和開發人員開放側鏈并向公眾提供完全訪問權限,Elastos以太坊側鏈的未來將更加光明。許多項目已經開始將其現有的以太坊區塊鏈項目移植到Elastos以太坊側鏈,以集成并利用Elastos提供的整套生態系統服務。請參閱以太坊側鏈項目小組的網站,以了解有關以太坊側鏈項目小組團隊職責的更多信息。如果您滿腦創意,請開始使用可部署到Elastos以太坊側鏈的智能合約開發DApp。
Tags:以太坊區塊鏈ELA以太坊幣是什么幣區塊鏈工程專業學什么區塊鏈存證怎么弄區塊鏈技術發展現狀和趨勢ELA幣ELA價格
“何方妖孽?”這是狗子在看到Mask首日行情表現后的第一反應。上線首日,Mask開盤價$0.95,當日最高價達到$65,最高漲幅達6742.1%.
1900/1/1 0:00:00讓我們深入了解加密貨幣的迷人世界,在這里,傳統的貨幣體系與尖端科技相遇。特別是,我們將探索PiNetwork背后的革命性概念,這是一種旨在重新定義我們感知和使用金錢的方式的數字貨幣.
1900/1/1 0:00:00回鶻汗國鑄造的“日月光金”錢幣我們都知道,兌換貨幣是現代人走出國門前,準備工作中的一個必要環節.
1900/1/1 0:00:00索尼推黑卡RX0相機,售價700美元索尼在IFA展前新聞發布會上正式推出黑卡RX0相機,該相機將在10月份上市銷售,售價700美元.
1900/1/1 0:00:00關于3月份需要關注的關鍵加密貨幣催化劑的線索宏觀經濟催化劑:-3月14日和3月22日將是值得關注的關鍵日期,因為2月的CPI數據和美聯儲隨后對上述數據的決定將分別公布.
1900/1/1 0:00:00作者何平系中國人民大學財政金融學院教授,本文轉自4月8日“IMI財經觀察”微信公眾號。 導讀 第19屆世界經濟史大會于2022年7月25-29日在法國巴黎召開.
1900/1/1 0:00:00