比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > NEAR > Info

真正理解以太坊智能合約_以太坊

Author:

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

編者按:本文來自藍狐筆記,作者:GjermundBjaanes,編譯:Dyna,星球日報經授權發布。前言:智能合約這個詞你可能聽過無數遍,但有多少人真正理解什么是智能合約?本文幫你深入理解以太坊智能合約。本文作者是GjermundBjaanes,由“藍狐筆記”社群的“Dyna”翻譯。你可能聽說過“智能合約”,甚至可能知道它們是在區塊鏈上運行的代碼。但是你如何才能在區塊鏈上運行代碼?這不是可以輕易理解的簡單概念。本文解釋了智能合約是如何在以太坊區塊鏈上運行的。對編程的基礎理解將會有所幫助,因為本文包含了一些用于舉例的簡單代碼。為了清晰起見,本文將其中的一些技術細節稍微進行了簡化,但概念是有效的。區塊鏈-快速入門

這里不講太多細節,區塊鏈技術的核心概念是分布式賬本。它是一種在眾多參與者之間共享的特殊類型的數據庫。這個特殊的數據庫就是一個交易列表,記錄了網絡中發生的每一筆交易。每個人都有一個副本。這種去中心化分布結合強有力的貨幣激勵措施,消除了各方之間信任的必要性。傳統意義上,當事人之間的信任是通過中間人,即第三方來解決的,比如Paypal、銀行。與你不信任的人之間的交易將通過雙方都信任的中間人進行。有了區塊鏈,這種需求消失了。因為你可以把你的信任放在網絡上,在這里,強有力的激勵措施消除了作弊欺騙的欲望(簡而言之:遵守規則更有利可圖)。

波卡創始人Gavin Wood:真正去中心化和安全性比網絡高性能更有價值:金色財經報道,波卡創始人Gavin Wood在推特上疑似對昨天Solana網絡問題發表評論,他表示,今天的加密事件表明,雖然有些項目可以提供獨立且封閉的服務器,交易處理性能更高,TPS數值也更大,但真正的去中心化和精心設計的安全性更有價值,如果你不能運行一個全節點,那么和傳統銀行沒有什么兩樣。Solana網絡昨晚出現問題,經歷間歇性的不穩定性,之后發現問題是因為資源耗盡導致拒絕服務,至今已達12小時,Solana鏈上應用至今無法正常運轉。SolanaStatus發布的信息稱,Solana驗證人社區選擇協同重啟網絡,快照高度為slot96542804,并建議驗證節點更新至Mainnet-Beta1.6.24版本。[2021/9/15 23:25:46]

更具體地說:區塊鏈網絡是一組機器,它們記錄著相同的交易列表副本(例如,從A轉給B的錢)。因為每個人都有相同的列表,所以很難欺騙網絡接受錯誤的交易。結合一些加密算法和貨幣獎勵以便遵守規則,你的網絡會非常安全。所有這些也使得區塊鏈幾乎是不可變的,因為改變歷史記錄的唯一方法是獲得全網大多數人的同意。什么是智能合約?

《區塊鏈的真正商機》新書發布 火幣大學校長于佳寧撰寫推薦序:10月24日,由火幣大學和湛廬文化聯合主辦的第6屆全球區塊鏈賦能峰會暨2020火幣大學秋季畢業典禮正式在深圳舉辦。在本次峰會上,《區塊鏈的真正商機》新書正式發布。本書由湛廬文化出版,是全球知名研究咨詢公司Gartner的兩位杰出副總裁大衛·弗隆和克里斯托夫·烏聚羅強強聯合之作,通過金融、物流、房地產、汽車、文娛、醫療、智慧城市等區塊鏈創新實例,揭開區塊鏈真正落地會走過的3大階段,以及未來20年內,區塊鏈究竟會如何改變你的組織。

權威區塊鏈專家、火幣大學校長于佳寧為本書撰寫了中文版推薦序。于佳寧表示,“鏈改2.0”時代已來,企業需要應用區塊鏈的路線圖,這正是一本從商業思維層面深度解剖區塊鏈內在價值的好書,這本書給所有的商業領袖指明了傳統產業前往區塊鏈價值互聯世界的“尋寶圖”,可以被認為是一本“鏈改”寶典。[2020/10/24]

