以太坊技
⑴ 《以太坊技術詳解與實戰》pdf下載在線閱讀全文,求百度網盤雲資源
《以太坊技術詳解與實戰》網路網盤pdf最新全集下載:
鏈接:https://pan..com/s/1HmyD7a7cRfM4ICqhAk3PeA
簡介:本書得到以太坊創始人、首席科學家Vitalik Buterin認可與推薦,是為數不多系統性介紹以太坊的書籍,涵蓋架構、核心概念、部署、智能合約實踐等,並涵蓋多個讀者關心的熱點主題。
⑵ 以太坊是合法的嗎
合法的。因為虛擬財產在我們國家是受法律保護的。但我國對於虛擬貨幣的監管力度還是不夠的,這也使得投資虛擬貨幣存在較大的風險,所以投資者需要謹慎對待。
此外,中國的區塊鏈服務提供商將負責維護平台上所有內容的六個月記錄,這些記錄將由管理區塊鏈公司所在特定區域的互聯網信息辦公室定期檢查。這些理事機構由中國中央政府直接控制。任何被發現違反這些新規定的公司都將被處以罰款甚至起訴。
以太幣是以太坊的一種數字代幣,被視為比特幣2.0版,採用與比特幣不同的區塊鏈技術以太坊,開發者們需要支付以太幣來支撐應用的運行,而以太幣是目前非常火的數字貨幣,越來越多的人加入到挖礦的行列,但是由於現在數字貨幣的漲幅不定,已經引起銀行的重視。
以太坊(英文Ethereum)是一個開源的有智能合約功能的公共區塊鏈平台,通過其專用加密貨幣以太幣(Ether,簡稱「ETH」)提供去中心化的以太虛擬機(Ethereum Virtual Machine)來處理點對點合約。
以太坊的概念首次在2013至2014年間由程序員Vitalik Buterin受比特幣啟發後提出,大意為「下一代加密貨幣與去中心化應用平台」,在2014年通過ICO眾籌開始得以發展。
截至2018年2月,以太幣是市值第二高的加密貨幣,僅次於比特幣。
法律依據:
《中國互聯網金融協會、中國銀行業協會、中國支付清算協會關於防範虛擬貨幣交易炒作風險的公告》
一、正確認識虛擬貨幣及相關業務活動的本質屬性
虛擬貨幣是一種特定的虛擬商品,不由貨幣當局發行,不具有法償性與強制性等貨幣屬性,不是真正的貨幣,不應且不能作為貨幣在市場上流通使用。
開展法定貨幣與虛擬貨幣兌換及虛擬貨幣之間的兌換業務、作為中央對手方買賣虛擬貨幣、為虛擬貨幣交易提供信息中介和定價服務、代幣發行融資以及虛擬貨幣衍生品交易等相關交易活動,違反有關法律法規,並涉嫌非法集資、非法發行證券、非法發售代幣票券等犯罪活動。
⑶ 以太坊前景怎麼樣
實際上,以太幣是一種電子虛擬貨幣,被視為「比特幣2.0版」。採用與比特幣不同的區塊鏈技術「以太坊」,而區塊鏈 「以太坊」才是贏得普京青睞的真正原因。
以太坊是一個開源的智能合約功能的公共區塊鏈平台,主要通過其專用加密的貨幣以太幣提供去中心化的虛擬機來處理點對點的合約,產生貨幣速度快,並且數量不受限制。換句話來講,就是一種貨幣支付系統,但是他們的作用和目的不一樣!
如果比特幣被認為是安全地記錄了所有比特幣賬單的共享的全球賬簿。那麼以太坊則是維護一個共享的計算平台,這個平台可以靈活且安全地運行用戶想要的任何程序,正因為這樣,許多國家和企業都在研發如何將以太坊技術用於真實世界中。
⑷ 《以太坊技術詳解與實戰》pdf下載在線閱讀全文,求百度網盤雲資源
《以太坊技術詳解與實戰》(閆鶯)電子書網盤下載免費在線閱讀
鏈接: https://pan..com/s/1Z2guktWL_x3De0FzgtXwzg 提取碼: vcdy
書名:以太坊技術詳解與實戰
作者:閆鶯
豆瓣評分:7.7
出版社:機械工業出版社
出版年份:2018-4-3
頁數:226
內容簡介:
以太坊創始人、首席科學家Vitalik Buterin傾力推薦,工業界與學術界區塊鏈專家聯合撰寫,權威性和實用性毋庸置疑。本書深入剖析以太坊架構、核心部件、智能合約編寫與開發案例等關鍵技術,並涵蓋以太坊數據分析、性能優化、隱私與數據安全等前沿實踐與進展。
作者簡介:
閆鶯 (博士),微軟亞洲研究院主管研究員,區塊鏈領域負責人,微軟Coco區塊鏈平台中國負責人。中國軟體協會區塊鏈創業學院及區塊鏈專委會專家、中國電子學會區塊鏈專家委員。專注與區塊鏈技術、大數據分析、資料庫以及雲計算的研究。在區塊鏈領域獲得多項國際專利,並在資料庫和雲計算 領域國際頂級會議和期刊發表論文30餘篇。參與翻譯《區塊鏈項目開發指南》。
鄭凱 (博士),電子科技大學教授,博士生導師,澳大利亞昆士蘭大學計算機科學博士。主要研究領域為區塊鏈數據管理,以及時空數據挖掘、不確定資料庫、內存資料庫、圖資料庫等。在資料庫、數據挖掘等領域的重要會議和期刊發表論文100餘篇,被累積引用1500餘次。2013年獲澳大利亞優秀青年基金,2015年獲資料庫頂級會議ICDE最佳論文獎。擔任資料庫領域知名國際會議的程序主席和聯合執行主席,國際SCI期刊客座編委,以及數十個國際等級會議的程序委員。
郭眾鑫 微軟亞洲研究院研發工程師,微軟Coco區塊鏈平台核心開發者。專注於區塊鏈技術、大數據分析、分布式系統等方面的研究和開發。
⑸ 以太坊和比特幣的關系是什麼什麼是以太坊
以太坊建立了一個可編程的、圖靈完備的區塊鏈。在這個區塊鏈之上,你可以通過簡單的程序實現各類數字資產的生產,也可以通過編寫程序對以太坊上流通的區塊鏈資產的狀態進行精確地控制,比如這個資產是待支付還是被鎖定還是有額度眼制這個賬戶是寶名單還是白名單、以太坊和其他數字資產的自動兌損等等。同時,以太坊是個可以編程,出靈完備的區塊鏈網路基礎,在這個基礎上,我們能著實現更務的非區快鏈資產的功能產品。比如說我用以太坊建立智能合約,應用在個人日常經濟生活和企業經濟活動中,這樣的運用也是可以被實現的。以太坊是建立在區塊鏈和區塊鏈資產的概念之上的一個全新開放的區塊鏈平台。它允許任何人在平台上通過使用區塊鏈技術建立和運行去中心化的應用。簡單地說,以太坊技術就是區塊鏈技術加上智能合約。
⑹ 以太坊的野心,可不僅僅是超越比特幣而已
講到比特幣其實是一個所有人共同保存並記賬的大賬本,裡面記錄了A給B多少錢,B給C多少錢,什麼時間給的,同時通過競爭記賬權利的過程製造發行新幣,這一體系幫助比特幣成為全球共識最廣的電子現金。然而,現實生活中一次金錢的轉賬交易往往比上述情況要復雜的多,僅僅記錄這些就足夠了嗎?當然是不夠的,現在,讓我們來看看都少了點什麼。
當一筆交易發生的時候,實際上產生了兩組信息。
1.給錢的人是誰,收錢的人是誰,多少錢,什麼時間給的
2.錢為什麼要給,怎麼給,在什麼情況下給,什麼情況下不給
序號1中的內容,是一筆交易中最基本的信息,也正是比特幣寫在每個區塊當中的賬目,有些人覺得這樣就足夠了對嗎?仔細想一想,序號1當中的內容確實十分直觀明了,序號2里的內容似乎可有可無。
不然,序號2當中的這些信息,更多的其實是隱藏在交易轉賬背後的邏輯信息,結合我們的生活來看,即便是最簡單的買菜購物,也包含著序號2中的東西,因為我拿到了水果,所以我要給你錢,現金支付,老闆說水果不甜不要錢,那回家吃過後如果不好吃,還要去找老闆退,即便是這個最簡單的交易流程也包含了上述邏輯,只是平時我們不會直觀的看到而已。
比特幣的記賬體系中,缺少的正是序號2 中的內容,而我們今天要講的以太坊,第一次使用智能合約的形式,完善了序號2中的信息。
這個概念其實早在94年就被提出了,而始於2014年的以太坊則第一次運用區塊鏈技術,將智能合約變為了現實。而這,也讓以太坊一躍成為市值僅次於比特幣的第二大數字加密貨幣。
簡單來說,智能合約其實是每筆交易當中附帶的相關限制條件,比如錢用來做什麼,立刻支付還是在某些情況下才支付,要不要還,有沒有抵押等信息。我們在記錄一筆轉賬的時候,會同時附帶上這些信息或者觸發的條件,一旦條件滿足,就會自動執行。
同時,和普通合約一樣,這些智能合約也應該有一個期限,我們使用一種被稱之為燃料(Gas)的東西給智能合約供能,在合約執行過預定的次數之後,燃料會耗盡,用這種方式規定合約的有效期同時,也防止了合約因無限次自動執行引起的系統錯誤。
一般來說,除了涉及極為主觀的仲裁環節,現存的各種你能想像到的合約都可以通過智能合約來完成。工資的支付,按照智能合約的有效期定期支付,公司用來發工資的錢有多少,什麼時候發,全部都一目瞭然。借貸的抵押妥善的保存於鏈上,任何形式的違約都將觸發抵押物的償還,擔保人的擔保也不再停留在口頭承諾上。
通過嚴謹的代碼編寫出的智能合約不涉及任何主觀 情感 ,一旦條件觸發自動完成支付,同時,區塊鏈技術又保證了智能合約的防篡改和去中心化特性,這將會有效的防止毀約,欺詐,隱瞞,賴賬,同時極大的提升我們的生活效率。
「Code is Law.」這是一句在以太坊合及智能合約信仰者群體中廣泛流傳的一句話,而現在來看,這話越來越不像是一句空話了。這也是為什麼以太坊會提出打造一個透明、公平、效率的新世界願景,試想一下,與智能合約相比,現行的合約體系是多麼原始和可笑的產物。沒有數學計算支撐的文字合約當中,包含了多少歧義,詐騙和毀約,執行也是如此無力,簡直像是原始人刀耕火種的產物。
可同樣不能否認的是,目前的智能合約仍有很多不足,固有的有效邊界還會存在很長一段時間,除非這個共識足夠大,也許需要大到普及至全世界的每個角落,這個邊界才可能被打破,那麼透明、公平、效率的新世界大概就從願景變成現實了吧。
但如果真有那麼一天,以太坊數量眾多的競爭者們也一定不會坐以待斃的吧,NEO,ADA和其他一些加密貨幣也同樣有著其不能忽視的天才之處,以太坊的創新也不能用智能合約一言蔽之,這些我們改日再講。
#數字貨幣# #歐易OKEx# #比特幣[超話]#
⑺ 以太坊技術系列-以太坊共識機制
區塊鏈的特點之一是去中心化。也就是節點會分布在各個地方組成分布式系統。各個節點需要對1個問題達成一致,理想情況下,只需要同步狀態即可。
如上圖所示 B節點將a=1=> a=2的狀態同步給 ACDE四個節點,這時系統中狀態變為a=2, 但如果其中有惡意節點 AE 收到通知後把a=1=>a=3修改為錯誤的節點,這個時候大家的狀態就不一致了,此時需要共識機制使系統中得到1個唯一正確的狀態。
如上面說到分布式系統存在惡意節點導致系統中狀態不一致的情況有1個比較著名的虛擬問題-拜占庭將軍問題。
拜占庭將軍問題是指,N個將軍去攻打一座城堡,如果大於一定數量的將軍同時進攻則可以攻打成功,如果小於則進攻失敗。將軍中可能存在叛徒。
這個時候有2種情況
1.如果2個叛徒都在BCDE中,那麼共識演算法需要讓其餘2個將軍聽從A的正確決策進攻城堡。
2.如果A是1個叛徒,共識演算法需要讓BCDE中剩餘的3個忠誠將軍保持一致。
這個問題有很多種解法,大家有興趣可以自行查閱(推薦學習PBFT),我們重點來看看以太坊中目前正在使用的Nakamoto 共識和將要使用的 Casper Friendly Finality Gadget共識是如何解決拜占庭將軍問題的。
說到Nakamoto共識和Casper Friendly Finality Gadget共識可能大家不太熟悉,但他們的部分組成應該都比較熟悉-POW(工作量證明)和POS(權益證明)。
POW或POS稱之為Sybil抗性機制,為什麼需要Sybil抗性機制呢,剛剛我們說到拜占庭將軍問題,應該很容易看出惡意節點越多,達成正確共識的難度也就越大,Sybil攻擊就是指1個攻擊者可以偽裝出大量節點來進行攻擊,Sybil抗性是指抵禦這種攻擊能力。
POW通過讓礦工或驗證者投入算力,POS通過讓驗證者質押以太坊,如果攻擊者要偽裝多個節點攻擊則必將投入大量的算力或資產,會導致攻擊成本高於收益。在以太坊中保障的安全性是除非攻擊者拿到整個系統51%算力或資產否則不可能進攻成功。
在解決完Sybil攻擊後,通過選取系統中的最長鏈作為大家達成共識的鏈。
很多人平時為了簡化將pow和pos認為是共識機制,這不夠准確,但也說明了其重要作用,我們接下來分析pow和pos。
通過hash不可逆的特性,要求各個礦工不停地計算出某個值的hash符合某一特徵,比如前多少位是000000,由於這個過程只能依賴不停的試錯計算hash,所以是工作量證明。計算完成後其他節點驗證的值符合hash特徵非常容易驗證。驗證通過則成為成為合法區塊(不一定是共識區塊,需要在最長鏈中)。
以太坊中的挖礦演算法用到2個數據集,1個小數據集cache,1個大數據集DAG。這2個數據集會隨著區塊鏈中區塊增多慢慢變大,初始大小cache為16M DAG為1G。
我們先來看這2個數據集的生成過程
cache生成規則為有1個種子隨機數seed,cache中第1個元素對seed取hash,後面數組中每個元素都是前1個元素取hash獲得。
DAG生成規則為 找到cache中對應的元素後 根據元素中的值計算出下次要尋找的下標,循環256次後獲得cache中最終需要的元素值進行hash計算得到DAG中元素的值。
然後我們再看看礦工如何進行挖礦以及輕節點如何驗證
礦工挖礦的過程為,選擇Nonce值映射到DAG中的1個item,通過item中的值計算出下次要找的下標,循環64次,得到最終item,將item中的值hash計算得到結果,結果和target比較,符合條件
則證明挖到區塊,如果不符合則更換nonce繼續挖礦。礦工在挖礦過程中需要將1G的DAG讀取到內存中。
輕節點驗證過程和礦工挖礦過程基本一致,
將塊頭裡面的Nonce值映射到DAG中的1個item,然後通過cache數組計算出該item的值,通過item中的值計算出下次要找的下標,循環64次,得到最終item,將item中的值hash計算得到結果,結果和target比較,符合條件則驗證通過。輕節點在驗證過程中不需要將1G的DAG讀取到內存中。每次用到DAG的item值都使用cache進行計算。
以太坊為什麼需要這2個不同大小的數組進行輔助hash運算呢,直接進行hash運算會有什麼問題?
如果只是進行重復計算會導致挖礦設備專業化,減少去中心化程度。因為我們日常使用的計算機內存和計算力是都需要的,如果挖礦只需要hash運算,挖礦設備則會設計地擁有超高算力,但對內存可以縮小到很小甚至沒有。所以我們選用1G的大內存增加對內存訪問的頻率,增加挖礦設備對內存訪問需求,從而更接近於我們日常使用的計算機。
我們看看在Nakamoto共識是如何解決拜占庭將軍問題的。首先看看區塊鏈中的拜占庭將軍問題是什麼?
區塊鏈中需要達成一致的是哪條鏈為主鏈,雖然採用了最長鏈原則,但由於分叉問題,還是會帶來拜占庭將軍問題。
本來以太坊pow目標是抵抗51%以下的攻擊,但如上圖如果惡意節點沿著自己挖出的區塊不斷挖礦,由於主鏈上有分叉存在,惡意節點不需要達到51%算力就可以超過主鏈進而成為新的主鏈,為此以太坊使用了ghost協議給上圖中的B1和C1也分配出塊獎勵,盡快合並到主鏈中,這樣主鏈長度(按照合並後的總長度算,長度只是抽象概念,以太坊中按照區塊權重累加)還是大於惡意節點自己挖礦的。
網路中的用戶通過質押一定數量的以太坊成為驗證者。每次系統從這些驗證者從隨機選擇出區塊創建者,其餘驗證者去驗證創建出的區塊是否合法。驗證者會獲得出塊獎勵,沒有被選中的區塊不進行驗證則會被扣除一定質押幣,如果進行錯誤驗證則會被扣除全部質押幣。
如上圖,權益證明在每隔一定區塊的地方設置一個檢查點,對前面的區塊進行驗證,2/3驗證者通過則驗證通過,驗證通過則該區塊所在鏈成為最長合法鏈(不能被回滾)。
我們簡化地只分析了權益證明本身,在以太坊中權益證明較為復雜的點在於和分片機制結合在一起時的運行流程,這部分會在後面單獨將分片機制的一篇文章中詳述。
本篇文章主要討論了共識機制是解決分布式系統中的拜占庭將軍問題,以及分析了以太坊中的共識機制一般包括最長鏈選擇和一種sybil抗性機制(pow或pos)。重點分析了pow和pos的流程以及設計思想。後續將開始重點討論智能合約的部分。
⑻ 如何看待以太坊ETH2.0
我個人不是特別看好以太坊2.0。
以目前以太坊的發展情況來看,以太坊已經成為了世界上最大的一條公鏈,這點毫無疑問。伴隨著以太坊得進一步發展,我們會發現區塊鏈行業也取得了長足的進步。
一、我先講一下關於目前以太坊的現狀。
以太坊在這一次牛市中非常亮眼,換而言之,這一次的牛市就是因為以太坊上面的應用而拉起的。目前的以太坊有幾個困境:第1個困境是交易費率太高,嚇跑了很多人。第2個困境是交易速度太慢,網路擁堵問題非常嚴重。第3個困境是交易相對繁瑣,其他公鏈顯然要優於以太坊。這正是以太坊需要破局的地方,當以太坊升級到2.0以後,這些問題都會相應解決。
⑼ 以太坊是什麼
以太坊(英語:Ethereum)是一個開源的有智能合約功能的公共區塊鏈平台。通過其專用加密貨幣以太幣(Ether,又稱「以太幣」)提供去中心化的虛擬機(稱為「以太虛擬機」Ethereum Virtual Machine)來處理點對點合約。 以太坊的概念首次在2013至2014年間由程序員Vitalik Buterin,受比特幣啟發後提出,大意為「下一代加密貨幣與去中心化應用平台」,在2014年通過ICO眾籌得以開始發展。 2018年5月17日,中國正式發布首期全球公有鏈技術評估指數及排名,以太坊位列評估榜單第一位。
⑽ 以太坊技術系列-以太坊數據結構
本篇文章和大家介紹一下以太坊的數據結構,上篇文章我們提到,以太坊為了實現智能合約這一功能,使用了基於賬戶的模型。我們來看看以太坊中數據結構。
既然是基於賬戶的模型,我們需要通過賬戶地址找到賬戶的狀態。就像通過銀行卡號可以找到你在銀行中的各種信息一樣。最簡單的想法當然是一個簡單的哈希表 key是賬戶地址 value是賬戶狀態。但這里有個問題解決不了。
輕節點如何校驗賬戶合法性?
上篇我們說過,區塊鏈中有2類節點,全節點和輕節點,輕節點只會存儲block header,所以輕節點如何才能校驗賬號是否合法呢?
這個思路和我們平時用的md5校驗一致,我們會對區塊內的信息進行hash運算從而得出區塊內信息唯一確定的值,區塊鏈所有節點中這個值都是相同的。
在這個過程中我們用到了一種數據結構Merkle Tree(哈希樹),我們先看下Merkle Tree(哈希樹)的示意圖。
上篇文章說到區塊鏈中的鏈表(哈希鏈)和我們平時常見鏈表不同的是將指針從地址改為了hash指,這里也一樣,哈希樹和二叉樹的區別有2個
1.將地址改為了哈希值
2.只有葉子節點存儲數據
回到之前的問題輕節點是如何校驗1個賬戶或交易是否是在鏈上的呢?
整個流程如上圖所示
1.輕節點需要判斷1個賬號是否合法
2.輕節點由於只存儲block header,所以拿到1個賬號的時候會向全節點發出請求
3.全節點存儲了所有賬戶狀態,將賬戶路徑中的需要計算用到的hash值返回給輕節點
4.輕節點本地進行計算根hash值,如果計算結果和自己存儲一致則賬戶合法,不一致則不合法。
那以太坊中的賬戶信息的數據結構就是這樣嗎?
直接用這樣的數據結構來存儲賬戶信息會有2個問題
查找困難
生成hash值不確定
第1個問題應該比較容易發現,在這個樹中尋找1個賬號需要的復雜度是O(n),因為沒有任何順序。
第2個問題其實也是因為無序導致的,無序的組合每個節點針對同一批賬戶生成的hash值不一致,這就導致無法達成共識。
既然2個問題都和順序有關,那我們類似二叉排序樹一樣,使用哈希排序樹是不是就可以解決問題了呢?
使用排序樹後會帶來另外1個問題
插入困難
因為要維持樹是有序的,很可能帶來樹結構的很大變動。
以太坊中使用了另外一種數據結構字典樹。和哈希樹不同,字典樹應該是很多地方都有使用。我們簡單來看下字典樹的結構。
字典樹能夠較好地解決哈希樹的2個缺點1.查找困難 2.生成的hash值不確定以及排序二叉樹的1個缺點 插入困難。
但字典樹我們可以看到可能樹的深度可能由於部分元素導致整棵樹深度非常深。
這時我們可以進一步優化,將相同路徑進行壓縮。這就是壓縮字典樹。
將哈希樹和壓縮字典樹結合,就可以得到以太坊存儲賬戶的最終數據結構-MPT。
將壓縮字典樹裡面的指針從地址改為指針,並且將數據存儲在葉子節點中即可。
介紹完狀態樹的數據結構,我們接下來討論1個問題,區塊中存儲的賬戶狀態是什麼樣的范圍。有2種選擇。
只保存當時區塊中產生交易的賬戶狀態。
保存全局所有的賬戶。
我們可以看下這2種方式,無非就是空間和時間的平衡,只保存當前區塊產生的交易意味著是做懶載入(需要的時候才去尋找賬戶),在區塊鏈中這個代價是非常大的,因為尋找的賬戶之前從未交易過,這樣會遍歷整個區塊鏈。另外一種保存全局的賬戶方式雖然看起來空間消耗較大,但查找快捷,而且空間的問題我們可以通過其他方式優化。所以最終以太坊選擇了第2種每個區塊都報錯全局所有賬戶的方式。
我們來看下以太坊中是如何保存狀態樹的。
可以看到以太坊中雖然每個區塊都保存了全部賬戶,但是會將未發生變化的賬戶狀態指向前1個節點,本身只存儲發生變化的狀態,這樣可以較大程度優化空間佔用。
介紹完以太坊中比較復雜的狀態樹後,我們繼續來看看以太坊中的另外兩棵樹,交易樹和收據樹。
首先介紹一下,為什麼需要交易樹&收據樹。
1.交易樹
雖然以太坊是基於賬戶的模型,但是就像銀行不僅會存儲銀行卡的余額,還會存儲卡中的每筆錢怎麼來的以及怎麼花的。交易樹中就存儲著當前區塊中的包含的所有交易。
2.收據樹
由於智能合約的引入增加了不少復雜性,所以以太坊用收據樹存儲著一些交易操作的額外信息。比如交易過程中執行日誌就包含在收據樹中方便查詢。收據樹和交易樹是一一對應的。每發生一次交易就會有一次收據。
和狀態樹不同交易樹和收據樹只維護當前區塊內發生的交易,因為當時區塊發生交易時不需要再去查找另外1個交易,也就之前需要可能遍歷整個區塊鏈的查找操作了。
由於以太坊中的出塊速度較快,我們進行一些查詢一些符合條件交易的時候會面臨大量數據遍歷困難的問題。收據樹中引入了布隆過濾器可以幫助我們有效緩解這一困難。
布隆過濾器將大集合中每個元素進行hash運算映射到1個較小的集合,這時再來1個元素要判斷是否在大集合的時候,不需要遍歷整個大集合,而是去進行hash運算去小集合中尋找是否存在,如果不存在,肯定不在大集合中,如果存在則不能說明任何問題。
如上圖所示,布隆過濾器只能證明某1個元素不在集合中,不能證明1個元素在結合中。
以太坊中如果我們要在較多區塊中尋找某1個交易,則可以利用布隆過濾器,過濾掉肯定不存在目標交易的區塊,然後進入收據樹內繼續利用布隆過濾器篩選,剩下的才是可能的目標交易的交易,進行一一比對即可。
我們介紹了以太坊的核心數據結構,狀態樹&交易樹&收據樹,他們都是使用相同的數據結構-哈希壓縮字典樹。但狀態樹是維護1顆全局賬戶樹,交易樹和收據樹則是維護本區塊內的交易或收據。
介紹完數據結構後,後面我們會用幾篇文章來介紹以太坊中的一些核心演算法,比如共識機制,挖礦演算法等。