1. 區塊鏈的核心技術包含了哪些
首先,我們可以看一下區塊鏈技術的官網解釋。狹義來講,區塊鏈是一種按照時間順序將數據區塊以順序相連的方式組合成的一 種鏈式 數據結構, 並以密碼學方式保證的不可篡改和不可偽造的分布式賬本。
廣義來講,區塊鏈技術是利用塊鏈式數據結構來驗證與存儲數據、利用分布式節點共識演算法來生成和更新數據、利用密碼學的方式保證數據傳輸和訪問的安全、利用由自動化腳本代碼組成的智能合約來編程和操作數 據的一種全新的分布式基礎架構與計算範式。
可能大家都知道的是,區塊鏈技術是從比特幣系統當中獨立出來的底層構架,從架構模型上來說,它就是一套分布式的賬本,所謂賬本,自然就是用來記賬的。
在區塊鏈技術當中,要想生成記賬記錄,就要有資金的交易和流動,所以最開始的區塊鏈技術上,都有其主網所對應的加密貨幣作為流通物品,加密貨幣在區塊鏈主網的各個賬戶之間的流通交易記錄都會被記錄在主網上。
與其他的交易記錄資料庫不同的是,區塊鏈技術主網上的交易記錄會被記錄在主網中所有的區塊區塊節點(即所有的數據區塊)上,這也就是所謂的去中心化原理,也就是說在區塊鏈技術上,是沒有一個中心資料庫來保存所有記錄的,鏈上每一個區塊都擁有全鏈的交易數據,也就是說,每一個數據塊,都是中心。
而區塊鏈技術的另一個特性,就是不可篡改,因為在區塊鏈上的每一筆交易都會被記錄在鏈上所有的區塊中,所以任何一個單獨數據塊都無法更改記錄,即便你更改了,其他所有的數據塊中也會記錄真實數據,並且每一組數據都可以追溯到最先出現的時候。
正因為區塊鏈技術的這些特性,比特幣問世後,區塊鏈也受到了很多關注的目光,很多人也開始想要利用區塊鏈的技術來做一個無中心、可溯源、不更改的數據,以此保證數據的可信度。
但是區塊鏈技術也面臨很多問題,比如應用場景單一、原生錯誤數據不可修改,黑客盜走貨幣不可追回等。
2. 鍖哄潡閾炬湁鍝鍥涘ぇ鏍稿績鎶鏈
鍏跺疄鍗佸勾鏉ュ尯鍧楅摼鍦ㄥ師鏈夊熀紜涓婂凡緇忔湁浜嗗緢澶х殑鍙樺寲鍜岃繘灞曪紝鎴姝㈢幇闃舵電粡榪囦赴瀵屼箣鍚庣殑鍖哄潡閾劇殑鍥涘ぇ鏍稿績鎶鏈鈥斺斿垎甯冨紡璐︽湰錛屽叡璇嗘満鍒訛紝瀵嗙爜瀛︿互鍙婃櫤鑳藉悎綰︼紝瀹冧滑鍦ㄥ尯鍧楅摼涓鍒嗗埆璧峰埌浜嗘暟鎹鐨勫瓨鍌錛屾暟鎹鐨勫勭悊錛屾暟鎹鐨勫畨鍏錛屼互鍙婃暟鎹鐨勫簲鐢ㄤ綔鐢ㄣ傛葷殑鏉ヨ達紝鍥涘ぇ鏍稿績鎶鏈瑕佸尯鍧楅摼涓鍚勬湁鍚勭殑浣滅敤錛屽畠浠鍏卞悓鏋勫緩浜嗗尯鍧楅摼鐨勫熀紜銆
涓錛屽垎甯冨紡璐︽湰鈥斺斿偍瀛樹綔鐢
棣栧厛錛屽垎甯冨紡璐︽湰鏋勫緩浜嗗尯鍧楅摼鐨勬嗘灦錛屽畠鏈璐ㄦ槸涓涓鍒嗗竷寮忔暟鎹搴擄紝褰撲竴絎旀暟鎹浜х敓鍚庯紝緇忓ぇ瀹跺勭悊錛屽氨浼氬偍瀛樺湪榪欎釜鏁版嵁搴撻噷闈錛屾墍浠ュ垎甯冨紡璐︽湰鍦ㄥ尯鍧楅摼涓璧峰埌浜嗘暟鎹瀛樺偍鐨勪綔鐢錛
鍖哄潡閾劇敱浼楀氳妭鐐瑰叡鍚岀粍鎴愪竴涓絝鍒扮鐨勭綉緇滐紝涓嶅瓨鍦ㄤ腑蹇冨寲鐨勮懼囧拰綆$悊鏈烘瀯錛岃妭鐐歸棿鏁版嵁浜ゆ崲閫氳繃鏁板瓧絳懼悕鎶鏈榪涜岄獙璇侊紝鏃犻渶浜轟負寮忕殑浜掔浉淇′換錛屽彧瑕佹寜鐓ф棦瀹氱殑瑙勫垯榪涜屻傝妭鐐歸棿涔熸棤娉曟洪獥鍏朵粬鑺傜偣銆傚洜涓烘暣涓緗戠粶閮芥槸鍘諱腑蹇冨寲鐨勶紝姣忎釜浜洪兘鏄鍙備笌鑰咃紝姣忎釜浜洪兘鏈夎瘽璇鏉冦
浜岋紝鍏辮瘑鏈哄埗鈥斺旂粺絳硅妭鐐癸紝鏁版嵁澶勭悊
鍏舵★紝鍥犱負鍒嗗竷寮忚處鏈鍘諱腑蹇冨寲鐨勭壒鐐癸紝鍐沖畾浜嗗尯鍧楅摼緗戠粶鏄涓涓鍒嗗竷寮忕殑緇撴瀯錛屾瘡涓浜洪兘鍙浠ヨ嚜鐢辯殑鍔犲叆鍏朵腑錛屽叡鍚屽弬涓庢暟鎹鐨勮板綍錛屼絾涓庢ゅ悓鏃訛紝灝辮嶇敓鍑烘潵浠や漢澶寸柤鐨勨滄嫓鍗犲涵灝嗗啗鈥濋棶棰橈紝鍗崇綉緇滀腑鍙備笌鐨勪漢鏁拌秺澶氾紝鍏ㄧ綉灝辮秺闅句互杈炬垚緇熶竴錛屼簬鏄灝遍渶瑕佸彟涓濂楁満鍒舵潵鍗忚皟鍏ㄨ妭鐐硅處鐩淇濇寔涓鑷達紝鍏辮瘑鏈哄埗灝卞埗瀹氫簡涓濂楄勫垯錛屾槑紜姣忎釜浜哄勭悊鏁版嵁鐨勯斿緞錛屽苟閫氳繃浜夊ず璁拌處鏉冪殑鏂瑰紡鏉ュ畬鎴愯妭鐐歸棿鐨勬剰瑙佺粺涓錛屾渶鍚庤皝鍙栧緱璁拌處鏉冿紝鍏ㄧ綉灝辯敤璋佸勭悊鐨勬暟鎹銆傛墍浠ュ叡璇嗘満鍒跺湪鍖哄潡閾句腑璧峰埌浜嗙粺絳硅妭鐐圭殑琛屼負錛屾槑紜鏁版嵁澶勭悊鐨勪綔鐢ㄣ
浠諱綍浜洪兘鍙浠ュ弬涓庡埌鍖哄潡閾劇綉緇滐紝姣忎竴鍙拌懼囬兘鑳戒綔涓轟竴涓鑺傜偣錛屾瘡涓鑺傜偣閮藉厑璁歌幏寰椾竴涓瀹屾暣鐨勬暟鎹搴擄紝鑺傜偣闂撮兘鏈変竴濂楀叡璇嗘満鍒訛紝閫氳繃絝炰簤錛岃$畻錛屽叡鍚岀淮鎶ゆ暣涓鍖哄潡閾撅紝浠諱竴鑺傜偣澶辨晥錛屽叾浣欒妭鐐逛粛鑳芥e父宸ヤ綔銆傜浉褰撲簬璁ゅ彲浣犵殑娓告垙瑙勫垯錛屾瘮鐗瑰竵鏈夋瘮鐗瑰竵鐨勫叡璇嗘満鍒訛紝鍏ㄧ悆璁ゅ彲灝卞彲浠ュ弬涓庢瘮鐗瑰竵鎸栫熆錛屽洜涓轟綘璁ゅ彲浜嗗畠鐨勫叡璇嗘満鍒訛紝涔熷彲鐞嗚В涓鴻ゅ彲瀹冪殑娓告垙瑙勫垯銆傛瘮鐗瑰竵鐨勮勫垯灝辨槸榪涜屽簽澶х殑榪愮畻錛岃皝鍏堢畻鍑烘潵灝辯粰璋佸栧姳POW銆
澶囨敞錛氬叡璇嗘満鍒惰窡PoW銆丳oS銆丏PoS榪欎簺鐩告瘮錛屼紭緙虹偣鏄浠涔?
PoW鍗沖伐浣滈噺璇佹槑錛岃繖鏄涓縐嶉潪甯稿閥濡欑殑鏂規硶錛屽畠鐨勪紭鐐規槸錛
綆楁硶綆鍗曪紝瀹規槗瀹炵幇;
鑺傜偣闂存棤闇浜ゆ崲棰濆栫殑淇℃伅鍗沖彲杈炬垚鍏辮瘑;
鐮村潖緋葷粺闇瑕佹姇鍏ユ瀬澶х殑鎴愭湰;
瀹冪殑緙虹偣涔熼潪甯告槑鏄撅細
嫻璐硅兘婧;
鍖哄潡鐨勭『璁ゆ椂闂撮毦浠ョ緝鐭;
鏂扮殑鍖哄潡閾懼繀欏繪壘鍒頒竴縐嶄笉鍚岀殑鏁e垪綆楁硶錛屽惁鍒欏氨浼氶潰涓存瘮鐗瑰竵鐨勭畻鍔涙敾鍑;
瀹規槗浜х敓鍒嗗弶錛岄渶瑕佺瓑寰呭氫釜紜璁;
姘歌繙娌℃湁鏈緇堟э紝闇瑕佹鏌ョ偣鏈哄埗鏉ュ譏琛ユ渶緇堟
PoS鍗蟲潈鐩婅瘉鏄庯紝瀹冨皢PoW涓鐨勭畻鍔涙敼涓虹郴緇熸潈鐩婏紝鎷ユ湁鏉冪泭瓚婂ぇ鍒欐垚涓轟笅涓涓璁拌處浜虹殑姒傜巼瓚婂ぇ銆傝繖縐嶆満鍒剁殑浼樼偣鏄涓嶅儚Pow閭d箞璐圭數錛屼絾鏄涔熸湁涓嶅皯緙虹偣錛
娌℃湁涓撲笟鍖栵紝鎷ユ湁鏉冪泭鐨勫弬涓庤呮湭蹇呭笇鏈涘弬涓庤拌處;
瀹規槗浜х敓鍒嗗弶錛岄渶瑕佺瓑寰呭氫釜紜璁;
姘歌繙娌℃湁鏈緇堟э紝闇瑕佹鏌ョ偣鏈哄埗鏉ュ譏琛ユ渶緇堟;
DPoS鍦≒oS鐨勫熀紜涓婏紝灝嗚拌處浜虹殑瑙掕壊涓撲笟鍖栵紝鍏堥氳繃鏉冪泭鏉ラ夊嚭璁拌處浜猴紝鐒跺悗璁拌處浜轟箣闂村啀杞嫻佽拌處銆傝繖縐嶆柟寮忎緷鐒舵病鏈夎В鍐蟲渶緇堟ч棶棰樸
DBFT(delegated BFT)鏄涓縐嶉氱敤鐨勫叡璇嗘満鍒舵ā鍧楋紝鎻愬嚭浜嗕竴縐嶆敼榪涚殑鎷滃崰搴瀹歸敊綆楁硶錛屼嬌鍏惰兘澶熼傜敤浜庡尯鍧楅摼緋葷粺銆
DBFT鏄鍩轟簬鍖哄潡閾炬妧鏈鐨勪竴縐嶅崗璁銆傜敤鎴峰彲浠ュ皢瀹炰綋涓栫晫鐨勮祫浜у拰鏉冪泭榪涜屾暟瀛楀寲錛岄氳繃鐐瑰圭偣緗戠粶榪涜岀櫥璁板彂琛屻佽漿璁╀氦鏄撱佹竻綆椾氦鍓茬瓑閲戣瀺涓氬姟鐨勫幓涓蹇冨寲緗戠粶鍗忚銆傚皬鋩佷笂鍙浠ュ彂琛屼腑鍥姐婂悎鍚屾硶銆嬨併婂叕鍙告硶銆嬭ゅ彲鐨勫叕鍙歌偂鏉冿紝涓嶄粎鏄鏁板瓧璐у竵鍦堬紝榪樺寘鎷涓繪祦浜掕仈緗戦噾鋙嶃傚皬鋩佸彲浠ヨ鐢ㄤ簬鑲℃潈浼楃廣丳2P緗戣捶銆佹暟瀛楄祫浜х$悊銆佹櫤鑳藉悎綰︾瓑銆
榪欑嶅叡璇嗘満鍒舵槸鍦–astro 鍜 Liskov鎻愬嚭鐨勨滃疄鐢ㄦ嫓鍗犲涵瀹歸敊綆楁硶鈥(Practical Byzantine Fault Tolerance)鐨勫熀紜涓婏紝緇忚繃鏀硅繘鍚庝嬌鍏惰兘澶熼傜敤浜 鍖哄潡閾劇郴緇熴傛嫓鍗犲涵瀹歸敊鎶鏈琚騫挎硾搴旂敤鍦ㄥ垎甯冨紡緋葷粺涓錛屾瘮濡傚垎甯冨紡鏂囦歡緋葷粺銆佸垎甯冨紡鍗忎綔緋葷粺銆佷簯璁$畻絳夈俤BFT涓昏佸仛浜嗕互涓嬫敼榪涳細
灝咰/S鏋舵瀯鐨勮鋒眰鍝嶅簲妯″紡錛屾敼榪涗負閫傚悎P2P緗戠粶鐨勫圭瓑鑺傜偣妯″紡;
灝嗛潤鎬佺殑鍏辮瘑鍙備笌鑺傜偣鏀硅繘涓哄彲鍔ㄦ佽繘鍏ャ侀鍑虹殑鍔ㄦ佸叡璇嗗弬涓庤妭鐐;
涓哄叡璇嗗弬涓庤妭鐐圭殑浜х敓璁捐′簡涓濂楀熀浜庢寔鏈夋潈鐩婃瘮渚嬬殑鎶曠エ鏈哄埗錛岄氳繃鎶曠エ鍐沖畾鍏辮瘑鍙備笌鑺傜偣(璁拌處鑺傜偣);
鍦ㄥ尯鍧楅摼涓寮曞叆鏁板瓧璇佷功錛岃В鍐充簡鎶曠エ涓瀵硅拌處鑺傜偣鐪熷疄韜浠界殑璁よ瘉闂棰
涓轟粈涔堟渶緇堥噰鐢ㄤ竴縐嶈繖鏍風殑鏂規?
絳旓細鍖哄潡閾句綔涓轟竴縐嶅垎甯冨紡璐︽湰緋葷粺錛屽叾鍐呴儴鐨勭粡嫻庢ā鍨嬪喅瀹氫簡錛屾瘡涓浣嶅弬涓庤呴兘鍙浠ユ棤闇淇′換鍏朵粬鐨勫弬涓庤咃紝鍗蟲墍璋撶殑鍘諱俊浠匯傛嫓鍗犲涵灝嗗啗闂棰樻f槸鎻忚堪浜嗗弬涓庤呬箣闂村備綍鍦ㄥ幓淇′換鐨勬儏鍐典笅杈炬垚鍏辮瘑錛岃屾嫓鍗犲涵瀹歸敊鎶鏈姝f槸瑙e喅姝ょ被闂棰樼殑鏂規硶銆傛ゅ栵紝鍖哄潡閾劇殑緗戠粶鐜澧冮潪甯稿嶆潅錛屼細闈涓寸綉緇滃歡榪熴佷紶杈撻敊璇銆佽蔣浠墮敊璇銆佸畨鍏ㄦ紡媧炪侀粦瀹㈠叆渚電瓑闂棰橈紝榪樻湁鍚勫紡鍚勬牱鐨勬伓鎰忚妭鐐癸紝鑰屾嫓鍗犲涵瀹歸敊鎶鏈姝f槸鍙浠ュ瑰繊榪欎簺閿欒鐨勬柟妗堛
dBFT鏈哄埗錛屾槸鐢辨潈鐩婃潵閫夊嚭璁拌處浜猴紝鐒跺悗璁拌處浜轟箣闂撮氳繃鎷滃崰搴瀹歸敊綆楁硶鏉ヨ揪鎴愬叡璇嗭紝榪欑嶆柟寮忕殑浼樼偣鏄錛
涓撲笟鍖栫殑璁拌處浜;
鍙浠ュ瑰繊浠諱綍綾誨瀷鐨勯敊璇;
璁拌處鐢卞氫漢鍗忓悓瀹屾垚錛屾瘡涓涓鍖哄潡閮芥湁鏈緇堟э紝涓嶄細鍒嗗弶;
綆楁硶鐨勫彲闈犳ф湁涓ユ牸鐨勬暟瀛﹁瘉鏄
緙虹偣錛
褰撴湁1/3鎴栦互涓婅拌處浜哄仠姝㈠伐浣滃悗錛岀郴緇熷皢鏃犳硶鎻愪緵鏈嶅姟;
褰撴湁1/3鎴栦互涓婅拌處浜鴻仈鍚堜綔鎮訛紝涓斿叾瀹冩墍鏈夌殑璁拌處浜鴻鎮板ソ鍒嗗壊涓轟袱涓緗戠粶瀛ゅ矝鏃訛紝鎮舵剰璁拌處浜哄彲浠ヤ嬌緋葷粺鍑虹幇鍒嗗弶錛屼絾鏄浼氱暀涓嬪瘑鐮佸﹁瘉鎹;
浠ヤ笂鎬葷粨鏉ヨ達紝dBFT鏈哄埗鏈鏍稿績鐨勪竴鐐癸紝灝辨槸鏈澶ч檺搴﹀湴紜淇濈郴緇熺殑鏈緇堟э紝浣垮尯鍧楅摼鑳藉熼傜敤浜庣湡姝g殑閲戣瀺搴旂敤鍦烘櫙銆傛瘮濡傛垜浠鍝ヤ雞甯冪殑鍏辮瘑鏈哄埗DPOS+DBFT鐨勫叡璇嗘満鍒躲傚傛灉鎴戜滑鏁翠釜鑺傜偣鍏朵腑涓涓浜烘垨鑰呬竴涓璁懼囧叧闂浜嗭紝閭d箞鍏朵粬鑺傜偣浠嶅湪姝e父宸ヤ綔錛屼笉浼氬獎鍝嶆暣涓緗戠粶浣撶郴銆備絾鏄濡傛灉鑵捐鐨勬湇鍔″櫒鍏抽棴浜嗭紝閭f墍鏈変漢鐨勫井淇℃墦涓嶅紑鐨勶紝鍥犱負浣犳病鏈夎皟鍙栨暟鎹鐨勫湴鏂逛簡錛岃繖灝辨槸涓蹇冨寲緗戠粶鏈嶅姟鍣ㄤ笌鍖哄潡閾劇綉緇滄湇鍔″櫒鐨勪竴涓鍖哄埆銆
涓夛紝瀵嗙爜瀛︹斺旀暟鎹鐨勫畨鍏錛岄獙璇佷簡鏁版嵁鐨勫綊灞烇紝涓嶅彲綃℃敼鍙榪芥函
姝ゅ栨暟鎹榪涘叆鍒嗗竷寮忔暟鎹搴撲腑錛屼篃涓嶆槸鍗曠函鐨勬墦鍖呰繘鏉ュ氨娌′簨浜嗭紝搴曞眰鐨勬暟鎹鏋勬灦鍒欐槸鐢卞尯鍧楅摼瀵嗙爜瀛︽潵鍐沖畾鐨勶紝鎵撳寘濂界殑鏁版嵁鍧楋紝浼氶氳繃瀵嗙爜瀛︿腑鍝堝笇鍑芥暟澶勭悊鎴愪竴涓閾懼紡鐨勭粨鏋勶紝鍚庝竴涓鍖哄潡鍖呭惈鍓嶄竴涓鍖哄潡鐨勫搱甯屽礆紝鍥犱負鍝堝笇綆楁硶鍏鋒湁鍗曞悜鎬э紝鎶楃℃敼絳夌壒鐐癸紝鎵浠ュ彧鍦ㄥ尯鍧楅摼緗戠粶涓錛屾暟鎹涓鏃︿笂閾懼氨涓嶅彲綃℃敼錛屼笖鍙榪芥函錛屽彟澶栦綘鐨勮處鎴蜂篃浼氶氳繃闈炲圭О鍔犲瘑鐨勬柟寮忚繘琛屽姞瀵嗭紝榪涜屼繚璇佷簡鏁版嵁鐨勫畨鍏錛岄獙璇佷簡鏁版嵁鐨勫綊灞炪
鍗曚釜鎴栧氫釜鏁版嵁搴撶殑淇鏀規棤娉曞獎鍝嶅叾浠栨暟鎹搴撲簡銆傞櫎浜嗚秴榪囨暣涓緗戠粶51%鐨勬暟鎹鍚屾椂淇鏀癸紝榪欏嚑涔庝笉鍙鑳藉彂鐢熴傚尯鍧楅摼涓鐨勬瘡涓絎斾氦鏄撻兘閫氳繃瀵嗙爜瀛︽柟寮忎笌鐩擱偦涓や釜鍖哄潡涓茶仈錛屽洜姝ゅ彲浠ヨ拷婧鍒頒換浣曚竴絎斾氦鏄撶殑鍓嶄笘浠婄敓銆傝繖閲屽氨鏄鍖哄潡閾劇殑鏁版嵁緇撴瀯錛屽尯鍧楀ご鍜屽尯鍧椾綋銆傚瘑鐮佸 鍝堝笇鍊礆紝鏃墮棿鎴籌紝閫氳繃鏃墮棿鎴蟲潵鍐沖畾瀹冪殑欏哄簭錛屼笉浼氭墦涔便
榪欎釜鍘熺悊榪愪綔鍒版垜浠鐨勫晢涓氫綋緋婚噷杈癸紝鍖呮嫭鍟嗗搧浣撶郴錛屾垜浠鎵璇寸殑婧婧愶紝鍙浠ユ煡璇㈠埌鍟嗗搧鍦ㄥ摢閲岀敓浜х殑錛岀敓浜у師鏉愭枡鏄浠涔堬紝浠庡悗寰鍓嶄竴姝ヤ竴姝ユ煡鎵懼埌錛屽洜涓烘垜浠鍦ㄦ瘡鍋氫竴姝ュ姩浣滅殑鍚屾椂鎶婁俊鎮鏁版嵁鍐欏埌鍖哄潡閾劇殑浣撶郴閲岋紝閫氳繃榪欎釜浣撶郴鎴戝氨鍙浠ユ煡鎵懼埌鏄涓嶆槸浣跨敤鐨勮繖涓鍘熸潗鏂欙紝鏄涓嶆槸鐢ㄨ繖涓宸ヨ壓鐢熶駭鍑烘潵鐨勩傞氳繃榪欐牱涓涓鏁版嵁鐨勭粨鏋勫瓨鍌ㄨ揪鍒版垜浠鍏卞悓鐩鎬俊瀹冿紝榪欏晢鍝佺殑紜鏄榪欐牱鐢熶駭鍑烘潵鐨勶紝鐩鎬俊榪欐槸鐪熺殑銆
鍙﹀栨暟鎹鏃犳硶淇鏀癸紝濡傛灉鎯寵佷慨鏀硅佽揪鍒51%鐨勪漢鎵嶅彲浠ワ紝浠庤偂鏉冧笂鐞嗚В錛屾嫢鏈夊叕鍙51%鐨勮偂鏉冨湪榪欎釜鍏鍙稿氨鏈夎瘽璇鏉冦傝繖鍙鏄涓涓鍙鑳芥ц屽凡銆備負浠涔堢敤鍖哄潡閾炬妧鏈姣斾簰鑱旂綉鎶鏈鏇村巻瀹熾佹洿瀹夊叏鍛錛屽洜涓轟粬鍒嗗竷寮浜嗭紝濡傛灉浣犳兂瑕佸幓淇鏀歸噷闈㈢殑鏁版嵁錛屼綔涓洪粦瀹㈣佹壘鍒版墍鏈夎拌繖涓璐︾殑璁$畻鏈猴紝姣忓彴璁$畻鏈洪兘瑕佷慨鏀癸紝涔熻歌兘寰堝揩鎵懼埌鍏朵腑涓鍙版妸瀹冩敼鎺夛紝浣嗗緢闅炬妸鎵鏈夌殑鏀規帀銆
鍖哄潡閾鵑噷鎵鏈夌殑浜ゆ槗淇℃伅閮芥槸鍏寮鐨勶紝鍥犳ゆ瘡涓絎斾氦鏄撻兘瀵規墍鏈夎妭鐐瑰彲瑙侊紝鐢變簬鑺傜偣涓庤妭鐐歸棿鏄鍘諱腑蹇冨寲鐨勶紝鎵浠ヨ妭鐐歸棿鏃犻渶鍏寮韜浠斤紝姣忎釜鑺傜偣閮芥槸鍖垮悕鐨勩傛瘮濡傛瘡鍙扮畻鑳芥満鍚鍔ㄥ悗錛屾瘡鍙扮畻鑳芥満璋佸惎鍔ㄨ皝娌″惎鍔錛屾垜浠鐩鎬簰闂存槸涓嶇煡閬撶殑錛屼綘鍙浠ュ湪浣犲墮噷寮鍚錛岃繖閲屾湁涓澶氬姵澶氬緱鐨勯棶棰樸
鍥涳紝鏅鴻兘鍚堢害鈥斺旀墽琛 搴旂敤
鏈鍚庯紝鍙浠ュ湪鍒嗗竷寮忚處鏈鐨勫熀紜涓婏紝鎼寤哄簲鐢ㄥ眰闈㈢殑鏅鴻兘鍚堢害銆傚綋鎴戜滑鎯寵佽В鍐充竴浜涗俊浠婚棶棰橈紝鍙浠ラ氳繃鏅鴻兘鍚堢害錛屽皢鐢ㄦ埛闂寸殑綰﹀畾鐢ㄤ唬鐮佺殑褰㈠紡錛屽皢鏉′歡緗楀垪娓呮氾紝騫墮氳繃紼嬪簭鏉ユ墽琛岋紝鑰屽尯鍧楅摼涓鐨勬暟鎹錛屽垯鍙浠ラ氳繃鏅鴻兘鍚堢害榪涜岃皟鐢錛屾墍浠ユ櫤閫氬悎綰﹀湪鍖哄潡閾句腑璧峰埌浜嗘暟鎹鎵ц屼笌搴旂敤鐨勫姛鑳姐
鏅鴻兘鍚堢害鍙甯鍔╂偍浠ラ忔槑銆佹棤鍐茬獊鐨勬柟寮忎氦鎹㈤噾閽便佽儲浜с佽偂浠芥垨浠諱綍鏈変環鍊肩殑鐗╁搧錛屽悓鏃墮伩鍏嶄腑闂村晢鐨勬湇鍔★紝鐢氳嚦璇存櫤鑳藉悎綰﹀皢鍦ㄦ湭鏉ュ彇浠e緥甯堣繖涓鑱屽姟銆傞氳繃鏅鴻兘鍚堢害鏂瑰紡錛岃祫浜ф垨璐у竵琚杞縐誨埌紼嬪簭涓錛岀▼搴忚繍琛屾や唬鐮侊紝騫跺湪鏌愪釜鏃墮棿鐐硅嚜鍔ㄩ獙璇佷竴涓鏉′歡錛屽畠浼氳嚜鍔ㄧ『瀹氳祫浜ф槸搴旇ュ幓涓涓浜鴻繕鏄鍥炲埌鍙︿竴涓浜猴紝鎴栬呭簲璇ョ珛鍗抽榪樼粰鍙戦佸畠鐨勪漢鎴栧叾緇勫悎銆(鑷鍔ㄥ己鍒舵墽琛岋紝璧栦笉浜嗚處)涓庢ゅ悓鏃訛紝鍒嗘暎璐︽湰涔熸槸瀛樺偍鍜屽嶅埗鏂囦歡錛屼嬌鍏跺叿鏈変竴瀹氱殑瀹夊叏鎬у拰涓嶅彉鎬с
鏅鴻兘鍚堢害鐨勭壒鑹
鑷娌燴斺斿彇娑堜腑闂翠漢鍜岀涓夋柟錛屼綘鏄杈炬垚鍗忚鐨勪漢; 娌℃湁蹇呰佷緷璧栫粡綰浜猴紝寰嬪笀鎴栧叾浠栦腑闂翠漢鏉ョ『璁ゃ傞『渚挎彁涓鍙ワ紝榪欎篃娑堥櫎浜嗙涓夋柟鎿嶇旱鐨勫嵄闄╋紝鍥犱負鎵ц屾槸鐢辯綉緇滆嚜鍔ㄧ$悊鐨勶紝鑰屼笉鏄鐢變竴涓鎴栧氫釜鍙鑳芥湁鍋忚佺殑涓浜哄彲鑳界姱閿欍
淇′換鈥斺旀偍鐨勬枃浠跺湪鍏變韓璐︽湰涓婂姞瀵嗐傛湁浜烘棤娉曡翠粬浠澶卞幓浜嗗畠銆
澶囦喚鈥斺旀兂璞′竴涓嬶紝濡傛灉浣犵殑閾惰屽け鍘諱簡浣犵殑鍌ㄨ搫璐︽埛銆傚湪鍖哄潡閾句笂錛屼綘鐨勬瘡涓涓鏈嬪弸閮芥湁浣犵殑鑳屽獎銆傛偍鐨勬枃妗h閲嶅嶅氭°
瀹夊叏鈥斺斿瘑鐮佸︼紝緗戠珯鍔犲瘑錛屼繚璇佹偍鐨勬枃浠跺畨鍏ㄣ傛病鏈夐粦瀹㈡敾鍑匯備簨瀹炰笂錛岃繖闇瑕佷竴涓闈炲父鑱鏄庣殑榛戝㈡潵鐮磋В浠g爜騫舵笚閫忋
閫熷害鈥斺旀偍閫氬父涓嶅緱涓嶈姳璐瑰ぇ閲忕殑鏃墮棿鍜屾枃涔﹀伐浣滄潵鎵嬪姩澶勭悊鏂囨。銆傛櫤鑳藉悎綰︿嬌鐢ㄨ蔣浠朵唬鐮佹潵鑷鍔ㄦ墽琛屼換鍔★紝浠庤岀緝鐭浜嗕竴緋誨垪涓氬姟嫻佺▼鐨勬椂闂淬
鍌ㄨ搫鑺傜渷鎴愭湰鈥斺旀櫤鑳藉悎綰﹀彲浠ヨ妭鐪佹偍鐨勮祫閲戱紝鍥犱負浠栦滑娣樻卑浜嗕腑闂翠漢銆備婦渚嬫潵璇達紝浣犲繀欏諱粯鍏璇佷漢瑙佽瘉浣犵殑浜ゆ槗銆
鍑嗙『鎬р斺旇嚜鍔ㄥ寲鍚堝悓涓嶄粎鏇村揩錛屾洿渚垮疁錛岃屼笖榪橀伩鍏嶄簡鎵嬪伐濉鍐欒〃鏍兼墍浜х敓鐨勯敊璇銆
鎻忚堪鏅鴻兘鍚堢害鐨勬渶浣蟲柟寮忔槸灝嗚ユ妧鏈涓庤嚜鍔ㄥ敭璐ф満榪涜屾瘮杈冦傞氬父錛屼綘浼氬幓鎵懼緥甯堟垨鍏璇佷漢錛屼粯閽辯粰浠栦滑錛岀瓑浣犳嬁鍒版枃浠躲傞氳繃鏅鴻兘鍚堢害錛屾偍鍙闇灝嗕竴涓姣旂壒甯佹斁鍏ヨ嚜鍔ㄥ敭璐ф満(渚嬪傚垎綾昏處)錛屽苟灝嗘偍鐨勬墭綆★紝椹鵑┒鎵х収鎴栦換浣曚笢瑗挎斁鍏ユ偍鐨勮處鎴楓傛洿閲嶈佺殑鏄錛屾櫤鑳藉悎綰︿笉浠呬互涓庝紶緇熷悎鍚岀浉鍚岀殑鏂瑰紡瀹氫箟鍗忚鐨勮勫垯鍜屽勭綒錛岃繕鑷鍔ㄦ墽琛岃繖浜涗箟鍔°
鏅鴻兘鍚堢害涓庡尯鍧楅摼
鍖哄潡閾炬渶濂界殑涓鐐規槸錛屽洜涓哄畠鏄涓涓鍒嗘暎鐨勭郴緇燂紝瀛樺湪浜庢墍鏈夊厑璁哥殑褰撲簨鏂逛箣闂達紝鎵浠ヤ笉闇瑕佹敮浠樹腑闂翠漢(涓闂翠漢)錛屽畠鍙浠ヨ妭鐪佹偍鐨勬椂闂村拰鍐茬獊銆傚尯鍧楅摼瀛樺湪闂棰橈紝浣嗕笌浼犵粺緋葷粺鐩告瘮錛屽畠浠鐨勮瘎綰э紝鏃犲彲鍚﹁わ紝閫熷害鏇村揩錛屾洿渚垮疁錛屾洿瀹夊叏錛岃繖涔熸槸閾惰屽拰鏀垮簻杞鍚戝畠浠鐨勫師鍥犮傝屽埄鐢ㄥ尯鍧楅摼鎶鏈鐨勭壒鎬ц屽簲鐢ㄤ簬鏅鴻兘鍚堢害錛屽皢鍙浠ユ洿渚挎嵎鐨勬彁楂樺伐浣滅敓媧諱腑鐨勫悇縐嶅悎綰︺
3. 區塊鏈的四大核心技術
區塊鏈四大核心技術詳解
P2P網路技術是區塊鏈的基礎架構,它使網路中的各個節點能獨立進行資源交換,形成一個對等、高效的傳輸協議。成千上萬個節點在分布式網路中自由進入和退出,確保了區塊鏈的去中心化特性。
加密技術在區塊鏈中採用非對稱加密演算法,確保信息在分布式網路中安全傳輸。公鑰用於加密信息,私鑰用於解密,信息的完整性、安全性和不可篡改性得到保障,密碼學安全技術是區塊鏈的核心。
智能合約是一種自動執行的合約,允許在無需第三方的情況下進行可信交易。它類似於ATM或咖啡機,在特定條件下自動實現功能。在商業活動中,智能合約簡化了交易流程,提供安全保障,讓交易雙方自動執行合約。
共識機制是區塊鏈形成信任的核心技術。在分布式網路中,機器演算法形成共識,確保沒有中心化機構的情況下也能達成一致。共識機制使得有良好願望、靠譜的人鎖定在一種可靠的狀態,重構信任,強調自由人的自由聯合、創造、創新和快樂,以及生產體系和價值分配方式的變化。
區塊鏈技術正在孕育一個偉大時代的到來。它消解了過去被認為顛撲不破的法則、原則,推動一種知足的社會形態,每天的創造和生產都服從於對需求的精準滿足。人們愉快地生產自己擅長的產品,同時收獲知足的快樂。這樣的社會正在地平線上涌現。
4. 區塊鏈最朴實的技術是什麼(區塊鏈最核心的技術)
區塊鏈應用什麼技術來實現此功能區塊鏈應用了以下的技術來實現
第一種是共識機制,常用的共識機制主要有PoW、PoS、DPoS、PBFT、PAXOS等。由於區塊鏈系統中沒有一個中心,因此需要有一個預設的規則來指導各方節點在數據處理上達成一致,所有的數據交互都要按照嚴格的規則和共識進行;
第二種是密碼學技術,密碼學技術是區塊鏈的核心技術之一,目前的區塊鏈應用中採用了很多現代密碼學的經典演算法,主要包括:哈希演算法、對稱加密、非對稱加密、數字簽名等。
第三種是分布式存儲,區塊鏈是一種點對點網路上的分布式賬本,每個參與的節點都將獨立完整地存儲寫入區塊數據信息。分布式存儲區別於傳統中心化存儲的優勢主要體現在兩個方面:每個節點上備份數據信息,避免了由於單點故障導致的數據丟失;每個節點上的數據都獨立存儲,有效規避了惡意篡改歷史數據。
智能合約:智能合約允許在沒有第三方的情況下進行可信交易,只要一方達成了協議預先設定的目標,合約將會自動執行交易,這些交易可追蹤且不可逆轉。具有透明可信、自動執行、強制履約的優點。區塊鏈技術有許多獨特的特點,使它成為一項獨特的發明,並賦予它無限的視野去探索。
區塊鏈的核心技術是什麼?簡單來說,區塊鏈是一個提供了拜占庭容錯、並保證了最終一致性的分布式資料庫;從數據結構上看,它是基於時間序列的鏈式數據塊結構;從節點拓撲上看,它所有的節點互為冗餘備份;從操作上看,它提供了基於密碼學的公私鑰管理體系來管理賬戶。
或許以上概念過於抽象,我來舉個例子,你就好理解了。
你可以想像有100台計算機分布在世界各地,這100台機器之間的網路是廣域網,並且,這100台機器的擁有者互相不信任。
那麼,我們採用什麼樣的演算法(共識機制)才能夠為它提供一個可信任的環境,並且使得:
節點之間的數據交換過程不可篡改,並且已生成的歷史記錄不可被篡改;
每個節點的數據會同步到最新數據,並且會驗證最新數據的有效性;
基於少數服從多數的原則,整體節點維護的數據可以客觀反映交換歷史。
區塊鏈就是為了解決上述問題而產生的技術方案。
二、區塊鏈的核心技術組成
無論是公鏈還是聯盟鏈,至少需要四個模塊組成:P2P網路協議、分布式一致性演算法(共識機制)、加密簽名演算法、賬戶與存儲模型。
1、P2P網路協議
P2P網路協議是所有區塊鏈的最底層模塊,負責交易數據的網路傳輸和廣播、節點發現和維護。
通常我們所用的都是比特幣P2P網路協議模塊,它遵循一定的交互原則。比如:初次連接到其他節點會被要求按照握手協議來確認狀態,在握手之後開始請求Peer節點的地址數據以及區塊數據。
這套P2P交互協議也具有自己的指令集合,指令體現在在消息頭(MessageHeader)的命令(command)域中,這些命令為上層提供了節點發現、節點獲取、區塊頭獲取、區塊獲取等功能,這些功能都是非常底層、非常基礎的功能。如果你想要深入了解,可以參考比特幣開發者指南中的PeerDiscovery的章節。
2、分布式一致性演算法
在經典分布式計算領域,我們有Raft和Paxos演算法家族代表的非拜占庭容錯演算法,以及具有拜占庭容錯特性的PBFT共識演算法。
如果從技術演化的角度來看,我們可以得出一個圖,其中,區塊鏈技術把原來的分布式演算法進行了經濟學上的拓展。
在圖中我們可以看到,計算機應用在最開始多為單點應用,高可用方便採用的是冷災備,後來發展到異地多活,這些異地多活可能採用的是負載均衡和路由技術,隨著分布式系統技術的發展,我們過渡到了Paxos和Raft為主的分布式系統。
而在區塊鏈領域,多採用PoW工作量證明演算法、PoS權益證明演算法,以及DPoS代理權益證明演算法,以上三種是業界主流的共識演算法,這些演算法與經典分布式一致性演算法不同的是,它們融入了經濟學博弈的概念,下面我分別簡單介紹這三種共識演算法。
PoW:通常是指在給定的約束下,求解一個特定難度的數學問題,誰解的速度快,誰就能獲得記賬權(出塊)權利。這個求解過程往往會轉換成計算問題,所以在比拼速度的情況下,也就變成了誰的計算方法更優,以及誰的設備性能更好。
PoS:這是一種股權證明機制,它的基本概念是你產生區塊的難度應該與你在網路里所佔的股權(所有權佔比)成比例,它實現的核心思路是:使用你所鎖定代幣的幣齡(CoinAge)以及一個小的工作量證明,去計算一個目標值,當滿足目標值時,你將可能獲取記賬權。
DPoS:簡單來理解就是將PoS共識演算法中的記賬者轉換為指定節點數組成的小圈子,而不是所有人都可以參與記賬。這個圈子可能是21個節點,也有可能是101個節點,這一點取決於設計,只有這個圈子中的節點才能獲得記賬權。這將會極大地提高系統的吞吐量,因為更少的節點也就意味著網路和節點的可控。
3、加密簽名演算法
在區塊鏈領域,應用得最多的是哈希演算法。哈希演算法具有抗碰撞性、原像不可逆、難題友好性等特徵。
其中,難題友好性正是眾多PoW幣種賴以存在的基礎,在比特幣中,SHA256演算法被用作工作量證明的計算方法,也就是我們所說的挖礦演算法。
而在萊特幣身上,我們也會看到Scrypt演算法,該演算法與SHA256不同的是,需要大內存支持。而在其他一些幣種身上,我們也能看到基於SHA3演算法的挖礦演算法。以太坊使用了Dagger-Hashimoto演算法的改良版本,並命名為Ethash,這是一個IO難解性的演算法。
當然,除了挖礦演算法,我們還會使用到RIPEMD160演算法,主要用於生成地址,眾多的比特幣衍生代碼中,絕大部分都採用了比特幣的地址設計。
除了地址,我們還會使用到最核心的,也是區塊鏈Token系統的基石:公私鑰密碼演算法。
在比特幣大類的代碼中,基本上使用的都是ECDSA。ECDSA是ECC與DSA的結合,整個簽名過程與DSA類似,所不一樣的是簽名中採取的演算法為ECC(橢圓曲線函數)。
從技術上看,我們先從生成私鑰開始,其次從私鑰生成公鑰,最後從公鑰生成地址,以上每一步都是不可逆過程,也就是說無法從地址推導出公鑰,從公鑰推導到私鑰。
4、賬戶與交易模型
從一開始的定義我們知道,僅從技術角度可以認為區塊鏈是一種分布式資料庫,那麼,多數區塊鏈到底使用了什麼類型的資料庫呢?
我在設計元界區塊鏈時,參考了多種資料庫,有NoSQL的BerkelyDB、LevelDB,也有一些幣種採用基於SQL的SQLite。這些作為底層的存儲設施,多以輕量級嵌入式資料庫為主,由於並不涉及區塊鏈的賬本特性,這些存儲技術與其他場合下的使用並沒有什麼不同。
區塊鏈的賬本特性,通常分為UTXO結構以及基於Accout-Balance結構的賬本結構,我們也稱為賬本模型。UTXO是「unspenttransactioninput/output」的縮寫,翻譯過來就是指「未花費的交易輸入輸出」。
這個區塊鏈中Token轉移的一種記賬模式,每次轉移均以輸入輸出的形式出現;而在Balance結構中,是沒有這個模式的。
區塊鏈技術是什麼區塊鏈是分布式數據存儲、點對點傳輸、共識機制、加密演算法等計算機技術的新型應用模式。所謂共識機制是區塊鏈系統中實現不同節點之間建立信任、獲取權益的數學演算法
區塊鏈(Blockchain)是比特幣的一個重要概念,它本質上是一個去中心化的資料庫,同時作為比特幣的底層技術。區塊鏈是一串使用密碼學方法相關聯產生的數據塊,每一個數據塊中包含了一次比特幣網路交易的信息,用於驗證其信息的有效性(防偽)和生成下一個區塊。
狹義來講,區塊鏈是一種按照時間順序將數據區塊以順序相連的方式組合成的一種鏈式數據結構,並以密碼學方式保證的不可篡改和不可偽造的分布式賬本。
廣義來講,區塊鏈技術是利用塊鏈式數據結構來驗證與存儲數據、利用分布式節點共識演算法來生成和更新數據、利用密碼學的方式保證數據傳輸和訪問的安全、利用由自動化腳本代碼組成的智能合約來編程和操作數據的一種全新的分布式基礎架構與計算方式