區別于比特幣,以太坊最大的不同是引入了智能合約的概念。比特幣是數字貨幣,以太坊也是數字貨幣,但遠不止這些。“智能合約”這個名稱有點誤導人。它們不是真正的合約,也不特別智能。它們只是一些可以運行在區塊鏈上的代碼-或者說是計算機邏輯運算。首先,我將介紹有關智能合約是以太坊網絡上的一種特殊賬戶。你有用戶賬戶,你還有智能合約賬戶。一個用戶賬戶包括:一個地址余額一個智能合約賬戶包括:一個地址余額一個狀態代碼地址和普通賬戶的地址是一樣的,它是該賬戶的唯一識別符。余額和普通賬戶也是一樣的概念。唯一令人激動的是,智能合約上的余額意味著代碼可以擁有金錢。它可以處理這些錢,也可能因為編碼錯誤而造成處理不當。智能合約帳戶的狀態是智能合約中聲明的所有字段和變量的當前狀態。它的工作方式與大多數編程語言中類的字段變量相同。事實上,一個類的實體化對象可能是理解智能合約的最簡單方法。唯一的區別是這個對象是永久存在的(除非被編程為自我毀滅)。智能合約的代碼是編譯好的字節代碼,以太坊客戶機和節點可以在上面運行。它是在創建智能合約時執行的代碼,并且包含可以調用的函數。就像面向對象編程的語言中的任何對象一樣。關于智能合約的趣事:它們可以調用其它的智能合約。這就開啟了創建自主代理的能力,這些代理可以自己花錢和進行交易。

幣情觀察室 | 這才是BTC大暴跌的真正原因?:3月9日11:00,金色盤面邀請無人區、保羅大帝、半木夏BTC、九哥蜜柚、兔子希、曹守正、比特幣羊皮、莊見愁、百曉生說、幣業生、TLAB 、區塊掘金者、幣圈一哥、荀森森、泰迪幫主等十多位行情大咖做客金色財經《幣情觀察室》,共同探討《這,才是BTC大暴跌的真正原因?》,敬請關注,掃描下圖二維碼即可觀看直播。[2020/3/9]

假設我用上面的代碼創建了一個智能合約。該代碼有一個名為counter的字段,類型為uint(整數)。counter變量的內容是本合約的狀態。每當我調用count()函數時,任何人都能看到這個智能合約在區塊鏈上的狀態將會加1。

稍后我們將通過更多的例子來解釋它是如何工作的,但首先我想回到以太坊和比特幣的交易,并以此來解釋一些事情。交易水平上,以太坊VS比特幣

比特幣交易非常簡單。你可以只做一件事。一種類型的交易。略過一些細節,一切都可以歸結為TO,FROM和AMOUNT。這使得比特幣成為一種價值儲存手段,能夠在網絡參與者之間傳遞價值。以太坊的不同之處在于交易還有一個“DATA”字段。該“DATA”字段支持三種類型的交易:價值轉移TO接收地址DATA字段為空或包含要附加的任何消息FROM你AMOUNT是你要發送的以太坊數量創建智能合約TO字段為空(它觸發智能合約的創建)DATA字段包含編譯為字節代碼的智能合約代碼FROM你AMOUNT可以是0或者任意你想放在合約里的以太坊數量調用智能合約TO字段是智能合約賬戶地址DATA字段包含函數名稱和參數–如何調用智能合約FROM你AMOUNT可以是0或者任何數量的以太坊,比如你需要為一項服務合約支付的數目在這些交易中還有更多的字段和復雜性,但以上這些已經很好地解釋了核心概念。讓我們看看關于這些交易的一些更具體的例子。以太坊交易價值轉移

聲音 | 陳偉星:目前真正去中心化、物理化的未來尺度貨幣只有比特幣:今日,陳偉星發微博表示,BCH和BSV打架,好比兩個假悟空打架爭當真悟空,意圖吸引BTC的流動性和算力,從而提高自己的價格。小寒和奧本聰,都是一伙的,他們持有幾百萬個BCH,分叉了就都持有幾百萬的BCH和BSV,然后可以重復割韭菜。

我是不信假悟空,他們不想變得更物理化,而更想自己當私人央行。我們需要的是一個真正去中心化、物理化的未來尺度貨幣,現在只有比特幣。[2018/11/15]

非常簡單。TO向一個地址發送一定數目的以太坊代幣。你也可以為一筆交易加上一條消息。創建智能合約

正如以上提到的,一個空的TO字段表示創建一份智能合約。DATA字段包含編譯為字節代碼的智能合約。調用合約

稍后會回到這個問題,但是其主要概念是你將交易發送到你想要調用的智能合約地址,然后將函數調用放在DATA字段中。注意成本和執行

正如你所想象的,你不能一直在區塊鏈上免費運行計算量很大的程序。代碼的執行是由調用者用一種叫做gas的東西來支付的。Gas是運行以太坊虛擬機的燃料。你可以將其視為每次執行指令的費用(就像一行代碼)。你需要為一個特定的合約調用設置可花費的最大gas。比如,如果你調用的代碼進入了一個永久循環,將會確保在執行過程中所花費的gas不會超過設置的最大gas。gas(執行)的成本由網絡的礦工(運行代碼的節點)決定。關于gas和執行,還有很多知識。但以上這些值得牢牢記住。智能合約如何工作?

美國財政部前官員:真正能落地的區塊鏈項目少之又少:聯合國與世界銀行等組織都在積極探索區塊鏈技術,比如聯合國世界糧食計劃署最近推出了追蹤敘利亞難民食品供應的以太坊區塊鏈。美國財政部前官員邁克爾?比薩表示:和對于區塊鏈技術的炒作相比,能真正使用區塊鏈技術進行實際推進的項目少之又少。諸如世界銀行、聯合國、美國國際開發署一類的組織將長期采用區塊鏈技術,并期待有更多發展。[2018/5/28]

