以太坊mist運行
⑴ 為什麼說虛擬幣是區塊鏈存在的唯一意義
為什麼說虛擬幣是區塊鏈存在的唯一意義
區塊鏈已經是一個世人皆知的名詞了,有人甚至斷言,未來人類社會的一切都將以區塊鏈為基石。但若問區塊鏈究竟是個什麼技術,各路「專家」的解釋可謂語焉不詳:有些堆砌常人不可理解的術語,有些大談其潛在應用,有些乾脆冠之以「第四次工業革命」——至於區塊鏈的本質,大家終究還是不甚了了。
之所以閃爍其詞,原因並不難猜。就功能而言,區塊鏈無非是一個特殊方式加密的公共資料庫,這種毫不性感的概念是沒法用來炒作的。當然,區塊鏈吸睛如斯,其內涵和外延不可能如其功能般缺乏營養。要把它講清楚,我們需要了解大量技術本體以外的信息,而其中的重中之重便是以比特幣為代表的虛擬幣。
區塊鏈的痛點
放在五年前,世上並無太多人知道什麼是區塊鏈。作為比特幣的底層技術,這個系統以數據塊(block)的形式進行傳輸,並以末端追加的方式將數據塊連成鏈狀(chain),因而得名區塊鏈(blockchain)。從技術層面看,區塊鏈和之前存在的IT技術之間沒有顯著的壁壘,並無革新性的進步;但從價值觀層面看,它們則有根本性的不同——以前所有的技術都旨在提高效率,而區塊鏈是反其道而行之的。
鑒於比特幣是區塊鏈標志性的存在,我們不妨拿它作為樣本。
比特幣體系內的每一筆交易記賬都在全網范圍內由無數個用戶驗證,驗證通過後,該次交易才能成立。而第一個成功記賬的用戶可以得到一定量的比特幣獎勵。這個信息處理過程俗稱「挖礦」。目前比特幣系統的活躍用戶數約500萬人,2017年全年處理量約3000萬筆交易。3000萬筆是個什麼體量呢?2017年11月11日這一天時間里支付寶完成了14.8億筆交易,約為比特幣全年交易量的50倍。
這個差距並不說明太大問題。畢竟比特幣的用戶數遠低於支付寶,應用場景也遠少於支付寶,所以交易量有數量級的差別並不奇怪。真正說明問題的,是支持這3000萬筆交易所消耗的電量:外媒Digiconomist公布,2017年比特幣系統消耗的電能達到了300億度,佔全球耗電量的0.13%,超過數十個國家的全國年用電量。換言之,處理一筆交易,比特幣系統平均需要消耗1000度電;以我國居民電價計,相當於每個活躍用戶人均承擔電費3000元。如此匪夷所思的耗電量意味著巨大的算力配置,這與其渺小的處理功能形成了強烈反差。
「去中心化」的低效,不只體現在算力,還體現在數據存儲。
繼續以比特幣為例,眾所周知,比特幣(區塊鏈技術)要求用戶分布式儲存公共賬本。其背後的邏輯很奇葩:「去中心化」理念認為中心賬本的管理者會作假,故賬本的存儲必須公共化。目前完整的比特幣公共賬本大小已經超過150GB,並以每年數十GB的速度快速遞增——僅僅為了支持500萬用戶每年3000萬筆交易。如果有朝一日其處理量與目前的支付寶比肩,那每年比特幣賬本的大小將增加超過500TB。這相當於把支付寶伺服器的存儲數據在所有用戶的個人電腦上進行備份,其荒謬性是顯而易見的。
為了解決這個問題,比特幣系統現在允許用戶存儲不完整的公共賬本,即「輕錢包」,但其交易驗證仍然依賴網路上其他人的完整賬本。我們試想,當公共賬本大到絕大多數人都無力完整存儲的時候,僅剩的那些完整用戶節點不就又成了中心賬本嗎?
把視野延伸到虛擬幣以外的區塊鏈應用(如果存在的話),公共賬本需要記錄的將不僅僅是純數字的交易金額,還可能是每一輛車的保險信息、每一個人的信用信息,這些多維度的數據若也要「去中心化」存儲在每個用戶的終端上,那我們需要的將是天文數字級的存儲空間。短時間內,這將是一個不可能解決的難題。
從哲學高度講,科學的本質是懷疑,宗教的本質是相信。區塊鏈作為科技范疇內的概念,是如何讓眾人無視諸多悖論、淪為其信徒的呢?答案當然也離不開比特幣,這個現世的造富奇跡。
比特幣的哲學
不知從何時起,大佬們開始刻意把比特幣和區塊鏈作為兩個概念割裂開來,眾口一詞稱比特幣只是區塊鏈的應用之一。
其中的動機是多樣的。
但凡稍有經濟學常識的人都知道,比特幣不可能成為正常經濟體的通行貨幣。它自帶通縮屬性,無視貨幣政策,與現代經濟理論八字不合。更重要的原因是,它所挑戰的信用貨幣,實在是過於強大了。全世界除了少數幾個失敗國家,清一色都是基於政府信用發行貨幣的。信用貨幣之所以也被稱為法幣,是因為絕大多數國家都用法律明確規定,本國貨幣為國內流通領域「必須接受」的一般等價物。通過這種方式,國家確保信用貨幣不被拒絕,也同時保證了貨幣持有人的權利不受侵害。換言之,信用貨幣並不是憑空發行的,它背後有政府信用背書,有國家機器撐腰。
而比特幣的發行機制(也就是挖礦),其用意就是把政府的貨幣集權「去中心化」,背後則是對政府存在之合理性的質疑。
前面已經提到過,「去中心化」的邏輯出發點是對中心化機構的不信任。比特幣原教旨信徒之所以選擇用「機器共識」來代替「制度共識」,根本上的理由是認為政府主導的貨幣發行制度無法體現公平正義——通脹、貧富不均——這些比特幣試圖解決的問題,無不指向建制。從這個角度看,比特幣低效的共識機制也就有了「效率換公平」的哲學意義。
如果技術的進步終將讓損失的效率忽略不計,那是否意味著「不值得信任的」中心化機構就無需存在呢?
這是一個危險的問題,好在我們暫時不必作答——因為比特幣的「公平化」嘗試已經基本失敗了。
比特幣設計者的初衷,是希望比特幣參與者在同一時期能大致機會均等地獲得比特幣。為此設計了一個相當精巧而理想化的區塊鏈演算法,也就是所謂的PoW(ProofofWork,工作量證明)機制。通過窮舉隨機數變數,第一個得到特定要求哈希函數值(Hash)的用戶將有權記賬該輪交易,並獲得對應的比特幣獎勵。基於PoW機制,每個用戶獲得比特幣的概率直接由他貢獻的算力決定,投入越多,回報越多,看似合情合理。
當然,事情沒那麼簡單。
一方面,比特幣的PoW是極其耗能的,每次生成隨機數獲得特定要求哈希值的預期概率是1/62^18(不到億億億億分之一),所以全體設備需要海量的窮舉運算才能決出記賬權。比特幣高昂的運行成本極大程度上應歸功於這個「公平」的激勵機制。
另一方面,比特幣設計者對算力分布做出了嚴重誤判。他本以為用戶會老老實實用CPU運行挖礦程序,而受限於CPU的核心個數和成本,單一用戶不太可能集中太多算力。然而後來發生的事情大家都已經了解了,從GPU到礦機,再到大型礦坑,一個旨在去中心化的系統已經近乎寡頭化。
比特幣之所以會嚴重背離其理念,原因其實並不偶然。
規模化的生產給「礦業巨頭」帶來了諸多好處:更強的電費議價能力,更高的固定資產利用效率,更低的綜合人力成本,更薄的研發攤銷成本。即便是比特幣這樣的虛擬產品,其生產過程終究還是符合邊際成本遞減這一樸素的經濟學規律,這便是中心化存在的必然性。從自然科學角度看,類似的結論同樣成立:一盤散沙的個體是熵值最高的狀態,而高熵意味著無能。
有些人認為,是PoW扭曲了比特幣理念,降低了效率,誘發了算力競爭,把它廢止了問題就能迎刃而解。於是他們設計了PoS、DPoS等新的激勵機制。依我愚見,這些努力是不會有結果的,因為在「效率」和「公平」這個蹺蹺板上,你不可能滿足所有人,甚至不可能滿足大多數人。
說得再玄一點:任何一種虛擬幣激勵機制都是一套經濟制度——「死的制度」不可能保證一個動態經濟體系穩定運轉,只有「活的人」可以。
脫幣化的困境
由於比特幣的種種問題,圈內的有識之士意識到,繼續把區塊鏈和比特幣綁定在一起,必將一損俱損,以「技術無罪」的名義切割關系已是當務之急。這不單是應時勢,更是遂人願:比特幣的影響已經過於深遠,若不把區塊鏈解放出來,後來者的致富空間將被壓榨殆盡。
然而,區塊鏈真的可能脫幣化嗎?
很多不明真相的普通人,甚至一些知名投資者都覺得「真實,不可篡改」的區塊鏈單憑技術本身便存在無限的價值。
對此我要說,這中間誤會太大了。
比如銀行間結算,即便區塊鏈系統成功完成了記賬操作,但某無賴銀行拒絕對外打款,區塊鏈能代替法律、保證對手銀行權利不受侵害嗎?再如產品防偽,即便二維碼全程無誤,但賣家第一時間在盒子里裝的就是次品,區塊鏈能施展魔法、讓顧客順利收到正品嗎?事實上,區塊鏈的「真實,不可篡改」,充其量只能作用於虛擬信息,它的觸角根本伸不到現實世界。
然而,現在這些概念正被有意無意地濫用。負責任地說,大部分號稱前景遠大的區塊鏈應用,完全是基於「真實,不可篡改」字面意思的臆想,提出這些應用的人並不理解區塊鏈技術本身,他們找到的只是一些以「真實性」為痛點的應用場景而已——而此類場景當然是無處不在的。然而,最後所有人都會發現,即便克服了低效冗餘安全性等眾多難題,想像中的區塊鏈需求依舊不會出現。
因為這很大程度上不是個技術問題,而是個經濟問題。
區塊鏈的「去中心化」設計意味著系統運行成本會被分攤到每個用戶頭上,但理性人的天性從來都不是共享和奉獻,而是搭便車。以比特幣為例,且不講礦機之類的硬體投資,僅是電費一項,活躍用戶人均就要支付每年3000元人民幣。如果區塊鏈應用不產生切實的個體收益,就不會有自發的參與者,即便勉強參與了,其可靠性亦會存疑。所以,區塊鏈的商業應用斷不能和激勵機制脫鉤。
說得更深入點,區塊鏈的共識,並不單單是技術上的公共賬本共識,更是對區塊鏈價值介質的共識。比如在比特幣系統里,如果沒有激勵機制,抑或比特幣一文不值,那就不會有人提供算力,就不會有人提供存儲空間,就不會有人傳教佈道——比特幣本身就是系統的價值,理念和技術都只是美好的故事。
現在媒體報道的各種區塊鏈應用,總結起來無非兩種:要麼就是借題材炒作,在中心化機構的交易中強行套用區塊鏈演算法;要麼就是純粹的「展望」,絲毫不考慮實現的方式和難度。出於某些原因,這些媒體在鼓吹區塊鏈的過程中達成了奇妙的默契,絕口不提虛擬幣,這對大家產生了嚴重誤導,以為區塊鏈只是一個純粹的網路技術。事實上,如果確有名副其實的區塊鏈生態出現,那白皮書最後圖窮匕見的,必定是虛擬幣。
據此,我們不妨重新審視下虛擬幣和區塊鏈的關系。
圈內有個說法,稱「區塊鏈為本,虛擬幣為用」,此話的真偽甚是難辨。
挑明了說,區塊鏈的本質是虛擬幣為了建立「公平激勵機制」而創造的特定演算法,所謂的「區塊鏈為本,虛擬幣為用」無異於買櫝還珠。在此我們大可斷言,一旦失去虛擬幣這個靈魂,區塊鏈就不存在價值。
這個論點或讓人一時難以接受,但邏輯上並無太多不妥。
所謂「產生價值」,無非三個標准:創造需求,降低成本,重塑公平。從成本看,區塊鏈之於中心化可謂毫無優勢;從公平看,宏大的比特幣社會實驗已然揭開分曉。那麼唯一留有懸念的,就是區塊鏈是否「創造需求」了。
這時候幣圈人可以跳出來斬釘截鐵說,當然有需求,你看這風起雲涌的ICO!
ICO的狂歡
ICO,全稱InitialCoinOffering,即首次代幣發行。簡而言之就是把早期項目的特定虛擬幣,以比特幣等通用虛擬幣作價,向公眾發售份額的眾籌融資行為。所謂的「早期項目」有多早呢?組一個團隊再寫一個白皮書就夠了。如果有閑工夫,順便做個PPT那算是相當勤奮了。至於盡職調查、財務分析,那都完全不需要,因為大部分項目一分錢營業收入都沒有。
「特定虛擬幣」這個稱呼略有點不專業,在幣圈通行的叫法應是token,高雅點的翻譯叫「通證」。在白皮書里,項目團隊會畫出各種大餅,告訴你將來自家通證會有多大「價值」。但你若想知道通證究竟是個什麼東西,不好意思,區塊鏈圈子有一個優良傳統,叫「語焉不詳」。
出於某些意味深長的原因,大部分ICO的法律文書(LegalDocuments)都是純英文的,而通證的真實定義其實就藏在其中。幾乎所有ICO都在法律文書里作了類似如下的規定:「通證不授予白皮書所規定回報以外的任何權利,且僅在項目成功時方能生效。眾籌投資者對項目發展和管理不可施予任何影響。通證不代表投資者對項目擁有任何形式的所有權,亦不可憑此獲得項目相關的未來收入和知識產權。」
這段讓人瞠目結舌的文字,說白了就是:雖然你出了錢,但你什麼都不是。ICO眾籌並不是我們過去知道的那個眾籌,投資者花錢買到的不是股份,而是籌碼,什麼時候莊家不玩了,籌碼就歸為空氣——且不講大多數莊家根本玩不起來。
沒有底層資產,沒有主體信用,沒有商業模式,沒有法律保障,這樣的虛擬幣,賣得出去嗎?答案竟然是肯定的。
這一切看似荒謬絕倫,但背後的邏輯其實非常簡單:因為很多人通過ICO賺了錢。
建團隊寫白皮書是ICO產業鏈的第一環,緊接著要拉大佬站台,到境外「交易所」發幣,虛擬幣上線了還要操縱幣價吸引更多炒家入場,最後看準時機套現離場就算走完了全程。有人在這個游戲中直接實現了財務自由;有些雖然沒吃到肉,但也喝到了湯。
面對門檻如此低的造富奇跡,任誰都要心動一下。
但是,如果項目本身無法盈利,那不管如何包裝美化,ICO終究還是個零和游戲——如果有人賺得盆滿缽滿,那肯定有人賠得底褲不剩。這就像我們熟知的傳銷,所有人都知道接最後一棒會死,但都覺得自己不會接到最後一棒。
那區塊鏈在ICO大潮中究竟扮演了什麼角色呢?
眾所周知,去中心化、去信用化和公平公正,這些都是區塊鏈標榜的理念。我們反觀ICO:若要上線發幣,就必須向中心化的交易所支付巨額「上幣費」,這是何等的「去中心化」?項目團隊欺詐橫行、幣圈媒體刻意誤導、交易賬戶頻遭黑客,這是何等的「去信用化」?莊家大鱷肆意哄抬價格,牟取暴利,傾軋韭菜,這是何等的「公平公正」?事實上,除了提供虛擬幣和噱頭,區塊鏈在幣圈什麼都不是。更具諷刺意味的是,很多ICO發行的虛擬幣甚至都沒有基於區塊鏈技術。
所以,ICO不是區塊鏈創造的需求,而是區塊鏈之恥。
鏈和幣的未來
既然我們已經知道虛擬幣是區塊鏈存在的唯一價值,那麼對於區塊鏈未來的分析也就有了大致的思路。
法定貨幣充分電子化的當下,基於區塊鏈技術的虛擬幣在正常社會生活中並無太多實用價值。但置於特殊場景,虛擬幣卻有一個電子法幣不可復制的優點,那就是隱私性。
但凡以銀行作為支付通道的交易,都是能被監管的,如果當局願意,他們可以知道你把錢給了誰,這筆交易的背景,發生的時點,一切的一切。所以在比特幣問世之前,絕大多數見不得人的交易都是用現金完成的。你只見過黑幫片里提著一大箱子現金去買毒品,絕對看不到帶著一個POS機過去的。
而比特幣的橫空出世,革新了洗錢、販毒和黑市軍火買賣。有了這種完全匿名的貨幣,不法分子再也不必為一箱箱現金提心吊膽,再也不必為連號的美元支付折價了——比特幣就是便攜的黃金,正如它的設計理念一樣。
所以,比特幣及其替代品是不可能被徹底消滅的,因為逃脫監管的需求將永遠存在。
只要虛擬幣不死,區塊鏈經濟就一定有生存的空間,因為虛擬幣代表的價值必然需要兌現的途徑,而這個途徑不可能永遠是法幣。
這里要插一句,最近區塊鏈和中心化賬本的妥協產物,比如雷電網路等,正逐漸露出頭角。原理上中心賬本能大幅提高處理效率,適應大規模高頻次應用,但如果虛擬幣核心用戶的主要訴求是脫離監管,那麼這個功能可能並不會受歡迎。結果如何,不久便知。
另一個大家關心的問題是:風起雲涌的ICO會導致虛擬幣大爆發嗎?答案當然是否定的。
虛擬幣不受法律強制保護,所以其公眾接受度很大程度上決定了它的價值和前途。在接受法幣支付時,我們默認自己得到的法幣,別人也同樣會接受,其面值在流通過程中不產生任何折價,具有100%的流動性。虛擬幣的場合情況就不一樣了,由於缺乏流動性量化指標,我們只能根據公眾對其接受度的籠統判斷,決定是否接受該種虛擬幣支付。這種判斷方式會形成強大的馬太效應,因為公眾的選擇會迅速趨同。
另一方面,公眾自發接受的貨幣種類也是有上限的。拿共享單車打個比方,我們會給摩拜充押金,會給OFO充押金,心很大的還會給Bluegogo充押金,敢問同時給4種以上共享單車充過押金的人有多少?通常情況下,大眾對於同質化功能的接受上限僅有「三個」。在貨幣的場合,法幣第一的位置無法動搖,第二多半是比特幣,第三是以太坊——所以很不幸,不出意外其他所有虛擬幣都長不大。
有人會說,這是基於公鏈的判斷,我們還有私鏈和聯盟鏈。
在這里,我們要旗幟鮮明地站定立場:私鏈就是個中心賬本,和區塊鏈理念一點關系都沒有。至於聯盟鏈,相關的誤解就更多些。比方說,現在很多聯盟鏈的構想是沒有token成分的,這便是最大的誤解。如之前分析,若沒有激勵機制,高頻應用會變成低頻應用搭便車的工具,更差的情況甚至連價值傳輸的介質都會缺失。另外,如果不同應用間token價值的兌現方式存在區別,聯盟內部的套利也將不可避免。總之,聯盟鏈和公鏈相比,除了隱私性略有提高外,問題只多不少。Token泛用性的差距意味著它只能在公鏈的陰影下靠底層資產價值苟延殘喘。
綜上,我們對於未來區塊鏈的應用范圍也就有了基本的認識:大部分自然生長的區塊鏈經濟,都將基於比特幣和以太坊存在。這里說的自然生長,特指與中心化機構強行附會的偽區塊鏈進行區別。無論是銀行間結算、產品防偽還是其他任何場景,如果參與主體間的共識和信任早已存在,那所謂的區塊鏈應用充其量只是個資料庫,而且不會是最優設計的資料庫。
最後一個問題:區塊鏈的熱潮什麼時候會退去呢?
這是一個很難回答的問題。不過有句話說得好:你可以在一個時間愚弄所有人,也可以永遠愚弄一個人,但不可能永遠愚弄所有人。
⑵ 數字資產錢包有哪些
數字資產錢包種類有很多。下面我盡量寫得簡單一些。
按照是否運行全節點可分為:全節點錢包、輕錢包。全節點錢包是指同步了全部的區塊鏈數據的錢包,而輕錢包只保留和自己相關的部分數據,我們平時用的都是輕錢包。
按照錢包是否聯網,可以把錢包分為熱錢包和冷錢包。熱錢包是指保持聯網上線的錢包,也叫在線錢包。冷錢包就是不聯網的錢包,也叫離線錢包,一般是不聯網的電腦、硬碟或者寫著私鑰的紙張等。通常來說,冷錢包比熱錢包更安全,因為它沒有聯網,私鑰基本不可能被盜取。
而根據錢包私鑰存儲方式的不同,又可以分為去中心化錢包和中心化錢包。去中心化錢包是指私鑰的存儲管理不通過第三方,由用戶自己生成、管理,如果私鑰丟失,將無法找回。而中心化錢包私鑰的存儲由平台託管,用戶憑賬戶登錄,交易所錢包就屬於這種。
目前市面上比較知名的錢包有比特派、imToken、Galaxy Wallet(銀河錢包)、cobo Wallet 等。
⑶ metamask 掙錢程序
MetaMask(小狐狸錢包)是一個瀏覽器插件,可以用作以太坊錢包,並且可以像任何常規插件一樣安裝。安裝之後,它允許用戶存儲 Ether 和其他 ERC-20 令牌,從而使他們能跟其他以太坊地址之間進行交易轉賬。
MetaMask 小狐狸錢包
通過連接到基於以太坊的 Dapps,用戶可以在游戲中花費他們的硬幣,在博彩應用中投入代幣,並在 DEX 進行交易。它還為用戶提供了進入去中心化金融(DeFi)新興世界的切入點,提供了一種訪問 DeFi 應用程序
MetaMask 有什麼優勢?
常用-用戶只需一個插件即可訪問各種 Dapp
簡單-用戶無需管理私鑰,只需記住單詞列表即可代表他們簽名交易。
節省空間-用戶無需下載以太坊區塊鏈,因為它將請求發送到用戶計算機外部的節點。
集成-Dapps 旨在與之配合使用,因此發送和發送以太坊變得更加容易。
MetaMask 與硬體錢包 Trezor 和 Ledger 集成在一起,用戶可以在使用加密服務的同時將加密貨幣保存在硬體錢包中。
MetaMask 的缺點
第三方私鑰存儲-MetaMask 在用戶的瀏覽器中保存私鑰。這比硬體或紙錢包安全性低。
External?外部節點-它不是一個完整的節點,而是依賴於有時會導致 MetaMask 停止工作的停機時間的外部節點。
MetaMask 替代品
奇偶校驗-另一個基於瀏覽器的錢包,提供對 Dapps 和以太坊交易的訪問。
Mist 瀏覽器-一種設計用於訪問 Dapp 的瀏覽器,該瀏覽器與 Mist 錢包(全節點以太坊錢包)一起使用。
MyEtherWallet-類似的在線錢包,基於以太坊硬幣和代幣。它使您無需下載以太坊區塊鏈即可進行交易,但無需以相同的方式集成到 Dapps 中。
MetaMask 的使用量
自發布以來,MetaMask 為不斷增長的 dapp 空間提供了便捷的訪問點。隨著新的 dapp 產品和服務的出現,用戶數量在增加,到 2020 年 2 月,其 Chrome 擴展程序的用戶已達到 100 萬。
⑷ 以太坊無法連接節點
把你的TCP/IP協議設置成自動獲取狀態試試,方法:右鍵網上鄰居-屬性- 右鍵"本地連接"屬性-雙擊"Internet 協議 TCP/IP"-改為自動獲取
IPX/SPX協議,IPX是NetWare最底層的協議,它只負責數據在網路中的移動,並不保證數據是否傳輸成功,也不提供糾錯服務。IPX在負責數據傳送時,如果接收節點在同一網段內,就直接按該節點的ID將數據傳給它;如果接收節點是遠程的(不在同一網段內,或位於不同的區域網中),數據將交給NetWare伺服器或路由器中的網路ID,繼續數據的下一步傳輸。SPX在整個協議中負責對所傳輸的數據進行無差錯處理,所以我們將IPX/SPX也叫做「Novell的協議集」。
⑸ 以太坊stratum協議原理
參照比特幣的 stratum協議 和 NiceHash的stratum協議規范 編寫了一版以太坊版本的stratum協議說明.
stratum協議是目前最常用的礦機和礦池之間的TCP通訊協議。
以太坊是一個去中心化的網路架構,通過安裝Mist客戶端的節點來轉發新交易和新區塊。而礦機、礦池也同時形成了另一個網路,我們稱之為礦工網路。
礦工網路分成礦機、礦池、錢包等幾個主要部分,有時礦池軟體與錢包安裝在一起,可合稱為礦池。
礦機與礦池軟體之間的通訊協議是 stratum ,而礦池軟體與錢包之間的通訊是 bitcoinrpc 介面。
stratum是 JSON 為數據格式.
礦機啟動,首先以 mining.subscribe 方法向礦池連接,用來訂閱工作。
礦池以 mining.notify 返回訂閱號、ExtraNonce1和ExtraNonce2_size。
Client:
Server:
其中:
是 訂閱號 ;
080c是 extranonce ,Extranonce可能最大3位元組;
礦機以 mining.authorize 方法,用某個帳號和密碼登錄到礦池,密碼可空,礦池返回 true 登錄成功。該方法必須是在初始化連接之後馬上進行,否則礦機得不到礦池任務。
Client:
Server:
難度調整由礦池下發給礦機,以 mining.set_difficulty 方法調整難度, params 中是難度值。
Server:
礦機會在下一個任務時採用新難度,礦池有時會馬上下發一個新任務並且把清理任務設為true,以便礦機馬上以新難度工作。
該命令由礦池定期發給礦機,當礦機以 mining.subscribe 方法登記後,礦池應該馬上以 mining.notify 返回該任務。
Server:
任務ID : bf0488aa ;
seedhash : 。每一個任務都發送一個seedhash來支持盡可能多的礦池,這可能會很快地在貨幣之間交換。
headerhash : 。
boolean cleanjobs : true 。如果設為true,那麼礦工需要清理任務隊列,並立即開始從事新提供的任務,因為所有舊的任務分享都將導致陳舊的分享錯誤。如果是 false 則等當前任務結束才開始新任務。
礦工使用seedhash識別DAG,然後帶著headerhash,extranonce和自己的minernonce尋找低於目標的share(這是由提供的難度而產生的)。
礦機找到合法share時,就以」 mining.submit 「方法向礦池提交任務。礦池返回true即提交成功,如果失敗則error中有具體原因。
Client:
任務ID : bf0488aa
minernonce : 6a909d9bbc0f 。注意minernonce是6個位元組,因為提供的extranonce是2個位元組。如果礦池提供3位元組的extranonce,那麼minernonce必須是5位元組
Server:
一般的礦機與礦池通訊過程就如下所示:
⑹ Mist和Ethereum Wallet的區別
Mist 去中心化應用瀏覽器
Mist是一個去中心化應用瀏覽器。Mozilla火狐或者谷歌Chrome是為了web 2.0而生,而Mist瀏覽器是為web 3.0而生(3.0時代將會是去中心化的)。Mist仍然在其迅猛發展階段。現在只有一個可用的公開發布了,即0.3.6版私密開源發布(Secret Open Source Release)。這個發布的版本允許你用Mist瀏覽器打開任何Ethereum去中心化應用。
以太坊錢包(Ethereum Wallet)
「Mist」所有其他發布都不是Mist,除了一種帶有獨立去中心化應用的Mist瀏覽器:以太坊錢包(人們所知的Meteor去中心化應用錢包)由於以太坊錢包僅提供一種單獨的Mist瀏覽器去中心化應用:錢包,因此他被稱作「以太坊錢包」。將來,等到Metropolis發布以後,以太坊錢包將提供完整的Mist瀏覽器功能以便開放給任何去中心化應用使用。以太坊錢包將僅僅成為其中一種。
⑺ 以太坊是什麼丨以太坊開發入門指南
以太坊是什麼丨以太坊開發入門指南
很多同學已經躍躍欲試投入到區塊鏈開發隊伍當中來,可是又感覺無從下手,本文將基於以太坊平台,以通俗的方式介紹以太坊開發中涉及的各晦澀的概念,輕松帶大家入門。
以太坊是什麼
以太坊(Ethereum)是一個建立在區塊鏈技術之上, 去中心化應用平台。它允許任何人在平台中建立和使用通過區塊鏈技術運行的去中心化應用。
對這句話不理解的同學,姑且可以理解為以太坊是區塊鏈里的Android,它是一個開發平台,讓我們就可以像基於Android Framework一樣基於區塊鏈技術寫應用。
在沒有以太坊之前,寫區塊鏈應用是這樣的:拷貝一份比特幣代碼,然後去改底層代碼如加密演算法,共識機制,網路協議等等(很多山寨幣就是這樣,改改就出來一個新幣)。
以太坊平台對底層區塊鏈技術進行了封裝,讓區塊鏈應用開發者可以直接基於以太坊平台進行開發,開發者只要專注於應用本身的開發,從而大大降低了難度。
目前圍繞以太坊已經形成了一個較為完善的開發生態圈:有社區的支持,有很多開發框架、工具可以選擇。
智能合約
什麼是智能合約
以太坊上的程序稱之為智能合約, 它是代碼和數據(狀態)的集合。
智能合約可以理解為在區塊鏈上可以自動執行的(由事件驅動的)、以代碼形式編寫的合同(特殊的交易)。
在比特幣腳本中,我們講到過比特幣的交易是可以編程的,但是比特幣腳本有很多的限制,能夠編寫的程序也有限,而以太坊則更加完備(在計算機科學術語中,稱它為是「圖靈完備的」),讓我們就像使用任何高級語言一樣來編寫幾乎可以做任何事情的程序(智能合約)。
智能合約非常適合對信任、安全和持久性要求較高的應用場景,比如:數字貨幣、數字資產、投票、保險、金融應用、預測市場、產權所有權管理、物聯網、點對點交易等等。
目前除數字貨幣之外,真正落地的應用還不多(就像移動平台剛開始出來一樣),相信1到3年內,各種殺手級會慢慢出現。
編程語言:Solidity
智能合約的默認的編程語言是Solidity,文件擴展名以.sol結尾。
Solidity是和JavaScript相似的語言,用它來開發合約並編譯成以太坊虛擬機位元組代碼。
還有長像Python的智能合約開發語言:Serpent,不過建議大家還是使用Solidity。
Browser-Solidity是一個瀏覽器的Solidity IDE, 大家可以點進去看看,以後我們更多文章介紹Solidity這個語言。
運行環境:EVM
EVM(Ethereum Virtual Machine)以太坊虛擬機是以太坊中智能合約的運行環境。
Solidity之於EVM,就像之於跟JVM的關系一樣,這樣大家就容易理解了。
以太坊虛擬機是一個隔離的環境,在EVM內部運行的代碼不能跟外部有聯系。
而EVM運行在以太坊節點上,當我們把合約部署到以太坊網路上之後,合約就可以在以太坊網路中運行了。
合約的編譯
以太坊虛擬機上運行的是合約的位元組碼形式,需要我們在部署之前先對合約進行編譯,可以選擇Browser-Solidity Web IDE或solc編譯器。
合約的部署
在以太坊上開發應用時,常常要使用到以太坊客戶端(錢包)。平時我們在開發中,一般不接觸到客戶端或錢包的概念,它是什麼呢?
以太坊客戶端(錢包)
以太坊客戶端,其實我們可以把它理解為一個開發者工具,它提供賬戶管理、挖礦、轉賬、智能合約的部署和執行等等功能。
EVM是由以太坊客戶端提供的。
Geth是典型的開發以太坊時使用的客戶端,基於Go語言開發。 Geth提供了一個互動式命令控制台,通過命令控制台中包含了以太坊的各種功能(API)。Geth的使用我們之後會有文章介紹,這里大家先有個概念。
Geth控制台和Chrome瀏覽器開發者工具里的面的控制台是類似,不過是跑在終端里。
相對於Geth,Mist則是圖形化操作界面的以太坊客戶端。
如何部署
智能合約的部署是指把合約位元組碼發布到區塊鏈上,並使用一個特定的地址來標示這個合約,這個地址稱為合約賬戶。
以太坊中有兩類賬戶:
· 外部賬戶
該類賬戶被私鑰控制(由人控制),沒有關聯任何代碼。
· 合約賬戶
該類賬戶被它們的合約代碼控制且有代碼與之關聯。
和比特幣使用UTXO的設計不一樣,以太坊使用更為簡單的賬戶概念。
兩類賬戶對於EVM來說是一樣的。
外部賬戶與合約賬戶的區別和關系是這樣的:一個外部賬戶可以通過創建和用自己的私鑰來對交易進行簽名,來發送消息給另一個外部賬戶或合約賬戶。
在兩個外部賬戶之間傳送消息是價值轉移的過程。但從外部賬戶到合約賬戶的消息會激活合約賬戶的代碼,允許它執行各種動作(比如轉移代幣,寫入內部存儲,挖出一個新代幣,執行一些運算,創建一個新的合約等等)。
只有當外部賬戶發出指令時,合同賬戶才會執行相應的操作。
合約部署就是將編譯好的合約位元組碼通過外部賬號發送交易的形式部署到以太坊區塊鏈上(由實際礦工出塊之後,才真正部署成功)。
運行
合約部署之後,當需要調用這個智能合約的方法時只需要向這個合約賬戶發送消息(交易)即可,通過消息觸發後智能合約的代碼就會在EVM中執行了。
Gas
和雲計算相似,佔用區塊鏈的資源(不管是簡單的轉賬交易,還是合約的部署和執行)同樣需要付出相應的費用(天下沒有免費的午餐對不對!)。
以太坊上用Gas機制來計費,Gas也可以認為是一個工作量單位,智能合約越復雜(計算步驟的數量和類型,佔用的內存等),用來完成運行就需要越多Gas。
任何特定的合約所需的運行合約的Gas數量是固定的,由合約的復雜度決定。
而Gas價格由運行合約的人在提交運行合約請求的時候規定,以確定他願意為這次交易願意付出的費用:Gas價格(用以太幣計價) * Gas數量。
Gas的目的是限制執行交易所需的工作量,同時為執行支付費用。當EVM執行交易時,Gas將按照特定規則被逐漸消耗,無論執行到什麼位置,一旦Gas被耗盡,將會觸發異常。當前調用幀所做的所有狀態修改都將被回滾, 如果執行結束還有Gas剩餘,這些Gas將被返還給發送賬戶。
如果沒有這個限制,就會有人寫出無法停止(如:死循環)的合約來阻塞網路。
因此實際上(把前面的內容串起來),我們需要一個有以太幣余額的外部賬戶,來發起一個交易(普通交易或部署、運行一個合約),運行時,礦工收取相應的工作量費用。
以太坊網路
有些著急的同學要問了,沒有以太幣,要怎麼進行智能合約的開發?可以選擇以下方式:
選擇以太坊官網測試網路Testnet
測試網路中,我們可以很容易獲得免費的以太幣,缺點是需要發很長時間初始化節點。
使用私有鏈
創建自己的以太幣私有測試網路,通常也稱為私有鏈,我們可以用它來作為一個測試環境來開發、調試和測試智能合約。
通過上面提到的Geth很容易就可以創建一個屬於自己的測試網路,以太幣想挖多少挖多少,也免去了同步正式網路的整個區塊鏈數據。
使用開發者網路(模式)
相比私有鏈,開發者網路(模式)下,會自動分配一個有大量余額的開發者賬戶給我們使用。
使用模擬環境
另一個創建測試網路的方法是使用testrpc,testrpc是在本地使用內存模擬的一個以太坊環境,對於開發調試來說,更方便快捷。而且testrpc可以在啟動時幫我們創建10個存有資金的測試賬戶。
進行合約開發時,可以在testrpc中測試通過後,再部署到Geth節點中去。
更新:testrpc 現在已經並入到Truffle 開發框架中,現在名字是Ganache CLI。
Dapp:去中心化的應用程序
以太坊社區把基於智能合約的應用稱為去中心化的應用程序(DecentralizedApp)。如果我們把區塊鏈理解為一個不可篡改的資料庫,智能合約理解為和資料庫打交道的程序,那就很容易理解Dapp了,一個Dapp不單單有智能合約,比如還需要有一個友好的用戶界面和其他的東西。
Truffle
Truffle是Dapp開發框架,他可以幫我們處理掉大量無關緊要的小事情,讓我們可以迅速開始寫代碼-編譯-部署-測試-打包DApp這個流程。
總結
我們現在來總結一下,以太坊是平台,它讓我們方便的使用區塊鏈技術開發去中心化的應用,在這個應用中,使用Solidity來編寫和區塊鏈交互的智能合約,合約編寫好後之後,我們需要用以太坊客戶端用一個有餘額的賬戶去部署及運行合約(使用Truffle框架可以更好的幫助我們做這些事情了)。為了開發方便,我們可以用Geth或testrpc來搭建一個測試網路。
註:本文中為了方便大家理解,對一些概念做了類比,有些嚴格來不是准確,不過我也認為對於初學者,也沒有必要把每一個概念掌握的很細致和准確,學習是一個逐步深入的過程,很多時候我們會發現,過一段後,我們會對同一個東西有不一樣的理解。
⑻ 以太坊錢包Mist多重簽名
個人如果錢包中有幾個以太幣,保管好私鑰,做幾個備份也沒有什麼好擔心的,但是要是像我這樣手握成千上萬個幣,能不擔心嗎,哈哈哈。。。
一般大量持幣的機構,都會使用多重簽名機制來保證幣的安全,所謂多重簽名就是多於一個人同意交易才生效,為了弄清楚實際過程,來實操一下。
主賬戶需要多於1個ETH才能新建合約,至少需要3個賬戶才能完成多重簽名錢包
OK,輸入完密碼後看到錢包正在創建,這里我們設置了發送任意的幣都需要至少兩個錢包賬戶同意
耐心等待一會即可看到多重簽名錢包創建好了,創建好後也有一個地址,可以像正常轉幣一樣將ETH從其他地址存到多重簽名地址,這里我們存入100個,可以看到賬戶內現有100個ETH,每次轉出需要至少2人同意
我們這里創建了多重簽名賬戶的3個管理地址,那麼其他的地址需要手動添加改地址到錢包,即可查看或操作此賬戶了。
選擇從多重簽名的錢包轉出,會有提示,每日超過限額,需要其他一個賬戶確認
先按正常的流程走吧,輸完發起賬號的密碼,交易歷史中會看到區塊確認中,當有確認的時候,發現所有多重簽名賬號的Mist中都多了一個提醒
PS:由於多重簽名地址底層使用了以太坊的智能合約,所以每次發起(包括其他人批准)都需要消耗gas,也就是說需要保證管理賬號中有足夠的ETH才行。
⑼ 區塊鏈技術架構有些什麼課程介紹
目前市場上區塊鏈培訓課程跨度很大,課程內容和授課形式也是五花八門。
區塊鏈
1、編程基礎入門
計算機軟硬體基礎、字元集及字元編碼、HTML+CSS(含HTML5+CSS3)、ECMA + BOM + DOM、jQuery、node.js、Ajax及Express
2、Go編程語言
Go基本語法、流程式控制制、函數及數據、錯誤處理、Go面向對象編程、Go並發編程、Go網路編程、Go安全編程、Go進階編程(goroutine、channel)、資料庫MySQL、LevelDB
3、區塊鏈1.0——比特幣Bitcoin
比特幣原理、比特幣系統架構、密碼演算法(Go語言實現)、共識演算法(Go語言實現)、比特幣交易原理及交易腳本、比特幣RPC編程(node.js實現)、比特幣源碼解析
4、區塊鏈2.0——以太坊Ethereum
以太坊工作原理及基礎架構、以太坊基本概念(賬戶、交易、Gas)、以太坊錢包Mist及Metamask、以太坊交易、ERC20標准Token開發部署、以太坊開發IDE——remix-ide、智能合約與Solidity、Solidity部署、備份及調用、框架技術:truffle及web3、DApp開發實戰、Geth
5、區塊鏈3.0——超級賬本之Fabric
超級賬本項目介紹、Fabric部署和使用、Fabric配置管理、Fabric架構設計、Fabric CA應用與配置、應用開發實戰。
鏈喬教育在線旗下學碩創新區塊鏈技術工作站是中國教育部學校規劃建設發展中心開展的「智慧學習工場2020-學碩創新工作站 」唯一獲準的「區塊鏈技術專業」試點工作站。專業站立足為學生提供多樣化成長路徑,推進專業學位研究生產學研結合培養模式改革,構建應用型、復合型人才培養體系。
⑽ 小狐狸錢包eth取消交易要手續費
以太坊錢包是一種幫助您與您的以太坊賬戶進行交互的工具。可以把它想像成一個背後沒有銀行的互聯網銀行應用。通過錢包您可以查看余額,發送交易或者鏈接到各種應用。您的錢包只是管理您以太坊賬戶的工具。這意味著您可以隨時更換您的錢包應用。許多錢包應用都支持同時管理您的多個以太坊賬戶。是您,而不是錢包實際控制您的資產。它們只是管理您資產的工具。
第一個要說的當然就是Ethereum官方錢包+瀏覽器Mist。Mist是一個全節點錢包(全節點錢包通俗的來說就是同步了全部的以太坊區塊信息的錢包)。也就是說打開錢包後,電腦會自動同步全部的以太坊區塊信息,如果設備和網路的條件過關的情況下,目前(17年9月8日)大概需要半天左右的時間。
優勢:安全度高,不需要經過第三方發起交易,節點未同步完成之前無法查看地址余額
劣勢:無法調整GasPrice對網路要求高,需要連接節點,才能發起交易