Ⅰ 什麼是區塊鏈
【定義】
區塊鏈(Blockchain)是指通過去中心化和去信任的方式集體維護一個可靠資料庫的技術方案。該技術方案讓參與系統中的任意多個節點,把一段時間系統內全部信息交流的數據,通過密碼學演算法計算和記錄到一個數據塊(block),並且生成該數據塊的指紋用於鏈接(chain)下個數據塊和校驗,系統所有參與節點來共同認定記錄是否為真。
區塊鏈是一種類似於NoSQL(非關系型資料庫)這樣的技術解決方案統稱,並不是某種特定技術,能夠通過很多編程語言和架構來實現區塊鏈技術。並且實現區塊鏈的方式種類也有很多,目前常見的包括POW(Proof of Work,工作量證明),POS(Proof of Stake,權益證明),DPOS(Delegate Proof of Stake,股份授權證明機制)等。
區塊鏈的概念首次在論文《比特幣:一種點對點的電子現金系統(Bitcoin:A Peer-to-Peer Electronic Cash System)》中提出,作者為自稱中本聰(Satoshi Nakamoto)的個人(或團體)。因此可以把比特幣看成區塊鏈的首個在金融支付領域中的應用。
【通俗解釋】
無論多大的系統或者多小的網站,一般在它背後都有資料庫。那麼這個資料庫由誰來維護?在一般情況下,誰負責運營這個網路或者系統,那麼就由誰來進行維護。如果是微信資料庫肯定是騰訊團隊維護,淘寶的資料庫就是阿里的團隊在維護。大家一定認為這種方式是天經地義的,但是區塊鏈技術卻不是這樣。
如果我們把資料庫想像成是一個賬本:比如支付寶就是很典型的賬本,任何數據的改變就是記賬型的。資料庫的維護我們可以認為是很簡單的記賬方式。在區塊鏈的世界也是這樣,區塊鏈系統中的每一個人都有機會參與記賬。系統會在一段時間內,可能選擇十秒鍾內,也可能十分鍾,選出這段時間記賬最快最好的人,由這個人來記賬,他會把這段時間資料庫的變化和賬本的變化記在一個區塊(block)中,我們可以把這個區塊想像成一頁紙上,系統在確認記錄正確後,會把過去賬本的數據指紋鏈接(chain)這張紙上,然後把這張紙發給整個系統裡面其他的所有人。然後周而復始,系統會尋找下一個記賬又快又好的人,而系統中的其他所有人都會獲得整個賬本的副本。這也就意味著這個系統每一個人都有一模一樣的賬本,這種技術,我們就稱之為區塊鏈技術(Blockchain),也稱為分布式賬本技術。
由於每個人(計算機)都有一模一樣的賬本,並且每個人(計算機)都有著完全相等的權利,因此不會由於單個人(計算機)失去聯系或宕機,而導致整個系統崩潰。既然有一模一樣的賬本,就意味著所有的數據都是公開透明的,每一個人可以看到每一個賬戶上到底有什麼數字變化。它非常有趣的特性就是,其中的數據無法篡改。因為系統會自動比較,會認為相同數量最多的賬本是真的賬本,少部分和別人數量不一樣的賬本是虛假的賬本。在這種情況下,任何人篡改自己的賬本是沒有任何意義的,因為除非你能夠篡改整個系統裡面大部分節點。如果整個系統節點只有五個、十個節點也許還容易做到,但是如果有上萬個甚至上十萬個,並且還分布在互聯網上的任何角落,除非某個人能控制世界上大多數的電腦,否則不太可能篡改這樣大型的區塊鏈。
【要素】
結合區塊鏈的定義,我們認為必須具有如下四點要素才能被稱為公開區塊鏈技術,如果只具有前3點要素,我們將認為其為私有區塊鏈技術(私有鏈)。
1、點對點的對等網路(權力對等、物理點對點連接)
2、可驗證的數據結構(可驗證的PKC體系,不可篡改資料庫)
3、分布式的共識機制(解決拜占庭將軍問題,解決雙重支付)
4、納什均衡的博弈設計(合作是演化穩定的策略)
【特性】
結合定義區塊鏈的定義,區塊鏈會現實出四個主要的特性:去中心化(Decentralized)、去信任(Trustless)、集體維護(Collectively maintain)、可靠資料庫(Reliable Database)。並且由四個特性會引申出另外2個特性:開源(Open Source)、隱私保護(Anonymity)。如果一個系統不具備這些特徵,將不能視其為基於區塊鏈技術的應用。
去中心化(Decentralized):整個網路沒有中心化的硬體或者管理機構,任意節點之間的權利和義務都是均等的,且任一節點的損壞或者失去都會不影響整個系統的運作。因此也可以認為區塊鏈系統具有極好的健壯性。
去信任(Trustless):參與整個系統中的每個節點之間進行數據交換是無需互相信任的,整個系統的運作規則是公開透明的,所有的數據內容也是公開的,因此在系統指定的規則范圍和時間范圍內,節點之間是不能也無法欺騙其它節點。
集體維護(Collectively maintain):系統中的數據塊由整個系統中所有具有維護功能的節點來共同維護的,而這些具有維護功能的節點是任何人都可以參與的。
可靠資料庫(Reliable Database):整個系統將通過分資料庫的形式,讓每個參與節點都能獲得一份完整資料庫的拷貝。除非能夠同時控制整個系統中超過51%的節點,否則單個節點上對資料庫的修改是無效的,也無法影響其他節點上的數據內容。因此參與系統中的節點越多和計算能力越強,該系統中的數據安全性越高。
開源(Open Source):由於整個系統的運作規則必須是公開透明的,所以對於程序而言,整個系統必定會是開源的。
隱私保護(Anonymity):由於節點和節點之間是無需互相信任的,因此節點和節點之間無需公開身份,在系統中的每個參與的節點的隱私都是受到保護的。
Ⅱ 區塊鏈共識機制之POS和DPOS
工作量證明演算法作為區塊鏈第一個也是目前經受住足夠實踐檢驗的一個共識機制,解決的是分布式系統交易信息一致性的問題,在一個去中心化的網路中構建了彼此不信任節點的信任機制,也是比特幣成功應用的關鍵技術環節。
經過幾年的實際運轉,這一演算法的弊端也顯露出來,比特幣網路每秒完成600萬億次SHA256運算,消耗了大量的電力資源,而最終這些計算沒有任何實際或科學價值。這些運算存在的唯一目的是用來解決工作量證明問題,另外一個現實的威脅便是算力集中,工作量證明本質上是利用窮舉法找出符合規定條件的哈希值的過程,算力越強,獲得記賬權(即挖到礦)的可能性便越高,一開始是最早利用顯卡挖礦的人,後來是利用FPGA礦機的人,再後來是利用ASIC專用晶元挖礦的人,現在就是不斷製造出更好的ASIC的人,另外還有「礦工」節點聯合起來組成礦池,如Ghash,Ghash 2014年曾經發表聲明,將在今後確保不超過40%的全網算力,這類自律聲明是對比特幣去信任機制的莫大諷刺。
比特幣自誕生以來,人們便開始嘗試其他除了工作量證明演算法之外的其他共識機制,如具有代表性的權益證明POS、委託權益證明DPOS、拜占庭容錯機制(BFT)及實用拜占庭容錯機制(PBFT)等,下面將主要介紹POS和DPOS,BFT和PBFT留待下一篇。
權益證明POS
POS是一類共識演算法,或者說是一類共識演算法的設計思想,而不是一個,最早採用POS的是Peercoin。Peercoin是2012年8月,一個化名Sunny King的極客推出的一類加密貨幣,採用工作量證明機制+權益證明機制,首次將權益證明機制引入了加密貨幣。Peercoin引入了「幣齡」的概念,每個幣每天產生1幣齡,比如你持有100個幣,總共持有了30天,那麼,此時你的幣齡就為3000。當一個新的區塊產生時,其他想獲得記賬權的節點同比特幣也需要計算哈希值,得出滿足條件哈希值的難易與難度值有關,這個難度值這里與幣齡成反比,即你的幣齡越大,得出符合條件的哈希值的概率就越大,同時你的幣齡被清空,記賬後系統會給予你相應「利息」,你每被清空365幣齡,獲得利息為:3000 * 利率 / 365,Peercoin的利率為1%,即0.08個幣。
可以看出,在POS機制下,持有幣越多,越容易獲得記賬權,接近於贏家通吃的感覺,但持有的幣越多,越接近於一個誠實的節點,因為破壞整個網路帶來的損失也越大。Peercoin的POS機制有一個漏洞,對於不持有幣的人而言,他們本來就沒什麼收益,所以一些惡意攻擊對於他們則是無損失的,這就是Nothing-at-stake attack(無利益攻擊)。後續的比較成功的POS都引入了對付這種攻擊的機制。
以太坊系統的目標是在今年引入權益證明,即Casper。在權益證明共識機制之下,用戶將能夠在以太坊網路擁有「幣權」。用戶如果誠實行事並確認了合法交易,將獲得與其股權成比的利息;如果惡意行事並試圖網路中作弊,就會失去其權益。
委託權益證明DPOS
委託權益證明DPOS是POS的變種,運用DPOS的典型如比特股等,其基本原理在於全網投票選出101個節點代行記賬許可權,這些代表節點的許可權完全一致。代表節點輪流記賬,可以選擇創造區塊或不創造區塊。但他們無法改變交易的詳情,惡意或者遲到的代表節點的行為也會被公之於眾,那麼網路可能將他們簡單快速地投票驅逐出去。被驅逐出去的代表節點將會失去他們記賬許可權,以及對應的收入。
DPOS作為是一種弱中心化的共識機制,保留了一些中心化系統的關鍵優勢,如交易速度等(每個塊的時間為10秒,一筆交易在得到6-10個確認後大概1分鍾,一個完整的101個塊的周期大概僅僅需要16分鍾),但每個持幣者都有能力決定哪些節點可以被信任,並且事實上,代表節點會主動降低自己的收入來贏得更多投票,剩下的收入會作為股息,支付給所有的比特股持有人。DPOS有點類似於代議制民主及股份公司董事會制度,都是一種精英制度,但其身份受制於下面的民眾,在DPOS中,幣的持有者至少有權決定代表節點—或者說礦工的身份。
Ⅲ 區塊鏈是什麼意思
區塊鏈是分布式數據存儲、點對點傳輸、共識機制、加密演算法等計算機技術的新型應用模式。區塊鏈,是比特幣的一個重要概念。
它本質上是一個去中心化的資料庫,同時作為比特幣的底層技術,是一串使用密碼學方法相關聯產生的數據塊,每一個數據塊中包含了一批次比特幣網路交易的信息,用於驗證其信息的有效性(防偽)和生成下一個區塊。
區塊鏈在公共管理,能源,酒店經營,交通等領域都與民眾的生產生活息息相關,但這些領域的中心化特質也帶來了一些問題,可以用區塊鏈來改造。
去中心化的完全分布式DNS服務通過網路中各個相互之間的點對點數據傳輸服務可以實現域名的查詢和解析,可以用於某些重要的基礎設施的操作系統和固件沒有被篡改,可以進行監控軟體的狀態和初始,發現不良的篡改,並確保使用了物聯網技術的系統所傳輸的數據沒用經過篡改。
以上內容參考網路-區塊鏈
Ⅳ 以太坊pos模式是什麼意思
POS是一種在公鏈中的共識演算法,可作為POW演算法的一種替換。POW是保證比特幣、當前以太坊和許多其它區塊鏈安全的一種機制,但是POW演算法在挖礦過程中因破壞環境和浪費電力而受到指責。POS試圖通過以一種不同的機製取代挖礦的概念,從而解決這些問題。
【拓展資料】
POS機制可以被描述成一種虛擬挖礦。鑒於POW主要依賴於計算機硬體的稀缺性來防止女巫攻擊,POS則主要依賴於區塊鏈自身里的代幣。在POW中,一個用戶可能拿1000美元來買計算機,加入網路來挖礦產生新區塊,從而得到獎勵。而在POS中,用戶可以拿1000美元購買等價值的代幣,把這些代幣當作押金放入POS機制中,這樣用戶就有機會產生新塊而得到獎勵。在POW中,如果用戶花費2000美元購買硬體設備,當然會獲得兩倍算力來挖礦,從而獲得兩倍獎勵。同樣,在POS機制中投入兩倍的代幣作為押金,就有兩倍大的機會獲得產生新區塊的權利。
眾所周知,第三季度的「DeFi熱」促使以太坊網路上的交易量大幅增加,DappRadar 2020 Q3 Dapp報告指出,以太坊交易量在2020年第三季度猛增至1195億美元,與第二季度相比增長了近1200%,但隨著而來的是網路堵塞,交易費猛增。在今年9月9日,以太坊平均交易費用達到14美元的高度,刷新歷史記錄。因費用飆升,導致許多交易只能延遲。
EOS創始人BM感嘆稱:對於大多數正常規模的交易來說,以太坊交易費用太高了。
目前的以太坊仍然面臨多重問題,首先老生常談的是上面提到的交易處理,以太坊網路支持數千個去中心化應用程序,每秒都需要處理大量交易,而採用PoW共識機制的以太坊1.0,每秒只能處理約10-50筆交易,遠小於PayPal、Visa 等中心化網路,遠無法滿足用戶對於交易速度的需求。手續費高昂一直是以太坊被詬病的一個重要的點,V神直言,在rollups和分片完成之前,以太坊別無選擇,只能忍受高額交易費。因此以太坊需要升級。
Ⅳ POS什麼意思 區塊鏈
重;我都把它們曬好存放起來,專等那些商船從里斯本回來。這時,生意發展,資財
Ⅵ 什麼是POW、POS、DPOS、POR
都是區塊鏈的底層共識演算法,POW費電。EOS用的DPOS,21個超級節點,但是老賄選,所以現在DPOS基本上被扣上了中心化區塊鏈的帽子,我也覺得這樣違背區塊鏈精神。POR共識協議是最新由貝克鏈提出的一種共識機制,由公鑰之父、圖靈獎得主Whitfield Diffie的Cryptic Labs孵化,這個實驗室是世界上最牛的網路安全實驗室。
Ⅶ 區塊鏈共識演算法——(二)PoS共識(Proof of Stake)
2011 年 7 月, 一 位 名 為 Quantum Mechanic 的 數 字 貨 幣 愛 好 者 在 比 特 幣 論 壇 首次提出了權益證明 PoS 共識演算法. 隨後, Sunny King 在 2012 年 8 月發布的點點幣 (Peercoin, PPC) 中首次實現. PoS 由 系統中具有最高權益而非最高算力的節點獲得記賬 權, 其中權益體現為節點對特定數量貨幣的所有權, 稱為幣齡或幣天數 (Coin days)
PoS是考慮到PoW的最大缺陷:浪費資源而提出的,簡單來說就是 誰的權益大,誰說了算 。
PoS共識機制(Proof of Stake 權益證明)通過權益記賬的方式,解決效率低下、資源浪費、節點一致性等問題。
各個節點需要滿足一定的條件(如抵押一定的代幣)才能成為驗證節點(權益提高),系統通過演算法在其中選擇一部分作為出塊節點(礦工),每隔一段時間重新選擇,演算法會保證完全隨機,不可被操控。只有出塊節點才能進行數據處理,爭奪記賬權。
權益主要由權益因子決定,可以是持幣數量,也可以是幣齡及兩者的結合。
以太坊在之後很有可能會改用PoS進行共識,其更加符合以太坊高效率的特點。
Ⅷ 區塊鏈技術概念
區塊鏈技術概念
區塊鏈技術概念,現如今,區塊鏈已經成為大部分人關注的領域,很多企業也早已深入其中研究該技術情況,但是還有人對於它不是很了解,下面我分享一篇關於區塊鏈技術概念的相關信息。
區塊鏈的基本概念和工作原理
1、基本概念
區塊鏈是分布式數據存儲、點對點傳輸、共識機制、加密演算法等計算機技術的新型應用模式。所謂共識機制是區塊鏈系統中實現不同節點之間建立信任、獲取權益的數學演算法。
區塊鏈Blockchain、是比特幣的一個重要概念,它本質上是一個去中心化的資料庫,同時作為比特幣的底層技術。區塊鏈是一串使用密碼學方法相關聯產生的數據塊,每一個數據塊中包含了一次比特幣網路交易的信息,用於驗證其信息的有效性防偽、和生成下一個區塊。
狹義來講,區塊鏈是一種按照時間順序將數據區塊以順序相連的方式組合成的一種鏈式數據結構, 並以密碼學方式保證的不可篡改和不可偽造的分布式賬本。
廣義來講,區塊鏈技術是利用塊鏈式數據結構來驗證與存儲數據、利用分布式節點共識演算法來生成和更新數據、利用密碼學的方式保證數據傳輸和訪問的安全、利用由自動化腳本代碼組成的智能合約來編程和操作數據的一種全新的分布式基礎架構與計算方式。
2、工作原理
區塊鏈系統由數據層、網路層、共識層、激勵層、合約層和應用層組成。 其中,數據層封裝了底層數據區塊以及相關的數據加密和時間戳等基礎數據和基本演算法;網路層則包括分布式組網機制、數據傳播機制和數據驗證機制等;共識層主要封裝網路節點的各類共識演算法;激勵層將經濟因素集成到區塊鏈技術體系中來,主要包括經濟激勵的發行機制和分配機制等;合約層主要封裝各類腳本、演算法和智能合約,是區塊鏈可編程特性的基礎;應用層則封裝了區塊鏈的各種應用場景和案例。該模型中,基於時間戳的鏈式區塊結構、分布式節點的共識機制、基於共識算力的經濟激勵和靈活可編程的智能合約是區塊鏈技術最具代表性的創新點。
區塊鏈主要解決的交易的信任和安全問題,因此它針對這個問題提出了四個技術創新:
1、分布式賬本,就是交易記賬由分布在不同地方的多個節點共同完成,而且每一個節點都記錄的是完整的賬目,因此它們都可以參與監督交易合法性,同時也可以共同為其作證。
跟傳統的分布式存儲有所不同,區塊鏈的分布式存儲的獨特性主要體現在兩個方面:一是區塊鏈每個節點都按照塊鏈式結構存儲完整的數據,傳統分布式存儲一般是將數據按照一定的規則分成多份進行存儲。二是區塊鏈每個節點存儲都是獨立的、地位等同的,依靠共識機制保證存儲的一致性,而傳統分布式存儲一般是通過中心節點往其他備份節點同步數據。 [8]
沒有任何一個節點可以單獨記錄賬本數據,從而避免了單一記賬人被控制或者被賄賂而記假賬的可能性。也由於記賬節點足夠多,理論上講除非所有的節點被破壞,否則賬目就不會丟失,從而保證了賬目數據的安全性。
2、非對稱加密和授權技術,存儲在區塊鏈上的交易信息是公開的,但是賬戶身份信息是高度加密的,只有在數據擁有者授權的情況下才能訪問到,從而保證了數據的安全和個人的隱私。
3、共識機制,就是所有記賬節點之間怎麼達成共識,去認定一個記錄的有效性,這既是認定的手段,也是防止篡改的手段。區塊鏈提出了四種不同的共識機制,適用於不同的應用場景,在效率和安全性之間取得平衡。
區塊鏈的共識機制具備「少數服從多數」以及「人人平等」的特點,其中「少數服從多數」並不完全指節點個數,也可以是計算能力、股權數或者其他的計算機可以比較的特徵量。「人人平等」是當節點滿足條件時,所有節點都有權優先提出共識結果、直接被其他節點認同後並最後有可能成為最終共識結果。以比特幣為例,採用的是工作量證明,只有在控制了全網超過51%的記賬節點的情況下,才有可能偽造出一條不存在的記錄。當加入區塊鏈的節點足夠多的時候,這基本上不可能,從而杜絕了造假的可能.
4、智能合約,智能合約是基於這些可信的不可篡改的數據,可以自動化的執行一些預先定義好的規則和條款。以保險為例,如果說每個人的信息包括醫療信息和風險發生的信息、都是真實可信的,那就很容易的在一些標准化的保險產品中,去進行自動化的理賠.
3、其它
互聯網交換的是信息,區塊鏈交換的是價值。人類歷史和互聯網歷史可以用八個字理解:分久必合合久必分,到了分久必合的時代,網路信息全部散在互聯網上面,大家要挖掘信息非常不容易,這時會出現像谷歌和臉 書等的平台,它做的唯一的事情就是把我們所有的信息重新組合了一下。互聯網時代壟斷巨頭們重組的就是信息,並不是產生自己的信息,產生的信息完全是我們個人。一旦信息重組,就會出現一個新的壟斷巨人,所以就到了分久必合的時代。現在由於區塊鏈技術產生又到了合久必分時代,又是新的多中心化,新的多中心化之後賦能產生新的價值,這些數據會在我們自己的手上,個人數據產生價值是歸自己所有,這是這個時代最最激動人心的時代。
區塊鏈的價值有哪些?低成本建立信任的機制,確立數權,解決數據的.產權。
目前區塊鏈技術不斷發展,包括現在的單鏈向多鏈發展,而且技術能夠在進一步擴展,我想未來還是可能會出現,特別是在交易等方面出現顛覆性的,特別是對現有產業的很多顛覆性的場景。
區塊鏈的本質是在不可信的網路建立可信的信息交換。
一帶一路+一鏈。區塊鏈更大的不是製造信任,而是讓信任產生無損的傳遞,整個降低社會的摩擦成本,從而提高整個效益。
現在區塊鏈本身還是初始階段,所以包括區塊鏈的信息傳遞、加密,這個過程中出現量子加密和其他加密,實際上對區塊鏈本身所採用的加密演算法攻擊現象也時有發生。包括區塊鏈也是作為一種資產的認定,數字資產的一個認定,但是現在我們很多都是用密碼演算法,或者是作為我們來解密的鑰匙,但是如果密碼忘記了,很可能你現在的資產就丟掉了,你不能夠在得到你原來的這些資產,所以在資產管理,包括信息傳遞和一些安全這些方面,應該說都還是存在著一些隱患。當然那麼從技術角度,現在我們區塊鏈本身處理的速度,或者說本身的擴展性,因為從工作機理的角度來看,是要把整個賬本要復制給所有的參與人員,所以在區塊鏈本身的運作效率和擴展性方面還是比較受限的。這些我們覺得都還是需要進一步在技術方面有進一步的發展。
區塊鏈平台這些底層技術,又形成包括區塊鏈錢包、區塊鏈瀏覽器、節點競選、礦機、礦池、開發組件、開發模塊、技術社區及項目社群等一系列的生態系統,這些生態系統的完善程度直接決定著區塊鏈底層平台的使用效率和效果。
4、蒙代爾的不可能三角
去中心化、高效、安全,不可能實現三者全部同時達到極致。
區塊鏈的本質是一種分布式記賬技術,與之相對的是中心式記賬技術,中心式記賬技術在我們目前的生活中廣泛存在。區塊鏈是分布式數據存儲、點對點傳輸、共識機制、加密演算法等計算機技術的新型應用模式。
區塊鏈Blockchain、,是比特幣的一個重要概念,它本質上是一個去中心化的資料庫,同時作為比特幣的底層技術,是一串使用密碼學方法相關聯產生的數據塊,每一個數據塊中包含了一批次比特幣網路交易的信息,用於驗證其信息的有效性防偽、和生成下一個區塊。
狹義來講,區塊鏈是一種按照時間順序將數據區塊以順序相連的方式組合成的一種鏈式數據結構, 並以密碼學方式保證的不可篡改和不可偽造的分布式賬本。
廣義來講,區塊鏈技術是利用塊鏈式數據結構來驗證與存儲數據、利用分布式節點共識演算法來生成和更新數據、利用密碼學的方式保證數據傳輸和訪問的安全、利用由自動化腳本代碼組成的智能合約來編程和操作數據的一種全新的分布式基礎架構與計算方式。
區塊鏈技術通俗的理解就是:把「物」的前、後、左、右區塊用一種技術連接成一個鏈條,但每個區塊的原始數據不可篡改,是一種物聯網范疇的、可以讓參與者信任的「各個模塊鏈動」的技術。區塊鏈技術的應用,離不開互聯道網,也離不開物聯網,是建立在二者融合互動基礎上的、但又讓參與者各自保持獨回立的去中心化、、並共同擁有這套價值鏈共建共享、的技術。
區塊鏈的特徵:去中心化、開放性、自治性、信息不可篡改,匿名性。
區塊鏈是一個能夠傳遞價值的網路,對可以傳遞價值的網路的需求是推動區塊鏈技術產生的重要原因。在對於保護帶有所有權或者其他價值的信息需求的推動下,區塊鏈出現了。區塊鏈通過公私鑰密碼學、分布式存儲等技術手段,一方面保證了帶有價值的信息的高效傳遞,另一方面保證了這些信息在傳遞的過程中不會被輕易的復制篡改。
從區塊鏈誕生的必然性來理解區塊鏈的內涵,區塊鏈是解決了中心化記賬缺點、解決了分布式一致性問題的分布式記賬技術,同時也是連接互聯網升級為保證帶有價值的信息安全高效傳遞的價值網路。
區塊鏈: 區塊鏈就像是一個全球唯一的帳簿,或者說是資料庫,記錄了網路中所有交易歷史。
以太坊虛擬機(EVM): 它讓你能在以太坊上寫出更強大的程序比特幣上也可以寫腳本程序、。它有時也用來指以太坊區塊鏈,負責執行智能合約以及一切。
節點:你可以運行節點,通過它讀寫以太坊區塊鏈,也即使用以太坊虛擬機。完全節點需要下載整個區塊鏈。輕節點仍在開發中。
礦工:挖礦,也就是處理區塊鏈上的區塊的節點。這個網頁可以看到當前活躍的一部分以太坊礦工:stats.ethdev.com。
工作量證明:礦工們總是在競爭解決一些數學問題。第一個解出答案的(算出下一個區塊)將獲得以太幣作為獎勵。然後所有節點都更新自己的區塊鏈。所有想要算出下一個區塊的礦工都有與其他節點保持同步,並且維護同一個區塊鏈的動力,因此整個網路總是能達成共識。(注意:以太坊正計劃轉向沒有礦工的權益證明系統(POS),不過那不在本文討論范圍之內。)
以太幣:縮寫ETH。一種你可以購買和使用的真正的數字貨幣。這里是可以交易以太幣的其中一家交易所的走勢圖。在寫這篇文章的時候,1個以太幣價值65美分。
Gas:在以太坊上執行程序以及保存數據都要消耗一定量的以太幣,Gas是以太幣轉換而成。這個機制用來保證效率。
DApp: 以太坊社區把基於智能合約的應用稱為去中心化的應用程序(Decentralized App)。DApp的目標是(或者應該是)讓你的智能合約有一個友好的界面,外加一些額外的東西,例如IPFS可以存儲和讀取數據的去中心化網路,不是出自以太坊團隊但有類似的精神)。DApp可以跑在一台能與以太坊節點交互的中心化伺服器上,也可以跑在任意一個以太坊平等節點上。(花一分鍾思考一下:與一般的網站不同,DApp不能跑在普通的伺服器上。他們需要提交交易到區塊鏈並且從區塊鏈而不是中心化資料庫讀取重要數據。相對於典型的用戶登錄系統,用戶有可能被表示成一個錢包地址而其它用戶數據保存在本地。許多事情都會與目前的web應用有不同架構。)
以太坊客戶端,智能合約語言
編寫和部署智能合約並不要求你運行一個以太坊節點。下面有列出基於瀏覽器的IDE和API。但如果是為了學習的話,還是應該運行一個以太坊節點,以便理解其中的基本組件,何況運行節點也不難。
運行以太坊節點可用的客戶端
以太坊有許多不同語言的客戶端實現即多種與以太坊網路交互的方法、,包括C++, Go, Python, Java, Haskell等等。為什麼需要這么多實現?不同的實現能滿足不同的需求例如Haskell實現的目標是可以被數學驗證、,能使以太坊更加安全,能豐富整個生態系統。
在寫作本文時,我使用的是Go語言實現的客戶端geth (go-ethereum),其他時候還會使用一個叫testrpc的工具, 它使用了Python客戶端pyethereum。後面的例子會用到這些工具。
關於挖礦:挖礦很有趣,有點像精心照料你的室內盆栽,同時又是一種了解整個系統的方法。雖然以太幣現在的價格可能連電費都補不齊,但以後誰知道呢。人們正在創造許多酷酷的DApp, 可能會讓以太坊越來越流行。
互動式控制台:客戶端運行起來後,你就可以同步區塊鏈,建立錢包,收發以太幣了。使用geth的一種方式是通過Javascript控制台。此外還可以使用類似cURL的命令通過JSON RPC來與客戶端交互。本文的目標是帶大家過一邊DApp開發的流程,因此這塊就不多說了。但是我們應該記住這些命令行工具是調試,配置節點,以及使用錢包的利器。
在測試網路運行節點: 如果你在正式網路運行geth客戶端,下載整個區塊鏈與網路同步會需要相當時間。你可以通過比較節點日誌中列印的最後一個塊號和stats.ethdev.com上列出的最新塊來確定是否已經同步。) 另一個問題是在正式網路上跑智能合約需要實實在在的以太幣。在測試網路上運行節點的話就沒有這個問題。此時也不需要同步整個區塊鏈,創建一個自己的私有鏈就勾了,對於開發來說更省時間。
Testrpc:用geth可以創建一個測試網路,另一種更快的創建測試網路的方法是使用testrpc. Testrpc可以在啟動時幫你創建一堆存有資金的測試賬戶。它的運行速度也更快因此更適合開發和測試。你可以從testrpc起步,然後隨著合約慢慢成型,轉移到geth創建的測試網路上 - 啟動方法很簡單,只需要指定一個networkid:geth --networkid "12345"。這里是testrpc的代碼倉庫,下文我們還會再講到它。
接下來我們來談談可用的編程語言,之後就可以開始真正的編程了。寫智能合約用的編程語言用Solidity就好。
要寫智能合約有好幾種語言可選:有點類似Javascript的Solidity, 文件擴展名是.sol. 和Python接近的Serpent, 文件名以.se結尾。還有類似Lisp的LLL。Serpent曾經流行過一段時間,但現在最流行而且最穩定的要算是Solidity了,因此用Solidity就好。聽說你喜歡Python? 用Solidity。
solc編譯器: 用Solidity寫好智能合約之後,需要用solc來編譯。它是一個來自C++客戶端實現的組件又一次,不同的實現產生互補、,這里是安裝方法。如果你不想安裝solc也可以直接使用基於瀏覽器的編譯器,例如Solidity real-time compiler或者Cosmo。後文有關編程的部分會假設你安裝了solc。
web3.js API. 當Solidity合約編譯好並且發送到網路上之後,你可以使用以太坊的web3.js JavaScript API來調用它,構建能與之交互的web應用。
Ⅸ 什麼是POW和POS,二者區別聯系
POW:全稱Proof of Work,工作量證明。
POS:全稱Proof of Stake,權益證明。
這兩者都區塊鏈的共識機制,是數字貨幣的記賬方法。
區別是:
1、POW機制:工作量證明機制即對於工作量的證明,是生成要加入到區塊鏈中的一筆新的交易信息(即新區塊)時必須滿足的要求。在基於工作量證明機制構建的區塊鏈網路中,節點通過計算隨機哈希散列的數值解爭奪記賬權,求得正確的數值解以生成區塊的能力是節點算力的具體表現。
2、POS機制:權益證明要求證明人提供一定數量加密貨幣的所有權即可。權益證明機制的運作方式是,當創造一個新區塊時,礦工需要創建一個「幣權」交易,交易會按照預先設定的比例把一些幣發送給礦工本身。權益證明機制根據每個節點擁有代幣的比例和時間,依據演算法等比例地降低節點的挖礦難度,從而加快了尋找隨機數的速度。
(9)區塊鏈pos定義擴展閱讀:
比特幣(BitCoin)的概念最初由中本聰在2009年提出,根據中本聰的思路設計發布的開源軟體以及建構其上的P2P網路。比特幣是一種P2P形式的數字貨幣。點對點的傳輸意味著一個去中心化的支付系統。
與大多數貨幣不同,比特幣不依靠特定貨幣機構發行,它依據特定演算法,通過大量的計算產生,比特幣經濟使用整個P2P網路中眾多節點構成的分布式資料庫來確認並記錄所有的交易行為,並使用密碼學的設計來確保貨幣流通各個環節安全性。P2P的去中心化特性與演算法本身可以確保無法通過大量製造比特幣來人為操控幣值。