當一個智能合約被部署到以太坊網絡時,任何人都可以調用智能合約的函數。雖然出于安全考慮該函數可能阻止人們調用,但你可以自由嘗試。假設有一個MyObject類型的對象。該對象有一個名為myFunction的函數。要調用它,只需引用對象的實例、調用哪個函數和使用哪個參數調用。像這樣:myObjectReference.myFunction(parameters);該函數返回的任意值,可以將其存在變量中:myVariable=myObject.myFunction(parameters);調用一個智能合約在概念上是一樣的。唯一的區別是,你必須將調用相關的所有信息放在交易中,對其簽名并發送到網絡上來執行。假設你想要調用函數myFunction,其中包含智能合約“0x0123456”里的一些參數。調用智能合約分四步:

現在,當交易被放進區塊鏈中的一個塊,該狀態變化便會被記錄在整個網絡中。世界計算機

許多人把以太坊稱為世界計算機。這是個不錯的類比。它就像一臺由整個世界來維護的虛擬機。但是請記住:雖然智能合約是圖靈完備的,并且理論上可以做任何事情,但它們不太適合繁重的計算工作。以太坊世界計算機就像一臺運行簡單程序的老式慢速計算機。由于成本和安全性,保持以太坊的智能合約小而簡單是至關重要的。合約需要的計算量越多,運行的成本就越大。合約越復雜,就越有可能存在安全漏洞。而且智能合約中的安全漏洞是很難處理的——畢竟區塊鏈是不可變的。

舉例:通證

回歸重點,我想解釋一下通證是如何工作的。大多數這些通證都是在以太坊上創建的,而且概念非常簡單。如何使用Javascript或其他編程語言編寫一個簡單的貨幣系統?你可以在一個文件中完成所有的操作。你真正需要記錄的是:1.總供應量2.賬戶3.賬戶中的余額4.資金流向通過用戶和余額之間的簡單映射,你可以得到123的答案:

該map只是把一個賬戶映射到一筆錢。使用構造函數,你可以在自己的帳戶中設置初始供應量

資金的流動是通過簡單的函數來完成的,即從一個賬戶中減去,然后加在另一個賬戶上。

創建通證與我們在以太坊使用的概念完全相同。當然,還有一些更復雜和額外的功能,但是基本概念非常簡單。以下就是基本的通證合約在以太坊編程語言中呈現的樣子(再次重申:為清晰起見進行了簡化):

這就是基礎編程概念。我認為這說明了以太坊作為一個平臺的力量。通過一些簡單的代碼,你可以憑空生成一個代幣,它本質上就是由世界計算機記錄的一些變量。歡迎來到新的互聯網。

Tags:區塊鏈以太坊比特幣ATA區塊鏈最新應用比特幣以太坊行情分析比特幣市值最高是多少DataOK

NEAR
民間區塊鏈往事:天才沒落與演員崛起_比特幣

編者按:本文來自:虎嗅APP,虎嗅原創組作品,作者:李玲,編輯:李拓,Odaily星球日報經授權轉載。長期以來,人們把幣圈和區塊鏈混為一談。前者成為投機者的狂歡圣地,后者為其背負騙子罵名.

1900/1/1 0:00:00
11億灰飛煙滅,EOS銷毀是兒戲還是深思熟慮?_ING

編者按:本文來自白話區塊鏈,作者:凱風自南,Odaily星球日報經授權轉載。4月22日EOS節點EOSNation發起提案,提議將eosio.saving賬戶中的3400萬EOS(具體數值為34.

1900/1/1 0:00:00
區塊鏈二級市場報告 :放量上行站上新階,突破籌碼強壓力位_SDT

2019年第19周區塊鏈二級市場報告2019年5月5日-2019年5月11日本期報告重點內容:大盤走勢:放量上行站上新階.

1900/1/1 0:00:00
區塊鏈與狀態爆炸_THE

如果Layer1的關注點應該是狀態而不是計算,在設計Layer1區塊鏈時,我們就需要先理解什么是區塊鏈的狀態。理解了狀態是什么,我們才能理解狀態爆炸是什么.

1900/1/1 0:00:00
比特幣挖礦能否重獲暴利,看這張圖就夠了 | 星球圖說_BTC

作者|小派克編輯|郝方舟在上篇“圖說”中,我們列出了不同國家挖一枚比特幣需要多少電力成本。但它只是在某一時間刻度的算力和電價條件下的靜態成本.

1900/1/1 0:00:00
接受比特幣付款、在以太坊上發歌,當音樂遇上區塊鏈_區塊鏈

5月1日,獲得格萊美獎的混音師AndréAllenAnjos(RAC)與洛杉磯制片人兼DJJoshLegg(Goldroom)宣布,他們已經推出了新的唱片公司MinervaMusic.

1900/1/1 0:00:00
ads