㈠ 【以太坊易錯概念】nonce, 公私鑰和地址,BASE64/BASE58,
以太坊里的nonce有兩種意思,一個是proof of work nonce,一個是account nonce。
在智能合約里,nonce的值代表的是該合約創建的合約數量。只有當一個合約創建另一個合約的時候才會增加nonce的值。但是當一個合約調用另一個合約中的method時 nonce的值是不變的。
在以太坊中nonce的值可以這樣來獲取(其實也就是屬於一個賬戶的交易數量):
但是這個方法只能獲取交易once的值。目前是沒有內置方法來訪問contract中的nonce值的
通過橢圓曲線演算法生成鑰匙對(公鑰和私鑰),以太坊採用的是secp256k1曲線,
公鑰採用uncompressed模式,生成的私鑰為長度32位元組的16進制字串,公鑰為長度64的公鑰字串。公鑰04開頭。
把公鑰去掉04,剩下的進行keccak-256的哈希,得到長度64位元組的16進制字串,丟掉前面24個,拿後40個,再加上"0x",即為以太坊地址。
整個過程可以歸納為:
2)有些網關或系統只能使用ASCII字元。Base64就是用來將非ASCII字元的數據轉換成ASCII字元的一種方法,而且base64特別適合在http,mime協議下快速傳輸數據。Base64使用【字母azAZ數字09和+/】這64個字元編碼。原理是將3個位元組轉換成4個位元組(3 X 8) = 24 = (4 X 6)
當剩下的字元數量不足3個位元組時,則應使用0進行填充,相應的,輸出字元則使用'='佔位,因此編碼後輸出的文本末尾可能會出現1至2個'='。
1)Base58是用於Bitcoin中使用的一種獨特的編碼方式,主要用於產生Bitcoin的錢包地址。相比Base64,Base58不使用數字"0",字母大寫"O",字母大寫"I",和字母小寫"l",以及"+"和"/"符號。
Base58Check是一種常用在比特幣中的Base58編碼格式,增加了錯誤校驗碼來檢查數據在轉錄中出現的錯誤。 校驗碼長4個位元組,添加到需要編碼的數據之後。校驗碼是從需要編碼的數據的哈希值中得到的,所以可以用來檢測並避免轉錄和輸入中產生的錯誤。使用 Base58check編碼格式時,編碼軟體會計算原始數據的校驗碼並和結果數據中自帶的校驗碼進行對比。二者不匹配則表明有錯誤產生,那麼這個 Base58Check格式的數據就是無效的。例如,一個錯誤比特幣地址就不會被錢包認為是有效的地址,否則這種錯誤會造成資金的丟失。
為了使用Base58Check編碼格式對數據(數字)進行編碼,首先我們要對數據添加一個稱作「版本位元組」的前綴,這個前綴用來明確需要編碼的數 據的類型。例如,比特幣地址的前綴是0(十六進制是0x00),而對私鑰編碼時前綴是128(十六進制是0x80)。 表4-1會列出一些常見版本的前綴。
接下來,我們計算「雙哈希」校驗碼,意味著要對之前的結果(前綴和數據)運行兩次SHA256哈希演算法:
checksum = SHA256(SHA256(prefix+data))
在產生的長32個位元組的哈希值(兩次哈希運算)中,我們只取前4個位元組。這4個位元組就作為校驗碼。校驗碼會添加到數據之後。
結果由三部分組成:前綴、數據和校驗碼。這個結果採用之前描述的Base58字母表編碼。下圖描述了Base58Check編碼的過程。
相同:
1) 哈希演算法、Merkle樹、公鑰密碼演算法
https://blog.csdn.net/s_lisheng/article/details/77937202?from=singlemessage
2)全新的 SHA-3 加密標准 —— Keccak
https://blog.csdn.net/renq_654321/article/details/79797428
3)在線加密演算法
http://tools.jb51.net/password/hash_md5_sha
4)比特幣地址生成演算法詳解
https://www.cnblogs.com/zhaoweiwei/p/address.html
5)Base58Check編碼實現示例
https://blog.csdn.net/QQ604666459/article/details/82419527
6) 比特幣交易中的簽名與驗證
https://www.jianshu.com/p/a21b7d72532f
㈡ 浠ュお鍧婄殑鏍稿績姒傚康
1.鏅鴻兘鍚堢害錛氫互澶鍧婁腑鏈涓洪噸瑕佺殑涓涓姒傚康鎸囩殑灝辨槸鏅鴻兘鍚堢害錛圫mart Contract錛夛紝鍗充互璁$畻鏈虹▼搴忕殑鏂瑰紡鏉ョ紨緇撳拰榪愯屽悇縐嶅悎綰︺備互澶鍧婃敮鎸侀氳繃鍥劇伒瀹屽囩殑楂樼駭璇璦錛堝寘鎷琒olidity銆丼erpent銆乂iper錛夌瓑鏉ヨ繘琛屽紑鍙戞櫤鑳藉悎綰︺傛櫤鑳藉悎綰︿綔涓鴻繍琛屽湪浠ュお鍧婅櫄鎷熸満錛圗thereum Virual Machine錛孍VM錛変腑鐨勫簲鐢錛屽彲浠ユ帴鍙楁潵鑷澶栭儴鐨勪氦鏄撹鋒眰鍜屼簨浠訛紝閫氳繃瑙﹀彂榪愯屾彁鍓嶇紪鍐欏ソ鐨勪唬鐮侀昏緫錛岃繘涓姝ョ敓鎴愭柊鐨勪氦鏄撳拰浜嬩歡錛屽彲浠ヨ繘涓姝ヨ皟鐢ㄥ叾浠栨櫤鑳藉悎綰︺傛櫤鑳藉悎綰︾殑鎵ц岀粨鏋滃彲鑳藉逛互澶鍧婄綉緇滀笂鐨勮處鏈鐘舵佽繘琛屾洿鏂般傝繖浜涗慨鏀圭敱浜庣粡榪囦簡浠ュお鍧婄綉緇滀腑鐨勫叡璇嗭紝涓鏃︾『璁ゅ悗灝嗘棤娉曡浼閫犲拰綃℃敼銆2.璐︽埛錛氫互澶鍧婄洿鎺ヤ互璐︽埛鏉ヨ板綍緋葷粺鐘舵併傛瘡涓璐︽埛瀛樺偍浣欓濅俊鎮銆佹櫤鑳藉悎綰︿唬鐮佸拰鍐呴儴鏁版嵁瀛樺偍絳夈備互澶鍧婃敮鎸佸湪涓嶅悓鐨勮處鎴蜂箣闂磋漿縐繪暟鎹錛屼互瀹炵幇鏇翠負澶嶆潅鐨勯昏緫銆備互澶鍧婅處鎴峰垎涓轟袱縐嶇被鍨嬶細鍚堢害璐︽埛錛圕ontracts Accounts錛夊拰澶栭儴璐︽埛錛圗xternally Owned Accounts錛屾垨EOA錛夛細1路鍚堢害璐︽埛錛氬瓨鍌ㄦ墽琛岀殑鏅鴻兘鍚堢害浠g爜錛屽彧鑳借澶栭儴璐︽埛鏉ヨ皟鐢ㄦ縺媧伙紱1路澶栭儴璐︽埛錛氫互澶甯佹嫢鏈夎呰處鎴鳳紝瀵瑰簲鍒版煇鍏閽ャ傝處鎴峰寘鎷琻once銆乥alance銆乻torageRoot銆乧odeHash絳夊瓧孌碉紝鐢變釜浜烘潵鎺у埗銆傚綋鍚堢害璐︽埛琚璋冪敤鏃訛紝瀛樺偍鍏朵腑鐨勬櫤鑳藉悎綰︿細鍦ㄧ熆宸ュ勭殑鉶氭嫙鏈轟腑鑷鍔ㄦ墽琛岋紝騫舵秷鑰椾竴瀹氱殑鐕冩枡銆傜噧鏂欓氳繃澶栭儴璐︽埛涓鐨勪互澶甯佽繘琛岃喘涔般3.浜ゆ槗錛氫氦鏄擄紙Transaction錛夊湪浠ュお鍧婁腑鏄鎸囦粠涓涓璐︽埛鍒板彟涓涓璐︽埛鐨勬秷鎮鏁版嵁銆傛秷鎮鏁版嵁鍙浠ユ槸浠ュお甯佹垨鑰呭悎綰︽墽琛屽弬鏁般備互澶鍧婇噰鐢ㄤ氦鏄撲綔涓烘墽琛屾搷浣滅殑鏈灝忓崟浣嶃傛瘡涓浜ゆ槗鍖呮嫭濡備笅瀛楁碉細路to錛氱洰鏍囪處鎴峰湴鍧錛浡穠alue錛氬彲浠ユ寚瀹氳漿縐葷殑浠ュお甯佹暟閲忥紱路nonce錛氫氦鏄撶浉鍏崇殑瀛椾覆錛浡穏asPrice錛氭墽琛屼氦鏄撻渶瑕佹秷鑰楃殑Gas浠鋒牸錛浡穝tartgas錛氫氦鏄撴秷鑰楃殑鏈澶Gas鍊礆紱路signature錛氱懼悕淇℃伅銆傜被浼間簬姣旂壒甯佺綉緇滐紝鍦ㄥ彂閫佷氦鏄撴椂錛岀敤鎴烽渶瑕佺即綰充竴瀹氱殑浜ゆ槗璐圭敤錛岄氳繃浠ュお甯佹柟寮忚繘琛屾敮浠樺拰娑堣椼14.鐕冩枡錛氱噧鏂欙紙Gas錛夋帶鍒舵煇嬈′氦鏄撴墽琛屾寚浠ょ殑涓婇檺銆傛瘡鎵ц屼竴鏉″悎綰︽寚浠や細娑堣楀滻瀹氱殑鐕冩枡銆傚綋鏌愪釜浜ゆ槗榪樻湭鎵ц岀粨鏉燂紝鑰岀噧鏂欐秷鑰楀畬鏃訛紝鍚堢害鎵ц岀粓姝㈠苟鍥炴粴鐘舵併
鎴戜滑閫氳繃浠ヤ笂鍏充簬浠ュお鍧婄殑鏍稿績姒傚康鍐呭逛粙緇嶅悗,鐩鎬俊澶у朵細瀵逛互澶鍧婄殑鏍稿績姒傚康鏈変竴瀹氱殑浜嗚В,鏇村笇鏈涘彲浠ュ逛綘鏈夋墍甯鍔┿
㈢ 011:Ethash演算法|《ETH原理與智能合約開發》筆記
待字閨中開發了一門區塊鏈方面的課程:《深入淺出ETH原理與智能合約開發》,馬良老師講授。此文集記錄我的學習筆記。
課程共8節課。其中,前四課講ETH原理,後四課講智能合約。
第四課分為三部分:
這篇文章是第四課第一部分的學習筆記:Ethash演算法。
這節課介紹的是以太坊非常核心的挖礦演算法。
在介紹Ethash演算法之前,先講一些背景知識。其實區塊鏈技術主要是解決一個共識的問題,而共識是一個層次很豐富的概念,這里把范疇縮小,只討論區塊鏈中的共識。
什麼是共識?
在區塊鏈中,共識是指哪個節點有記賬權。網路中有多個節點,理論上都有記賬權,首先面臨的問題就是,到底誰來記帳。另一個問題,交易一定是有順序的,即誰在前,前在後。這樣可以解決雙花問題。區塊鏈中的共識機制就是解決這兩個問題,誰記帳和交易的順序。
什麼是工作量證明演算法
為了決定眾多節點中誰來記帳,可以有多種方案。其中,工作量證明就讓節點去算一個哈希值,滿足難度目標值的勝出。這個過程只能通過枚舉計算,誰算的快,誰獲勝的概率大。收益跟節點的工作量有關,這就是工作量證明演算法。
為什麼要引入工作量證明演算法?
Hash Cash 由Adam Back 在1997年發表,中本聰首次在比特幣中應用來解決共識問題。
它最初用來解決垃圾郵件問題。
其主要設計思想是通過暴力搜索,找到一種Block頭部組合(通過調整nonce)使得嵌套的SHA256單向散列值輸出小於一個特定的值(Target)。
這個演算法是計算密集型演算法,一開始從CPU挖礦,轉而為GPU,轉而為FPGA,轉而為ASIC,從而使得算力變得非常集中。
算力集中就會帶來一個問題,若有一個礦池的算力達到51%,則它就會有作惡的風險。這是比特幣等使用工作量證明演算法的系統的弊端。而以太坊則吸取了這個教訓,進行了一些改進,誕生了Ethash演算法。
Ethash演算法吸取了比特幣的教訓,專門設計了非常不利用計算的模型,它採用了I/O密集的模型,I/O慢,計算再快也沒用。這樣,對專用集成電路則不是那麼有效。
該演算法對GPU友好。一是考慮如果只支持CPU,擔心易被木馬攻擊;二是現在的顯存都很大。
輕型客戶端的演算法不適於挖礦,易於驗證;快速啟動
演算法中,主要依賴於Keccake256 。
數據源除了傳統的Block頭部,還引入了隨機數陣列DAG(有向非循環圖)(Vitalik提出)
種子值很小。根據種子值生成緩存值,緩存層的初始值為16M,每個世代增加128K。
在緩存層之下是礦工使用的數據值,數據層的初始值是1G,每個世代增加8M。整個數據層的大小是128Bytes的素數倍。
框架主要分為兩個部分,一是DAG的生成,二是用Hashimoto來計算最終的結果。
DAG分為三個層次,種子層,緩存層,數據層。三個層次是逐漸增大的。
種子層很小,依賴上個世代的種子層。
緩存層的第一個數據是根據種子層生成的,後面的根據前面的一個來生成,它是一個串列化的過程。其初始大小是16M,每個世代增加128K。每個元素64位元組。
數據層就是要用到的數據,其初始大小1G,現在約2個G,每個元素128位元組。數據層的元素依賴緩存層的256個元素。
整個流程是內存密集型。
首先是頭部信息和隨機數結合在一起,做一個Keccak運算,獲得初始的單向散列值Mix[0],128位元組。然後,通過另外一個函數,映射到DAG上,獲取一個值,再與Mix[0]混合得到Mix[1],如此循環64次,得到Mix[64],128位元組。
接下來經過後處理過程,得到 mix final 值,32位元組。(這個值在前面兩個小節《 009:GHOST協議 》、《 010:搭建測試網路 》都出現過)
再經過計算,得出結果。把它和目標值相比較,小於則挖礦成功。
難度值大,目標值小,就越難(前面需要的 0 越多)。
這個過程也是挖礦難,驗證容易。
為防止礦機,mix function函數也有更新過。
難度公式見課件截圖。
根據上一個區塊的難度,來推算下一個。
從公式看出,難度由三部分組成,首先是上一區塊的難度,然後是線性部分,最後是非線性部分。
非線性部分也叫難度炸彈,在過了一個特定的時間節點後,難度是指數上升。如此設計,其背後的目的是,在以太坊的項目周期中,在大都會版本後的下一個版本中,要轉換共識,由POW變為POW、POS混合型的協議。基金會的意思可能是使得挖礦變得沒意思。
難度曲線圖顯示,2017年10月,難度有一個大的下降,獎勵也由5個變為3個。
本節主要介紹了Ethash演算法,不足之處,請批評指正。
㈣ 濡備綍鍙栨秷鍙戦佽鍗′綇鐨勪互澶鍧婁氦鏄撳叿浣撴搷浣滄槸浠涔
鍦ㄧ綉緇滄瘮杈冩嫢鍫電殑鏃跺欙紝涓絎斾氦鏄撳氨浼氭湁鍙鑳借鍗″湪浠ュお鍧婄殑鏈鍐充簨鍔℃睜涓銆傞栧厛鐭垮伐瑕佽冭檻Gas璐歸珮鐨勪氦鏄擄紝濡傛灉浣犵殑Gas璐規湁鐐逛綆鐨勮瘽錛屽彲鑳藉氨瑕佹帓闃熴備絾鏄鍙栨秷鍗′綇鐨勪氦鏄撳苟涓嶉毦鐨勩傚彧瑕佷綘鎰挎剰錛屽氨鑳藉熼噸鏂伴夋嫨涓涓鏇撮珮鐨凣as璐規潵瀹屾垚鍘熷厛鐨勪氦鏄撱備笅鍒楁槸鍏蜂綋榪囩▼錛
1.棣栧厛瑕佸艱埅鍒頒互澶鍧婃祻瑙堝櫒etherscan.io銆
2.鐒跺悗灝辮佹妸浣犵殑浜ゆ槗鍝堝笇鍊肩矘璐村埌浠ュお鍧婃祻瑙堝櫒鐨勬悳緔㈡爮銆
3.鎺ヤ笅鏉ヨ繘鍏ュ湪浜ゆ槗欏甸潰涓鐐瑰嚮鈥滅偣鍑繪煡鐪嬫洿澶氣濇寜閽銆
4.鐒跺悗灝變細鍑虹幇nonce錛堥殢鏈烘暟錛夛紝闇瑕佹妸榪欎釜鍙風爜璁頒笅鏉ャ
5.鎺ヤ笅鏉ュ氨瑕佸湪浣犵殑閽卞寘閲屽噯澶囦竴絎旀柊鐨勪氦鏄撱
6.鐒跺悗榪涘叆閽卞寘錛岀偣鍑燴滈珮綰р濋夐」錛岃緭鍏ュ拰浣犵殑鍗′綇鐨勪氦鏄撳搱甯屽肩浉鍚岀殑nonce(闇瑕佹敞鎰忕殑鏄:浣犲湪閽卞寘璁劇疆涓鍙浠ヨ佹縺媧昏嚜瀹氫箟nonce鍔熻兘)銆
7.鍙戦佹柊鐨勪氦鏄擄紝鐒跺悗鐐瑰嚮鈥滃揩閫熲滸as璐廣
8.鍙瑕佺『璁や簡錛岄偅涔堜氦鏄撳氨浼氳琚瑙i櫎鏉ユ簮錛氬尯鍧楀嵃璞
鎴戜滑閫氳繃浠ヤ笂鍏充簬濡備綍鍙栨秷鍙戦佽鍗′綇鐨勪互澶鍧婁氦鏄撳叿浣撴搷浣滄槸浠涔堝唴瀹逛粙緇嶅悗,鐩鎬俊澶у朵細瀵瑰備綍鍙栨秷鍙戦佽鍗′綇鐨勪互澶鍧婁氦鏄撳叿浣撴搷浣滄槸浠涔堟湁涓瀹氱殑浜嗚В,鏇村笇鏈涘彲浠ュ逛綘鏈夋墍甯鍔┿
㈤ 以太坊區塊鏈之Bug --2020/05/19
為了防止交易重播,ETH(ETC)節點要求每筆交易必須有一個nonce數值。每一個賬戶從同一個節點發起交易時,這個nonce值從0開始計數,發送一筆nonce對應加1。當前面的nonce處理完成之後才會處理後面的nonce。注意這里的前提條件是相同的地址在相同的節點發送交易。
以下是nonce使用的幾條規則:
● 當nonce太小(小於之前已經有交易使用的nonce值),交易會被直接拒絕。
● 當nonce太大,交易會一直處於隊列之中,這也就是導致我們上面描述的問題的原因;
● 當發送一個比較大的nonce值,然後補齊開始nonce到那個值之間的nonce,那麼交易依舊可以被執行。
● 當交易處於queue中時停止geth客戶端,那麼交易queue中的交易會被清除掉。
第一個欄位 AccountNonce ,直譯就是賬戶隨機數。它是以太坊中很小但也很重要的一個細節。以太坊為每個賬戶和交易都創建了一個Nonce,當從賬戶發起交易的時候,當前賬戶的Nonce值就被作為交易的Nonce。這里,如果是普通賬戶那麼Nonce就是它發出的交易數,如果是合約賬戶就是從它的創建合約數。
為什麼要使用這個Nonce呢?其主要目的就是為了防止重復攻擊(Replay Attack)。因為交易都是需要簽名的,假定沒有Nonce,那麼只要交易數據和發起人是確定的,簽名就一定是相同的,這樣攻擊者就能在收到一個交易數據後,重新生成一個完全相同的交易並再次提交,比如A給B發了個交易,因為交易是有簽名的,B雖然不能改動這個交易數據,但只要反復提交一模一樣的交易數據,就能把A賬戶的所有資金都轉到B手裡。
當使用賬戶Nonce之後,每次發起一個交易,A賬戶的Nonce值就會增加,當B重新提交時,因為Nonce對不上了,交易就會被拒絕。這樣就可以防止重復攻擊。當然,事情還沒有完,因為還能跨鏈實施攻擊,直到EIP-155引入了chainID,才實現了不同鏈之間的交易數據不兼容。事實上,Nonce並不能真正防止重復攻擊,比如A向B買東西,發起交易T1給B,緊接著又提交另一個交易T2,T2的Gas價格更高、優先順序更高將被優先處理,如果恰好T2處理完成後剩餘資金已經不足以支付T1,那麼T1就會被拒絕。這時如果B已經把東西給了A,那A也就攻擊成功了。所以說,就算交易被處理了也還要再等待一定時間,確保生成足夠深度的區塊,才能保證交易的不可逆。
Price 指的是單位Gas的價格,所謂Gas就是交易的消耗,Price就是單位Gas要消耗多少以太幣(Ether),Gas * Price就是處理交易需要消耗多少以太幣,它就相當於比特幣中的交易手續費。
GasLimit 限定了本次交易允許消耗資源的最高上限,換句話說,以太坊中的交易不可能無限制地消耗資源,這也是以太坊的安全策略之一,防止攻擊者惡意佔用資源。
Recipient 是交易接收者,它是common.Address指針類型,代表一個地址。這個值也可以是空的,這時在交易執行時,會通過智能合約創建一個地址來完成交易。
Amount 是交易額。這個簡單,不用解釋。
Payload 比較重要,它是一個位元組數組,可以用來作為創建合約的指令數組,這時每個位元組都是一個單獨的指令;也可以作為數據數組,由合約指令來進行操作。合約由以太坊虛擬機(Ethereum Virtual Machine,EVM)創建並執行。
V、R、S 是交易的簽名數據。以太坊當中,交易經過數字簽名之後,生成的signature是一個長度65的位元組數組,它被截成三段,前32位元組被放進R,再32位元組放進S,最後1個位元組放進V。那麼為什麼要被截成3段呢?以太坊用的是ECDSA演算法,R和S就是ECSDA簽名輸出,V則是Recovery ID。
R,S,V是交易簽名後的值,它們可以被用來生成簽名者的公鑰;R,S是ECDSA橢圓加密演算法的輸出值,V是用於恢復結果的ID
㈥ 比特幣、以太坊與IPFS挖礦的區別
比特幣和以太坊是pow算力挖礦。ipfs是存儲即挖礦,新型模式。
㈦ 比特幣區塊里的各個欄位含義(先寫了個nonce)
nonce是個啥意思?根據bitcoin wiki
nonce是一個4-byte大小的區域,nonce的值設定使得該塊的hash是以一串0開頭的。
對於塊數據的一點點改變(比如nonce)都會引起block hash的巨大變化。由於逆向預測hash值相對應的一組bit值(hash原文)是不可行的,在嘗試足夠多的nonce值且計算每個nonce值相對應的block hash之後可以找到一個滿足有指定數量 0 bits (0比特位) 的hash值。而 0 bits的數量值是由difficult設定的。最終產生的hash須得是一個小於當前difficulty值。
因為這個迭代的計算耗費時間和資源,塊的出現也就是得到了正確的nonce值,這構成了 proof of work
關於以太坊里的nonce 網上很多解釋,很多一上來就是 交易計數器 , 然而卻把跟POW有關的丟了嗎?事實上以太坊里的nonce有兩種意思,一個是proof of work nonce,一個是account nonce。
那智能合約呢?合約也算是Account的一種,那也有nonce嗎?
是的,而且合約裡面的nonce也差不多,也是一個counter。在智能合約里,nonce的值代表的是該合約創建的合約數量。只有當一個合約創建另一個合約的時候才會增加nonce的值。但是當一個合約調用另一個合約中的method時 nonce的值是不變的。
在以太坊中nonce的值可以這樣來獲取(其實也就是屬於一個賬戶的交易數量):
但是這個方法只能獲取交易once的值。目前是沒有內置方法來訪問contract中的nonce值的,除了自己定義一個counter來計數...
那好,再來看一下Ethereum Block中的nonce:
以太坊和比特幣區塊鏈一樣,也需要proof of work(計劃轉移到股份證明也早已在做了)。在比特幣區塊鏈中,pow應該是要算出一個符合難度要求的值,通常是以一串0開頭的。這個難度一直在變化。可以查看 比特幣區塊鏈的POW難度變化 。
㈧ 共識演算法(分布式下的一致性演算法)
共識演算法(分布式下的一致性演算法)
業務場景:
達到的效果:可以保證在過半節點正常的情況下,所有的寫入操作不會丟失。
Zab協議並不保證強一致性,也不是弱一致性,而是在一定限度內的強一致性。
缺點:
缺點:
區塊鏈1.0時代:比特幣,作用就是去中心化的貨幣,無國界的貨幣,並且可以匿名性的洗錢
區塊鏈2.0時代:代表以太坊,引入了智能合約的概念,發揮其 去中心化和不可篡改的特性,可以實現類似於 追溯、拍賣、投票等業務場景。
區塊鏈技術的實用價值:
無國界虛擬貨幣:比如比特幣
模擬一個拍賣(盲拍)的業務場景(發布一個智能合約):
https://solidity.readthedocs.io/en/latest/solidity-by-example.html#simple-open-auction
普通拍賣可能存在的問題:
商家A對一件商品公開自己要拍賣,智能合約在規定的時間會開始接收競拍(參與競拍的人需要支付保證金(以太幣)),在競拍結束之後,價格最高的人會完成支付,其它的買家的保證金會全額退回。
然後成功競拍者可以線下去找賣家,證明自己的身份,然後獲得競拍品
優點:
工作量證明( PoW )通過計算一個數值( nonce ),使得拼揍上交易數據後內容的 Hash 值滿足規定的上限。在節點成功找到滿足的Hash值之後,會馬上對全網進行廣播打包區塊,網路的節點收到廣播打包區塊,會立刻對其進行驗證
舉個例子,給定的一個基本的字元串」Hello, world!」,我們給出的工作量要求是,可以在這個字元串後面添加一個叫做nonce的整數值,對變更後(添加nonce)的字元串進行SHA256哈希運算,
如果得到的哈希結果(以16進制的形式表示)是以」0000」開頭的,則驗證通過。為了達到這個工作量證明的目標。我們需要不停的遞增nonce值,對得到的新字元串進行SHA256哈希運算。
按照這個規則,我們需要經過4251次計算才能找到恰好前4位為0的哈希散列。計算完之後,然後廣播到臨近的節點,臨近的節點會先驗算交易是否合法(金額是否異常),再驗證hash值是否滿足要求,都滿足的話,就會把這個數據塊添加到自己的賬本中。
優點:
缺點:
計算難度值會因為 股東持有的 幣齡而降低,為挖礦無形之中提升了壁壘,股東更容易算出結果值(難度更低),從而避免過度的算力競爭,節省電力,提升系統的穩定性。
因為從人性的角度,股東更不願意讓不安全的現象發生(比如攻擊主鏈),因為會造成信用降低,從而自己的礦幣貶值。讓股東擁有更多的記賬權,讓主鏈更安全。
擴展可以參考我之前寫過的zab專欄博客
https://www.jianshu.com/nb/32551354
㈨ 區塊鏈的三大核心技術是什麼
區塊鏈運作的7個核心技術介紹 2018-01-15
1.區塊鏈的鏈接
顧名思義,區塊鏈即由一個個區塊組成的鏈。每個區塊分為區塊頭和區塊體(含交易數據)兩個部分。區塊頭包括用來實現區塊鏈接的前一區塊的哈希(PrevHash)值(又稱散列值)和用於計算挖礦難度的隨機數(nonce)。前一區塊的哈希值實際是上一個區塊頭部的哈希值,而計算隨機數規則決定了哪個礦工可以獲得記錄區塊的權力。
2.共識機制
區塊鏈是伴隨比特幣誕生的,是比特幣的基礎技術架構。可以將區塊鏈理解為一個基於互聯網的去中心化記賬系統。類似比特幣這樣的去中心化數字貨幣系統,要求在沒有中心節點的情況下保證各個誠實節點記賬的一致性,就需要區塊鏈來完成。所以區塊鏈技術的核心是在沒有中心控制的情況下,在互相沒有信任基礎的個體之間就交易的合法性等達成共識的共識機制。
區塊鏈的共識機制目前主要有4類:PoW、PoS、DPoS、分布式一致性演算法。
3.解鎖腳本
腳本是區塊鏈上實現自動驗證、自動執行合約的重要技術。每一筆交易的每一項輸出嚴格意義上並不是指向一個地址,而是指向一個腳本。腳本類似一套規則,它約束著接收方怎樣才能花掉這個輸出上鎖定的資產。
交易的合法性驗證也依賴於腳本。目前它依賴於兩類腳本:鎖定腳本與解鎖腳本。鎖定腳本是在輸出交易上加上的條件,通過一段腳本語言來實現,位於交易的輸出。解鎖腳本與鎖定腳本相對應,只有滿足鎖定腳本要求的條件,才能花掉這個腳本上對應的資產,位於交易的輸入。通過腳本語言可以表達很多靈活的條件。解釋腳本是通過類似我們編程領域里的「虛擬機」,它分布式運行在區塊鏈網路里的每一個節點。
4.交易規則
區塊鏈交易就是構成區塊的基本單位,也是區塊鏈負責記錄的實際有效內容。一個區塊鏈交易可以是一次轉賬,也可以是智能合約的部署等其他事務。
就比特幣而言,交易即指一次支付轉賬。其交易規則如下:
1)交易的輸入和輸出不能為空。
2)對交易的每個輸入,如果其對應的UTXO輸出能在當前交易池中找到,則拒絕該交易。因為當前交易池是未被記錄在區塊鏈中的交易,而交易的每個輸入,應該來自確認的UTXO。如果在當前交易池中找到,那就是雙花交易。
3)交易中的每個輸入,其對應的輸出必須是UTXO。
4)每個輸入的解鎖腳本(unlocking )必須和相應輸出的鎖定腳本(locking )共同驗證交易的合規性。
5.交易優先順序
區塊鏈交易的優先順序由區塊鏈協議規則決定。對於比特幣而言,交易被區塊包含的優先次序由交易廣播到網路上的時間和交易額的大小決定。隨著交易廣播到網路上的時間的增長,交易的鏈齡增加,交易的優先順序就被提高,最終會被區塊包含。對於以太坊而言,交易的優先順序還與交易的發布者願意支付的交易費用有關,發布者願意支付的交易費用越高,交易被包含進區塊的優先順序就越高。
6.Merkle證明
Merkle證明的原始應用是比特幣系統(Bitcoin),它是由中本聰(Satoshi Nakamoto)在2009年描述並且創造的。比特幣區塊鏈使用了Merkle證明,為的是將交易存儲在每一個區塊中。使得交易不能被篡改,同時也容易驗證交易是否包含在一個特定區塊中。
7.RLP
RLP(Recursive Length Prefix,遞歸長度前綴編碼)是Ethereum中對象序列化的一個主要編碼方式,其目的是對任意嵌套的二進制數據的序列進行編碼。
㈩ 浠ュお鍧婃妧鏈緋誨垪-浠ュお鍧婂叡璇嗘満鍒
涓銆佷互澶鍧婃妧鏈緋誨垪-浠ュお鍧婂叡璇嗘満鍒
鍖哄潡閾劇殑鐗圭偣涔嬩竴鏄鍘諱腑蹇冨寲銆備篃灝辨槸鑺傜偣浼氬垎甯冨湪鍚勪釜鍦版柟緇勬垚鍒嗗竷寮忕郴緇熴傚悇涓鑺傜偣闇瑕佸1涓闂棰樿揪鎴愪竴鑷達紝鐞嗘兂鎯呭喌涓嬶紝鍙闇瑕佸悓姝ョ姸鎬佸嵆鍙銆
濡備笂鍥炬墍紺 B鑺傜偣灝哸=1=> a=2鐨勭姸鎬佸悓姝ョ粰? ACDE鍥涗釜鑺傜偣錛岃繖鏃剁郴緇熶腑鐘舵佸彉涓篴=2, 浣嗗傛灉鍏朵腑鏈夋伓鎰忚妭鐐 AE 鏀跺埌閫氱煡鍚庢妸a=1=>a=3淇鏀逛負閿欒鐨勮妭鐐癸紝榪欎釜鏃跺欏ぇ瀹剁殑鐘舵佸氨涓嶄竴鑷翠簡錛屾ゆ椂闇瑕佸叡璇嗘満鍒朵嬌緋葷粺涓寰楀埌1涓鍞涓姝g『鐨勭姸鎬併
濡備笂闈㈣村埌鍒嗗竷寮忕郴緇熷瓨鍦ㄦ伓鎰忚妭鐐瑰艱嚧緋葷粺涓鐘舵佷笉涓鑷寸殑鎯呭喌鏈1涓姣旇緝钁楀悕鐨勮櫄鎷熼棶棰-鎷滃崰搴灝嗗啗闂棰樸
鎷滃崰搴灝嗗啗闂棰樻槸鎸囷紝N涓灝嗗啗鍘繪敾鎵撲竴搴у煄鍫★紝濡傛灉澶т簬涓瀹氭暟閲忕殑灝嗗啗鍚屾椂榪涙敾鍒欏彲浠ユ敾鎵撴垚鍔燂紝濡傛灉灝忎簬鍒欒繘鏀誨け璐ャ傚皢鍐涗腑鍙鑳藉瓨鍦ㄥ彌寰掋
榪欎釜鏃跺欐湁2縐嶆儏鍐
1.濡傛灉2涓鍙涘緬閮藉湪BCDE涓錛岄偅涔堝叡璇嗙畻娉曢渶瑕佽╁叾浣2涓灝嗗啗鍚浠嶢鐨勬g『鍐崇瓥榪涙敾鍩庡牎銆
2.濡傛灉A鏄1涓鍙涘緬錛屽叡璇嗙畻娉曢渶瑕佽〣CDE涓鍓╀綑鐨3涓蹇犺瘹灝嗗啗淇濇寔涓鑷淬
榪欎釜闂棰樻湁寰堝氱嶈В娉曪紝澶у舵湁鍏磋叮鍙浠ヨ嚜琛屾煡闃(鎺ㄨ崘瀛︿範PBFT)錛屾垜浠閲嶇偣鏉ョ湅鐪嬩互澶鍧婁腑鐩鍓嶆e湪浣跨敤鐨凬akamoto?鍏辮瘑鍜屽皢瑕佷嬌鐢ㄧ殑?Casper Friendly Finality Gadget鍏辮瘑鏄濡備綍瑙e喅鎷滃崰搴灝嗗啗闂棰樼殑銆
璇村埌Nakamoto鍏辮瘑鍜孋asper Friendly Finality Gadget鍏辮瘑鍙鑳藉ぇ瀹朵笉澶鐔熸倝錛屼絾浠栦滑鐨勯儴鍒嗙粍鎴愬簲璇ラ兘姣旇緝鐔熸倝-POW(宸ヤ綔閲忚瘉鏄)鍜孭OS(鏉冪泭璇佹槑)銆
POW鎴朠OS縐頒箣涓篠ybil鎶楁ф満鍒訛紝涓轟粈涔堥渶瑕丼ybil鎶楁ф満鍒跺憿錛屽垰鍒氭垜浠璇村埌鎷滃崰搴灝嗗啗闂棰橈紝搴旇ュ緢瀹規槗鐪嬪嚭鎮舵剰鑺傜偣瓚婂氾紝杈炬垚姝g『鍏辮瘑鐨勯毦搴︿篃灝辮秺澶э紝Sybil鏀誨嚮灝辨槸鎸1涓鏀誨嚮鑰呭彲浠ヤ吉瑁呭嚭澶ч噺鑺傜偣鏉ヨ繘琛屾敾鍑伙紝Sybil鎶楁ф槸鎸囨姷寰¤繖縐嶆敾鍑昏兘鍔涖
POW閫氳繃璁╃熆宸ユ垨楠岃瘉鑰呮姇鍏ョ畻鍔涳紝POS閫氳繃璁╅獙璇佽呰川鎶間互澶鍧婏紝濡傛灉鏀誨嚮鑰呰佷吉瑁呭氫釜鑺傜偣鏀誨嚮鍒欏繀灝嗘姇鍏ュぇ閲忕殑綆楀姏鎴栬祫浜э紝浼氬艱嚧鏀誨嚮鎴愭湰楂樹簬鏀剁泭銆傚湪浠ュお鍧婁腑淇濋殰鐨勫畨鍏ㄦф槸闄ら潪鏀誨嚮鑰呮嬁鍒版暣涓緋葷粺51%綆楀姏鎴栬祫浜у惁鍒欎笉鍙鑳借繘鏀繪垚鍔熴
鍦ㄨВ鍐沖畬Sybil鏀誨嚮鍚庯紝閫氳繃閫夊彇緋葷粺涓鐨勬渶闀塊摼浣滀負澶у惰揪鎴愬叡璇嗙殑閾俱
寰堝氫漢騫蟲椂涓轟簡綆鍖栧皢pow鍜宲os璁や負鏄鍏辮瘑鏈哄埗錛岃繖涓嶅熷噯紜錛屼絾涔熻存槑浜嗗叾閲嶈佷綔鐢錛屾垜浠鎺ヤ笅鏉ュ垎鏋恜ow鍜宲os銆
閫氳繃hash涓嶅彲閫嗙殑鐗規э紝瑕佹眰鍚勪釜鐭垮伐涓嶅仠鍦拌$畻鍑烘煇涓鍊肩殑hash絎﹀悎鏌愪竴鐗瑰緛錛屾瘮濡傚墠澶氬皯浣嶆槸000000錛岀敱浜庤繖涓榪囩▼鍙鑳戒緷璧栦笉鍋滅殑璇曢敊璁$畻hash,鎵浠ユ槸宸ヤ綔閲忚瘉鏄庛傝$畻瀹屾垚鍚庡叾浠栬妭鐐歸獙璇佺殑鍊肩﹀悎hash鐗瑰緛闈炲父瀹規槗楠岃瘉銆傞獙璇侀氳繃鍒欐垚涓烘垚涓哄悎娉曞尯鍧(涓嶄竴瀹氭槸鍏辮瘑鍖哄潡錛岄渶瑕佸湪鏈闀塊摼涓)銆
浠ュお鍧婁腑鐨勬寲鐭跨畻娉曠敤鍒2涓鏁版嵁闆嗭紝1涓灝忔暟鎹闆哻ache,1涓澶ф暟鎹闆咲AG銆傝繖2涓鏁版嵁闅忕潃鍖哄潡閾句腑鍖哄潡澧炲氭參鎱㈠彉澶э紝鍒濆嬪ぇ灝廲ache涓16M DAG涓1G銆
鎴戜滑鍏堟潵鐪嬭繖2涓鏁版嵁闆嗙殑鐢熸垚榪囩▼
cache鐢熸垚瑙勫垯涓烘湁1涓縐嶅瓙闅忔満鏁皊eed錛宑ache涓絎1涓鍏冪礌瀵箂eed鍙杊ash錛屽悗闈㈡暟緇勪腑姣忎釜鍏冪礌閮芥槸鍓1涓鍏冪礌鍙杊ash鑾峰緱銆
DAG鐢熸垚瑙勫垯涓?鎵懼埌cache涓瀵瑰簲鐨勫厓緔犲悗?鏍規嵁鍏冪礌涓鐨勫艱$畻鍑轟笅嬈¤佸繪壘鐨勪笅鏍囷紝寰鐜256嬈″悗鑾峰緱cache涓鏈緇堥渶瑕佺殑鍏冪礌鍊艱繘琛宧ash璁$畻寰楀埌DAG涓鍏冪礌鐨勫箋
鐒跺悗鎴戜滑鍐嶇湅鐪嬬熆宸ュ備綍榪涜屾寲鐭誇互鍙婅交鑺傜偣濡備綍楠岃瘉
鐭垮伐鎸栫熆鐨勮繃紼嬩負錛岄夋嫨Nonce鍊兼槧灝勫埌DAG涓鐨1涓猧tem錛岄氳繃item涓鐨勫艱$畻鍑轟笅嬈¤佹壘鐨勪笅鏍囷紝寰鐜64嬈★紝寰楀埌鏈緇坕tem錛屽皢item涓鐨勫糷ash璁$畻寰楀埌緇撴灉錛岀粨鏋滃拰target姣旇緝錛岀﹀悎鏉′歡
鍒欒瘉鏄庢寲鍒板尯鍧楋紝濡傛灉涓嶇﹀悎鍒欐洿鎹nonce緇х畫鎸栫熆銆傜熆宸ュ湪鎸栫熆榪囩▼涓闇瑕佸皢1G鐨凞AG璇誨彇鍒板唴瀛樹腑銆
杞昏妭鐐歸獙璇佽繃紼嬪拰鐭垮伐鎸栫熆榪囩▼鍩烘湰涓鑷達紝
灝嗗潡澶撮噷闈㈢殑Nonce鍊兼槧灝勫埌DAG涓鐨1涓猧tem錛岀劧鍚庨氳繃cache鏁扮粍璁$畻鍑鴻item鐨勫礆紝閫氳繃item涓鐨勫艱$畻鍑轟笅嬈¤佹壘鐨勪笅鏍囷紝寰鐜64嬈★紝寰楀埌鏈緇坕tem錛屽皢item涓鐨勫糷ash璁$畻寰楀埌緇撴灉錛岀粨鏋滃拰target姣旇緝錛岀﹀悎鏉′歡鍒欓獙璇侀氳繃銆傝交鑺傜偣鍦ㄩ獙璇佽繃紼嬩腑涓嶉渶瑕佸皢1G鐨凞AG璇誨彇鍒板唴瀛樹腑銆傛瘡嬈$敤鍒癉AG鐨剗tem鍊奸兘浣跨敤cache榪涜岃$畻銆
浠ュお鍧婁負浠涔堥渶瑕佽繖2涓涓嶅悓澶у皬鐨勬暟緇勮繘琛岃緟鍔﹉ash榪愮畻鍛錛岀洿鎺ヨ繘琛宧ash榪愮畻浼氭湁浠涔堥棶棰橈紵
濡傛灉鍙鏄榪涜岄噸澶嶈$畻浼氬艱嚧鎸栫熆璁懼囦笓涓氬寲錛屽噺灝戝幓涓蹇冨寲紼嬪害銆傚洜涓烘垜浠鏃ュ父浣跨敤鐨勮$畻鏈哄唴瀛樺拰璁$畻鍔涙槸閮介渶瑕佺殑錛屽傛灉鎸栫熆鍙闇瑕乭ash榪愮畻錛屾寲鐭胯懼囧垯浼氳捐″湴鎷ユ湁瓚呴珮綆楀姏錛屼絾瀵瑰唴瀛樺彲浠ョ緝灝忓埌寰堝皬鐢氳嚦娌℃湁銆傛墍浠ユ垜浠閫夌敤1G鐨勫ぇ鍐呭瓨澧炲姞瀵瑰唴瀛樿塊棶鐨勯戠巼錛屽炲姞鎸栫熆璁懼囧瑰唴瀛樿塊棶闇奼傦紝浠庤屾洿鎺ヨ繎浜庢垜浠鏃ュ父浣跨敤鐨勮$畻鏈恆
鎴戜滑鐪嬬湅鍦∟akamoto鍏辮瘑鏄濡備綍瑙e喅鎷滃崰搴灝嗗啗闂棰樼殑銆傞栧厛鐪嬬湅鍖哄潡閾句腑鐨勬嫓鍗犲涵灝嗗啗闂棰樻槸浠涔堬紵
鍖哄潡閾句腑闇瑕佽揪鎴愪竴鑷寸殑鏄鍝鏉¢摼涓轟富閾撅紝鉶界劧閲囩敤浜嗘渶闀塊摼鍘熷垯錛屼絾鐢變簬鍒嗗弶闂棰橈紝榪樻槸浼氬甫鏉ユ嫓鍗犲涵灝嗗啗闂棰樸
鏈鏉ヤ互澶鍧妏ow鐩鏍囨槸鎶墊姉51%浠ヤ笅鐨勬敾鍑伙紝浣嗗備笂鍥懼傛灉鎮舵剰鑺傜偣娌跨潃鑷宸辨寲鍑虹殑鍖哄潡涓嶆柇鎸栫熆錛岀敱浜庝富閾句笂鏈夊垎鍙夊瓨鍦錛屾伓鎰忚妭鐐逛笉闇瑕佽揪鍒51%綆楀姏灝卞彲浠ヨ秴榪囦富閾捐繘鑰屾垚涓烘柊鐨勪富閾撅紝涓烘や互澶鍧婁嬌鐢ㄤ簡ghost鍗忚緇欎笂鍥句腑鐨凚1鍜孋1涔熷垎閰嶅嚭鍧楀栧姳錛屽敖蹇鍚堝苟鍒頒富閾句腑錛岃繖鏍蜂富閾鵑暱搴(鎸夌収鍚堝苟鍚庣殑鎬婚暱搴︾畻錛岄暱搴﹀彧鏄鎶借薄姒傚康錛屼互澶鍧婁腑鎸夌収鍖哄潡鏉冮噸緔鍔)榪樻槸澶т簬鎮舵剰鑺傜偣鑷宸辨寲鐭跨殑銆
緗戠粶涓鐨勭敤鎴烽氳繃璐ㄦ娂涓瀹氭暟閲忕殑浠ュお鍧婃垚涓洪獙璇佽呫傛瘡嬈$郴緇熶粠榪欎簺楠岃瘉鑰呬粠闅忔満閫夋嫨鍑哄尯鍧楀壋寤鴻咃紝鍏朵綑楠岃瘉鑰呭幓楠岃瘉鍒涘緩鍑虹殑鍖哄潡鏄鍚﹀悎娉曘傞獙璇佽呬細鑾峰緱鍑哄潡濂栧姳錛屾病鏈夎閫変腑鐨勫尯鍧椾笉榪涜岄獙璇佸垯浼氳鎵i櫎涓瀹氳川鎶煎竵錛屽傛灉榪涜岄敊璇楠岃瘉鍒欎細琚鎵i櫎鍏ㄩ儴璐ㄦ娂甯併
濡備笂鍥撅紝鏉冪泭璇佹槑鍦ㄦ瘡闅斾竴瀹氬尯鍧楃殑鍦版柟璁劇疆涓涓媯鏌ョ偣錛屽瑰墠闈㈢殑鍖哄潡榪涜岄獙璇侊紝2/3楠岃瘉鑰呴氳繃鍒欓獙璇侀氳繃錛岄獙璇侀氳繃鍒欒ュ尯鍧楁墍鍦ㄩ摼鎴愪負鏈闀垮悎娉曢摼(涓嶈兘琚鍥炴粴)銆
鎴戜滑綆鍖栧湴鍙鍒嗘瀽浜嗘潈鐩婅瘉鏄庢湰韜錛屽湪浠ュお鍧婁腑鏉冪泭璇佹槑杈冧負澶嶆潅鐨勭偣鍦ㄤ簬鍜屽垎鐗囨満鍒剁粨鍚堝湪涓璧鋒椂鐨勮繍琛屾祦紼嬶紝榪欓儴鍒嗕細鍦ㄥ悗闈㈠崟鐙灝嗗垎鐗囨満鍒剁殑涓綃囨枃絝犱腑璇﹁堪銆
鏈綃囨枃絝犱富瑕佽ㄨ轟簡鍏辮瘑鏈哄埗鏄瑙e喅鍒嗗竷寮忕郴緇熶腑鐨勬嫓鍗犲涵灝嗗啗闂棰橈紝浠ュ強鍒嗘瀽浜嗕互澶鍧婁腑鐨勫叡璇嗘満鍒朵竴鑸鍖呮嫭鏈闀塊摼閫夋嫨鍜屼竴縐峴ybil鎶楁ф満鍒(pow鎴杙os)銆傞噸鐐瑰垎鏋愪簡pow鍜宲os鐨勬祦紼嬩互鍙婅捐℃濇兂銆傚悗緇灝嗗紑濮嬮噸鐐硅ㄨ烘櫤鑳藉悎綰︾殑閮ㄥ垎銆
浜屻佷粈涔堟槸浠ュお鍧婄殑鍏辮瘑鏈哄埗錛
鍖哄潡閾炬妧鏈鐨勬牳蹇冧紭鍔誇箣涓錛屽氨鏄鑳藉熷湪鍐崇瓥鏉冮珮搴﹀垎鏁g殑鍘諱腑蹇冨寲緋葷粺涓錛屼嬌寰楀悇鑺傜偣楂樻晥鍦伴拡瀵瑰尯鍧楁暟鎹鐨勬湁鏁堟у拰涓鑷存ц揪鎴愬叡璇嗐傜敱浜庣偣瀵圭偣緗戠粶涓嬪瓨鍦ㄨ緝楂樼殑緗戠粶寤惰繜錛屽悇涓鑺傜偣鎵瑙傚療鍒扮殑浜嬪姟鍏堝悗欏哄簭涓嶅彲鑳藉畬鍏ㄤ竴鑷淬傚洜姝ゅ尯鍧楅摼緋葷粺闇瑕佽捐′竴縐嶆満鍒訛紝瀵瑰湪宸涓嶅氭椂闂村唴鍙戠敓鐨勪簨鍔$殑鍏堝悗欏哄簭榪涜屽叡璇嗭紝榪欑嶅逛竴涓鏃墮棿紿楀彛鍐呯殑浜嬪姟鐨勫厛鍚庨『搴忚揪鎴愬叡璇嗙殑綆楁硶琚縐頒負鈥滃叡璇嗘満鍒垛濆叡璇嗘満鍒惰鐢ㄦ潵鍐沖畾鍖哄潡閾劇綉緇滀腑鐨勮拌處鑺傜偣錛屽苟瀵逛氦鏄撲俊鎮榪涜岀『璁ゅ拰涓鑷存у悓姝ャ備互澶鍧婂叡璇嗘満鍒跺叡鏈夊洓涓闃舵碉紝鍗矲rontier錛堝墠娌匡級銆丠omestead錛堝跺洯錛夈丮etropolis錛堝ぇ閮戒細錛夈丼erenity錛堝畞闈欙級銆備互澶鍧婂墠涓変釜闃舵甸噰鐢ㄧ殑鏄疨OW鍏辮瘑鏈恆傜鍥涗釜闃舵靛皢閲囩敤鑷宸卞壋寤虹殑POS鏈哄埗錛屽悕涓篊asper鎶曟敞鍏辮瘑錛岃繖縐嶆満鍒跺炲姞浜嗘儵緗氭満鍒訛紝騫跺熀浜嶱OS鐨勬濇兂鍦ㄨ拌處鑺傜偣涓閫夊彇楠岃瘉浜恆侾OW鍗沖伐浣滈噺璇佹槑錛屾槸姣旂壒甯佺郴緇熶腑閲囩敤鐨勫叡璇嗘満鍒躲傦紙鏈鏂囦富瑕佽茶В浠ュお鍧婄殑鍏辮瘑鏈哄埗錛夎皥璧稢asper鎶曟敞鍏辮瘑錛岃佸厛璇碢OS銆侾OS鍗蟲潈鐩婅瘉鏄庯紝涓昏佺壒鐐逛互鏉冪泭璇佹槑浠f浛宸ヤ綔閲忚瘉鏄庯紝鐢卞叿鏈夋渶楂樻潈鐩婄殑鑺傜偣瀹炵幇鏂板潡鍔犲叆鍜岃幏寰楁縺鍔辨敹鐩娿侾OS鍏辮瘑鏄涓鴻В鍐砅OW鍏辮瘑鏈哄埗鐨勮祫婧愭氮璐瑰拰瀹夊叏鎬х己闄瘋屾彁鍑虹殑鏇誇唬鏂規堛傚畠鐨勬湰璐ㄦ槸閲囩敤鏉冪泭璇佹槑鏉ヤ唬鏇縋OW涓鐨勫熀浜庡搱甯岀畻鍔涚殑宸ヤ綔閲忚瘉鏄庯紝鏄鐢辯郴緇熶腑鍏鋒湁鏈楂樻潈鐩婅岄潪鏈楂樼畻鍔涚殑鑺傜偣鑾峰緱鍖哄潡璁拌處鏉冦傛潈鐩婁綋鐜頒負鑺傜偣瀵圭壒瀹氭暟閲忚揣甯佺殑鎵鏈夋潈錛岀О涓哄竵榫勬垨甯佸ぉ鏁幫紙Coindays錛夈傚竵榫勬槸鐗瑰畾鏁伴噺鐨勫竵涓庡叾鏈鍚庝竴嬈′氦鏄撶殑鏃墮棿闀垮害鐨勪箻縐錛屾瘡嬈′氦鏄撻兘灝嗕細娑堣楁帀鐗瑰畾鏁伴噺鐨勫竵榫勩備緥濡傛煇浜哄湪涓絎斾氦鏄撲腑鏀跺埌10涓甯佸悗騫舵寔鏈10澶╋紝鍒欒幏寰100甯侀緞錛涜屽悗鍏惰姳鎺5涓甯佸悗鍒欐秷鑰楁帀50甯侀緞錛屾樉鐒墮噰鐢≒OS鍏辮瘑鏈哄埗鐨勭郴緇熷湪鐗瑰畾鏃墮棿鐐逛笂鐨勫竵榫勬繪暟鏄鏈夐檺鐨勶紝闀挎湡鎸佸竵鑰呮洿鍊懼悜浜庢嫢鏈夋洿澶氬竵榫勶紝鍥犳ゅ竵榫勫彲瑙嗕負鍏跺湪POS緋葷粺涓鐨勬潈鐩娿傛姇娉ㄥ叡璇嗘槸浠ュお鍧婁笅涓浠g殑鍏辮瘑鏈哄埗Casper錛堥奸┈灝忕簿鐏碉級寮曞叆鐨勪竴涓鍏ㄦ柊姒傚康錛屽睘浜嶱OS銆侰asper鐨勫叡璇嗘槸鎸夊尯鍧楄揪鎴愮殑錛岃屼笉鍍廝OS閭f牱鎸夐摼杈炬垚銆備負浜嗛槻姝㈤獙璇佷漢鍦ㄤ笉鍚岀殑涓栫晫涓鎻愪緵涓嶅悓鐨勬姇娉錛岃繕鏈変竴涓綆鍗曚弗鏍肩殑鏉℃撅細濡傛灉浣犱袱嬈$殑鎶曟敞搴忓彿涓鏍鳳紝鎴栬呰翠綘鎻愪氦浜嗕竴涓鏃犳硶璁〤asper渚濈収鍚堢害澶勭悊鐨勬姇娉錛屼綘灝嗗け鍘繪墍鏈変繚璇侀噾銆備粠榪欎竴鐐瑰彲浠ョ湅鍑猴紝Casper涓庝紶緇熺殑POS涓嶅悓鐨勬槸錛孋asper鏈夋儵緗氭満鍒訛紝榪欐牱闈炴硶鑺傜偣閫氳繃鎮舵剰鏀誨嚮緗戠粶涓嶄粎寰椾笉鍒頒氦鏄撹垂錛岃屼笖榪橀潰涓寸潃淇濊瘉閲戣娌℃敹鐨勯庨櫓銆侰asper鍗忚涓嬬殑楠岃瘉浜洪渶瑕佸畬鎴愬嚭鍧楀拰鎶曟敞涓や釜媧誨姩銆傚叿浣撳備笅錛氬嚭鍧楁槸涓涓鐙絝嬩簬鍏朵粬鎵鏈夋椂闂磋屽彂鐢熺殑榪囩▼錛岄獙璇佷漢鏀墮泦浜ゆ槗錛屽綋杞鍒頒粬浠鐨勫嚭鍧楁椂闂存椂錛屼粬浠灝卞埗閫犱竴涓鍖哄潡錛屽苟絳懼悕錛岀劧鍚庡彂閫佸埌緗戠粶涓娿傛姇娉ㄧ殑榪囩▼鏇翠負澶嶆潅涓浜涳紝鐩鍓岰asper榛樿ょ殑楠岃瘉浜虹瓥鐣ヨ璁捐′負妯′豢浼犵粺鐨勬嫓鍗犲涵瀹歸敊鍏辮瘑錛氳傚療鍏朵粬鐨勯獙璇佷漢濡備綍鎶曟敞錛屽彇33%澶勭殑鍊礆紝鍚0鎴1榪涗竴姝ョЩ鍔ㄣ傝屽㈡埛絝紜璁ゅ綋鍓嶇姸鎬佺殑榪囩▼鏄榪欐牱鐨勶細涓寮濮嬪厛涓嬭澆鎵鏈夌殑鍖哄潡鍜屾姇娉錛岀劧鍚庣敤涓婇潰鐨勭畻娉曟潵褰㈡垚鑷宸辯殑鎰忚侊紝浣嗘槸涓嶅叕甯冩剰瑙侊紱瀹冨彧鏄綆鍗曞湴鎸夐『搴忓湪姣忎釜楂樺害榪涜岃傚療錛屽傛灉涓涓鍖哄潡鐨勬傜巼楂樹簬0.5灝卞勭悊瀹冿紝鍚﹀垯灝辮煩榪囧畠銆傚湪澶勭悊鎵鏈夌殑鍖哄潡涔嬪悗錛屾墍寰楀埌鐨勭姸鎬佸氨鍙浠ユ樉紺轟負鍖哄潡閾劇殑鈥滃綋鍓嶇姸鎬佲濄傚㈡埛絝榪樺彲浠ョ粰鍑哄逛簬鈥滄渶緇堢『瀹氣濈殑涓昏傜湅娉曪細濡傛灉楂樺害k涔嬪墠鐨勬瘡涓鍖哄潡褰㈡垚鐨勬剰瑙侀珮浜99.999%鎴栬呬綆浜0.001%錛岄偅涔堝㈡埛絝鍙浠ヨや負鍓峩涓鍖哄潡宸茬粡鏈緇堢『瀹氥
涓夈佷粈涔堟槸浠ュお鍧?
閲嶅嶉棶棰樿佺櫨搴︾煡閬撶殑涓涓鍥炵瓟錛岀櫨搴︾煡閬撶瓟妗