什么是區(qū)塊鏈?
簡單地說,區(qū)塊鏈就是一種去中心化的分布式賬本數(shù)據(jù)庫
區(qū)塊鏈沒有中心服務器晓褪,每個參與節(jié)點(人)都是平等的且直接進行數(shù)據(jù)交換,數(shù)據(jù)產生后會被打包成一個一個的數(shù)據(jù)塊综慎,按照時間的先后銜接成一條數(shù)據(jù)鏈涣仿,前后兩個塊均有密碼學機制防篡改,每個節(jié)點都會同步完整的數(shù)據(jù)鏈寥粹。
區(qū)塊鏈的共識機制
上面講了區(qū)塊鏈是由一個一個數(shù)據(jù)區(qū)塊鏈接合成的一條鏈变过,區(qū)塊是怎么來的呢埃元,是由礦工將全網節(jié)點產生的數(shù)據(jù)打包而來,這一過程又被叫做挖礦媚狰。將數(shù)據(jù)打包成一個區(qū)塊接入?yún)^(qū)塊鏈中的節(jié)點就叫礦工岛杀,你可能會問如果礦工造假怎么辦,這就需要通過一個共識機制讓每個打包區(qū)塊的礦工不能有惡意造假行為崭孤,如何實現(xiàn)呢类嗤?
這里我們只講一種最原始共識的機制叫pow共識,就是靠計算機的算力達成共識辨宠,全網的節(jié)點共同來做一個哈希運算遗锣。誰最先算出一個正確的值,誰就取得打包區(qū)塊的權力嗤形,然后全網同步這個區(qū)塊精偿,再進行新的哈希運算競賽,下一個獲勝者得到打包下一個區(qū)塊并上鏈的權力赋兵,系統(tǒng)會給每次打包區(qū)塊的礦工一定的虛擬貨幣獎勵笔咽。這種以算力來決定記賬權的規(guī)則就叫做POW共識。
所謂"哈希"就是計算機可以對任意內容霹期,計算出一個長度相同的特征值叶组。區(qū)塊鏈的哈希長度是256位,這就是說历造,不管原始內容是什么甩十,最后都會計算出一個256位的二進制數(shù)字。而且可以保證吭产,只要原始內容不同侣监,對應的哈希一定是不同的。而且哈希運算是不可逆的臣淤。某一個數(shù)據(jù)哈希后能得到一個確切的值达吞,如果反過來給定一個哈希值,是不可能反向算出他的初始值的荒典,唯一的方法就是暴力運算(不停的嘗試遍歷所有的初始值酪劫,讓其運算結果一 一的對比)。
因為有共識機制規(guī)范了礦工的行為寺董,保證了數(shù)據(jù)的真實性和穩(wěn)定性覆糟。如果一個礦工想要作惡修改數(shù)據(jù),他必須要取得區(qū)塊打包權遮咖,也就是說要比其他節(jié)點要先算出這個正確的哈希值滩字,這需要擁有比全網其他節(jié)點更強大的計算能力。
區(qū)塊鏈的幾個特性
去中心化
去中心化,即與傳統(tǒng)中心化的方式不同,不存在一個中心化服務器,人和人之間直接點對點溝通嚎幸;每個節(jié)點都充當一個服務器粘室,每個節(jié)點會同步共享整個賬本的數(shù)據(jù)践剂。相當于每個節(jié)點都有一套完整的數(shù)據(jù)。而且信息是公開透明的,任何人都可以通過區(qū)塊鏈查看這些數(shù)據(jù)記錄。
像傳統(tǒng)的淘寶栗竖、QQ等都是中心化的,你用這些產品時渠啤,你生成的數(shù)據(jù)先統(tǒng)一存入他們的服務器狐肢,通過中心服務器再和其他人互動。如果淘寶或者QQ服務器遭遇故障沥曹,那么我們就沒法使用了份名。但是在區(qū)塊鏈中,人與人之間是點對點直接互動的妓美,就算部分節(jié)點服務器出現(xiàn)故障仍然不影響其他節(jié)點的互動同窘。系統(tǒng)能有更高的容錯和安全性。沒有中心化的話也沒有了平臺操縱的風險部脚。
商家和消費者作為平等節(jié)點繞過第三方中心機構直接進行數(shù)據(jù)交換
數(shù)據(jù)不可篡改
區(qū)塊鏈數(shù)據(jù)是一個一個的塊連成的鏈,并且由密碼學保護裤纹,每一個區(qū)塊由區(qū)塊頭和區(qū)塊體構成委刘。區(qū)塊頭記錄當前了區(qū)塊的特征值(包括本次生成時間、上一個區(qū)塊的哈希鹰椒、本次區(qū)塊的數(shù)據(jù)區(qū)塊體的哈希值等)锡移,區(qū)塊體為本次區(qū)塊的數(shù)據(jù)。由于每一個區(qū)塊都包含了上一個區(qū)塊的哈希值漆际,形成了一種反篡改的聯(lián)動機制淆珊。
某一區(qū)塊數(shù)據(jù)改變了的話,這個區(qū)塊的哈希值就會改變奸汇,由于每個區(qū)塊的區(qū)塊頭都記錄了上一個區(qū)塊的哈希值施符,所以更改數(shù)據(jù)的那個區(qū)塊后面所有區(qū)塊的哈希值都會改變。如果有節(jié)點想更改數(shù)據(jù)來作惡擂找,那么他需要更改從這個區(qū)塊開始后面所有的區(qū)塊才行戳吝。
這意味他需要返回那個更改數(shù)據(jù)的區(qū)塊開始用算力挖礦取得記賬權,然后繼續(xù)算力挖礦取得那之后到最新的所有區(qū)塊的記賬權贯涎,此時可以理解為有攻擊者和正常節(jié)點兩條鏈同時在挖听哭,由于區(qū)塊鏈有最長鏈原則:所有節(jié)點只會承認區(qū)塊數(shù)量更多的最長鏈并同步它的數(shù)據(jù)。區(qū)塊鏈攻擊者需要做的就是讓他挖的那條鏈的長度追上并超過正常節(jié)點所挖的鏈。當他挖出來的區(qū)塊長度超過了正常節(jié)點挖出的區(qū)塊長度后陆盘,便能迫使其他節(jié)點接受他挖的那條鏈普筹,此時攻擊成功。
實際上這個攻擊是非常困難的隘马,攻擊者返回去挖想更改數(shù)據(jù)的舊區(qū)塊太防,正常節(jié)點也會持續(xù)挖礦,在已經落后若干區(qū)塊的前提下祟霍,攻擊者只有在其算力達到全網51%及以上的情況下杏头,挖礦(取得記賬權)的速度才有可能追上當前最新區(qū)塊,業(yè)內把這種情況下的攻擊叫做51%攻擊沸呐。但是這個成本非常巨大以至于任何人都很難或者說無法完成醇王。
舉個例讓你明白這有多難,現(xiàn)在比特幣網絡的計算能力已經超過了全世界超級計算機運算能力的總合崭添,在共識機制下節(jié)點作惡成本非常巨大以至于根本辦不到寓娩。比特幣作為區(qū)塊鏈的一個應用,從產生到現(xiàn)在一直穩(wěn)定的運行了近10年呼渣。
正是通過這種哈希值的聯(lián)動和pow算力證明機制棘伴,區(qū)塊鏈保證了自身的可靠性,數(shù)據(jù)一旦寫入屁置,就無法被篡改焊夸。這就像歷史一樣,發(fā)生了就是發(fā)生了蓝角,從此再無法改變阱穗。
去信任
區(qū)塊鏈通過密碼學算法和共識實現(xiàn)了信任機制。系統(tǒng)中所有節(jié)點之間無需信用基礎也可以進行交易使鹅,因為數(shù)據(jù)庫和整個系統(tǒng)的運作是公開透明的揪阶,在系統(tǒng)的規(guī)則和時間范圍內,節(jié)點之間無法欺騙彼此患朱;依靠密碼學基礎和共識機制也保證了每一個打包區(qū)塊的礦工可靠性鲁僚,進而保證了每一個區(qū)塊數(shù)據(jù)的可靠性,用密碼學和共識機制讓每一個參與節(jié)點無需有現(xiàn)實的信用基礎也能夠互相信任裁厅。這是傳統(tǒng)中心化無法做到的一點冰沙。
區(qū)塊鏈的應用場景
去中心化游戲
過去我們玩的游戲都是中心化的,即游戲運行在開發(fā)商的服務器中执虹,開發(fā)商可以隨意改編規(guī)則或者更改你的游戲賬戶的各種參數(shù)倦淀。玩家不能真正的掌控游戲。去中心化游戲讓游戲運行流轉都在分布式節(jié)點中進行声畏,游戲代碼開源供所有玩家檢閱撞叽,杜絕暗箱操作姻成,使游戲更加的公平。
區(qū)塊鏈存證系統(tǒng)
我們可以將商業(yè)合同票據(jù)等上鏈保存,以去中心化的特性發(fā)布到區(qū)塊鏈上,增加了存證的公信力,并且發(fā)布后即不可篡改愿棋。前段時間深圳騰訊聯(lián)合稅務局已經試點開出了全國首個區(qū)塊鏈稅票科展。
區(qū)塊鏈商品溯源系統(tǒng)
商品溯源,將商品從產地到最終流入消費者手中的所有流轉信息,都用區(qū)塊鏈記錄下來糠雨,任何人均可對商品溯源才睹,保證真實可信。
虛擬貨幣
比特幣甘邀、以太幣等等虛擬貨幣就是區(qū)塊鏈的實際應用琅攘,虛擬貨幣也是目前區(qū)塊鏈應用最為成熟的領域。除了這兩個外目前已經存在的幣種超過幾千種松邪∥肭伲總市值超過2000億美元。
區(qū)塊鏈的局限
當然區(qū)塊鏈也有很多弊端逗抑,比如效率低下不能滿足規(guī)木绶化高頻應用;重復存儲帶來的存儲資源浪費邮府;試錯成本高荧关;51%攻擊等等,本文作為方便新手理解區(qū)塊鏈的目的便不再詳細說明