區(qū)塊鏈數(shù)據(jù)庫NoSQL,區(qū)塊鏈數(shù)據(jù)庫技術

區(qū)塊鏈開發(fā)學什么數(shù)據(jù)庫比較好?

區(qū)塊鏈是去中心化的系統(tǒng),但是由于區(qū)塊鏈中的區(qū)塊能保存的數(shù)據(jù)有限,因而區(qū)塊鏈+數(shù)據(jù)庫(云存儲、分布式數(shù)據(jù)庫等)這種形式是在區(qū)塊鏈項目中應用比較多的一種設計。

網(wǎng)站設計制作過程拒絕使用模板建站;使用PHP+MYSQL原生開發(fā)可交付網(wǎng)站源代碼;符合網(wǎng)站優(yōu)化排名的后臺管理系統(tǒng);做網(wǎng)站、成都做網(wǎng)站收費合理;免費進行網(wǎng)站備案等企業(yè)網(wǎng)站建設一條龍服務.我們是一家持續(xù)穩(wěn)定運營了十余年的成都創(chuàng)新互聯(lián)網(wǎng)站建設公司。

在這種前提下,可以選擇的數(shù)據(jù)庫也有很多,比如輕量級的sqlite,可以作為app的基礎數(shù)據(jù)存儲支持,需要更大數(shù)據(jù)量性能支持的也有mysql、oracle可以使用,另外在項目緩存服務中也可以選擇使用各種key-value數(shù)據(jù)庫,如常用的redis,Memcache等來作為緩存支持,當然各種分布式數(shù)據(jù)庫系統(tǒng)也是現(xiàn)今發(fā)展的一個方向,比如阿里巴巴研發(fā)的OceanBase就是一款金融級分布式關系數(shù)據(jù)庫,RethinkDB則是一款擁有免費授權與商用授權的分布式數(shù)據(jù)庫??傊?,需要學習的數(shù)據(jù)庫不是一個兩個的問題,而是需要根據(jù)實際情況入手從基本的關系型數(shù)據(jù)庫開始學習,在此基礎上再不斷提高,學習NoSql數(shù)據(jù)庫以及分布式數(shù)據(jù)庫系統(tǒng)開發(fā)是比較好的一個學習路線。鏈喬在線誠意奉上。

什么是區(qū)塊鏈?

【定義】

區(qū)塊鏈(Blockchain)是指通過去中心化和去信任的方式集體維護一個可靠數(shù)據(jù)庫的技術方案。該技術方案讓參與系統(tǒng)中的任意多個節(jié)點,把一段時間系統(tǒng)內全部信息交流的數(shù)據(jù),通過密碼學算法計算和記錄到一個數(shù)據(jù)塊(block),并且生成該數(shù)據(jù)塊的指紋用于鏈接(chain)下個數(shù)據(jù)塊和校驗,系統(tǒng)所有參與節(jié)點來共同認定記錄是否為真。

區(qū)塊鏈是一種類似于NoSQL(非關系型數(shù)據(jù)庫)這樣的技術解決方案統(tǒng)稱,并不是某種特定技術,能夠通過很多編程語言和架構來實現(xiàn)區(qū)塊鏈技術。并且實現(xiàn)區(qū)塊鏈的方式種類也有很多,目前常見的包括POW(Proof of Work,工作量證明),POS(Proof of Stake,權益證明),DPOS(Delegate Proof of Stake,股份授權證明機制)等。

區(qū)塊鏈的概念首次在論文《比特幣:一種點對點的電子現(xiàn)金系統(tǒng)(Bitcoin:A Peer-to-Peer Electronic Cash System)》中提出,作者為自稱中本聰(Satoshi Nakamoto)的個人(或團體)。因此可以把比特幣看成區(qū)塊鏈的首個在金融支付領域中的應用。

【通俗解釋】

無論多大的系統(tǒng)或者多小的網(wǎng)站,一般在它背后都有數(shù)據(jù)庫。那么這個數(shù)據(jù)庫由誰來維護?在一般情況下,誰負責運營這個網(wǎng)絡或者系統(tǒng),那么就由誰來進行維護。如果是微信數(shù)據(jù)庫肯定是騰訊團隊維護,淘寶的數(shù)據(jù)庫就是阿里的團隊在維護。大家一定認為這種方式是天經(jīng)地義的,但是區(qū)塊鏈技術卻不是這樣。

如果我們把數(shù)據(jù)庫想象成是一個賬本:比如支付寶就是很典型的賬本,任何數(shù)據(jù)的改變就是記賬型的。數(shù)據(jù)庫的維護我們可以認為是很簡單的記賬方式。在區(qū)塊鏈的世界也是這樣,區(qū)塊鏈系統(tǒng)中的每一個人都有機會參與記賬。系統(tǒng)會在一段時間內,可能選擇十秒鐘內,也可能十分鐘,選出這段時間記賬最快最好的人,由這個人來記賬,他會把這段時間數(shù)據(jù)庫的變化和賬本的變化記在一個區(qū)塊(block)中,我們可以把這個區(qū)塊想象成一頁紙上,系統(tǒng)在確認記錄正確后,會把過去賬本的數(shù)據(jù)指紋鏈接(chain)這張紙上,然后把這張紙發(fā)給整個系統(tǒng)里面其他的所有人。然后周而復始,系統(tǒng)會尋找下一個記賬又快又好的人,而系統(tǒng)中的其他所有人都會獲得整個賬本的副本。這也就意味著這個系統(tǒng)每一個人都有一模一樣的賬本,這種技術,我們就稱之為區(qū)塊鏈技術(Blockchain),也稱為分布式賬本技術。

由于每個人(計算機)都有一模一樣的賬本,并且每個人(計算機)都有著完全相等的權利,因此不會由于單個人(計算機)失去聯(lián)系或宕機,而導致整個系統(tǒng)崩潰。既然有一模一樣的賬本,就意味著所有的數(shù)據(jù)都是公開透明的,每一個人可以看到每一個賬戶上到底有什么數(shù)字變化。它非常有趣的特性就是,其中的數(shù)據(jù)無法篡改。因為系統(tǒng)會自動比較,會認為相同數(shù)量最多的賬本是真的賬本,少部分和別人數(shù)量不一樣的賬本是虛假的賬本。在這種情況下,任何人篡改自己的賬本是沒有任何意義的,因為除非你能夠篡改整個系統(tǒng)里面大部分節(jié)點。如果整個系統(tǒng)節(jié)點只有五個、十個節(jié)點也許還容易做到,但是如果有上萬個甚至上十萬個,并且還分布在互聯(lián)網(wǎng)上的任何角落,除非某個人能控制世界上大多數(shù)的電腦,否則不太可能篡改這樣大型的區(qū)塊鏈。

【要素】

結合區(qū)塊鏈的定義,我們認為必須具有如下四點要素才能被稱為公開區(qū)塊鏈技術,如果只具有前3點要素,我們將認為其為私有區(qū)塊鏈技術(私有鏈)。

1、點對點的對等網(wǎng)絡(權力對等、物理點對點連接)

2、可驗證的數(shù)據(jù)結構(可驗證的PKC體系,不可篡改數(shù)據(jù)庫)

3、分布式的共識機制(解決拜占庭將軍問題,解決雙重支付)

4、納什均衡的博弈設計(合作是演化穩(wěn)定的策略)

【特性】

結合定義區(qū)塊鏈的定義,區(qū)塊鏈會現(xiàn)實出四個主要的特性:去中心化(Decentralized)、去信任(Trustless)、集體維護(Collectively maintain)、可靠數(shù)據(jù)庫(Reliable Database)。并且由四個特性會引申出另外2個特性:開源(Open Source)、隱私保護(Anonymity)。如果一個系統(tǒng)不具備這些特征,將不能視其為基于區(qū)塊鏈技術的應用。

去中心化(Decentralized):整個網(wǎng)絡沒有中心化的硬件或者管理機構,任意節(jié)點之間的權利和義務都是均等的,且任一節(jié)點的損壞或者失去都會不影響整個系統(tǒng)的運作。因此也可以認為區(qū)塊鏈系統(tǒng)具有極好的健壯性。

去信任(Trustless):參與整個系統(tǒng)中的每個節(jié)點之間進行數(shù)據(jù)交換是無需互相信任的,整個系統(tǒng)的運作規(guī)則是公開透明的,所有的數(shù)據(jù)內容也是公開的,因此在系統(tǒng)指定的規(guī)則范圍和時間范圍內,節(jié)點之間是不能也無法欺騙其它節(jié)點。

集體維護(Collectively maintain):系統(tǒng)中的數(shù)據(jù)塊由整個系統(tǒng)中所有具有維護功能的節(jié)點來共同維護的,而這些具有維護功能的節(jié)點是任何人都可以參與的。

可靠數(shù)據(jù)庫(Reliable Database):整個系統(tǒng)將通過分數(shù)據(jù)庫的形式,讓每個參與節(jié)點都能獲得一份完整數(shù)據(jù)庫的拷貝。除非能夠同時控制整個系統(tǒng)中超過51%的節(jié)點,否則單個節(jié)點上對數(shù)據(jù)庫的修改是無效的,也無法影響其他節(jié)點上的數(shù)據(jù)內容。因此參與系統(tǒng)中的節(jié)點越多和計算能力越強,該系統(tǒng)中的數(shù)據(jù)安全性越高。

開源(Open Source):由于整個系統(tǒng)的運作規(guī)則必須是公開透明的,所以對于程序而言,整個系統(tǒng)必定會是開源的。

隱私保護(Anonymity):由于節(jié)點和節(jié)點之間是無需互相信任的,因此節(jié)點和節(jié)點之間無需公開身份,在系統(tǒng)中的每個參與的節(jié)點的隱私都是受到保護的。

如何用最簡單的方式解讀區(qū)塊鏈?

大家最近天天都能聽到區(qū)塊鏈這個詞,那什么是區(qū)塊鏈呢?“分布式、難以篡改、一致存儲”等解釋太技術化且較為干澀。我這里來通俗的科普下:區(qū)塊鏈主要為了解決互不信任的個體之間的信任問題。

舉個通俗的例子:話說老李和老王一個村,老李最近手頭有點緊,想向老王借點錢。老王呢,擔心借了老李后他賴賬怎么辦,于是找來“德高望重”的村長,不過想想,村長也不可信,以前村長還偷過別人家的地瓜??!怎么辦?

區(qū)塊鏈的方法是:老王借了1000塊錢給老李后,然后用大喇叭在村里大喊“我老王今天借了老李1000元錢,大家都趕緊記錄下”,于是村里的所有人都記錄在了自己家里的賬本上,謹慎的保管了起來。這下可好,老李再也賴不過了,村里即便有不守信的人,那還是好人多呀,老李也不可能找村里全部的人偷偷抹掉自己的借錢記錄的。就這樣,區(qū)塊鏈解決了互不信任的老王和老李之間的借錢的信任問題。

在沒有出現(xiàn)區(qū)塊鏈之前,我們是如何解決互不信任個體間的信任問題呢?簡單啊,找兩者都信任的“德高望重”的“見證人”就好了,例如故事里的村長,例如買賣雙方之間的支付寶,例如公證處等等。不過可能這類“見證人”也不一定一直誠信下去,所以區(qū)塊鏈干脆就讓大家都作為見證人。

老王放心了,但老李頭疼??!老李要等村里人都記錄好了才能拿到借給他的錢,誰家還沒個大爺大媽手腳慢一些的。所以目前區(qū)塊鏈距離應用還有一定的距離,效率問題需要得到大幅提升才可以。

回想一下,你平時是怎么和別人交易的:一件漂亮的衣服,你可以在實體店挑好,確認好了對方衣服質量不錯,對方確認你的錢是真錢,那么我們面對面一手交錢一手拿貨。

要是我們隔著十萬八千里,彼此既不認識也不信任還是想交易呢?那就要有我們都信任的第三方了,也就是達成所謂的共識機制。比如:你可以在淘寶通過第三方見證擔保完成交易,錢先給支付寶——支付寶收款讓賣家發(fā)貨——賣家發(fā)貨——你確認收貨——支付寶再把錢給賣家。

但是,倘若這個中心化的機構作惡了,馬爸爸撕了賬本,不承認你給了錢,或者和賣家聯(lián)合起來騙你錢,那可怎么辦?

又或者政府借了你一100萬,最后用超發(fā)貨幣的方式還給你錢,100萬縮水到1萬,由你來承受通貨膨脹的損失,你又怎么辦?

有沒有不被任何政府、組織機構控制,能公開透明的完成仲裁,記錄了就不被篡改,沒有跑路風險的第三方呢?

別著急,我們的主角區(qū)塊鏈技術解決就是這樣的問題——你們之間的交易可以被所有在這個區(qū)塊鏈系統(tǒng)的人見證,大家的小賬本里頭都會記錄你們的交易。B如果否認收了A的錢,或者A說自己借了300塊錢,都會被路人甲乙丙丁質疑。具體是如何做到的呢?

1)系統(tǒng)給每個人都發(fā)了個小賬本,讓每個人都有記賬的權利,咱們稱之為分布式記賬。

2)為了鼓勵大家?guī)蛣e人記賬,系統(tǒng)代碼設定將比特幣這樣的代幣獎勵給記賬者,為了防止一堆人記賬堵死,還將代幣設為有限個,甲乙丙丁需要通過系統(tǒng)規(guī)定的機制進行計算,算的最快最好的才能獲得記賬的權利,記錄之后通過系統(tǒng)廣播給大家,所有人復制一份相同的賬本,這個通過計算獲得獎勵的過程就叫挖礦,記賬的路人甲乙丙丁就是礦工。

3)有一天,最初記錄這筆交易的甲Game Over了,這個賬本卻還是存在在其他人的賬本里,A和B誰想否認都不行。我們把通過代碼寫好了如何仲裁和分配,無需銀行、政府、企業(yè)等中心化組織機構作為第三方見證(去中心化),直接點對點(P2P)交易的方式,稱為去中心化。

4)系統(tǒng)把多個交易打包成區(qū)塊,按時間順序鏈接起來成為最后人手一本的賬本,這就是區(qū)塊鏈技術

其實把區(qū)塊鏈簡單理解為賬本不過是最淺顯的解讀了,把它的每個特點拆分開來,所能應用的領域很多很多。

現(xiàn)在傳統(tǒng)金融行業(yè)、券商、投資機構正在跑步入場,物聯(lián)網(wǎng), 游戲 ,儲存,版權,防偽,征信,支付,預測市場(賭博之類)、社區(qū)等眾多領域已經(jīng)開始了區(qū)塊鏈的 探索 應用。

互聯(lián)網(wǎng)讓萬物皆可連,區(qū)塊鏈能否讓所連皆可信呢?

我用天地自然運化的奇石解讀一下區(qū)塊鏈:

所有科學、哲學、道義??天地都包涵著。任何一個事物、任何一種文化都與天地道化有關。

區(qū)塊鏈自然逃不脫天地運化法:即順然、隨然、無窮、無常。

它就是這塊奇石,其表面整體上的數(shù)據(jù)運化,一是,整體向著無形無象。二是線點守著一個規(guī)律:即無常之道。就是說它們每條線,每個點,追求的都不是一個閉合的目標和一個局限的目的。這樣說大家我好理解了:一個畫家要畫一只雞,是有目的的,有終結相的,而奇石,大自然造化時,是沒有終結相的。所以相不閉合,線、點數(shù)據(jù)也不終結。區(qū)塊連接之技術,就是這個天運之道。無常運化無形無象,永無終結。(無中心化,就是無形無相,形式不封閉,結構不封閉,思想不封閉??如“石”辦事就行)。

山東曲阜孔子靈石館

大家好,我是皮皮,我在這里用幾個生活小例子給大家解讀一下什么叫區(qū)塊鏈?

去中心化,不可篡改級,分布式存貯的,以加密信息做鏈接地址的數(shù)據(jù)區(qū)塊鏈接系統(tǒng),叫區(qū)塊鏈

這玩意本來就是許多高 科技 的復合品,沒法簡單,再簡單也是一大段話,而且未必能說清楚

區(qū)塊鏈(Blockchain)嚴格的定義是指通過基于密碼學技術設計的共識機制方式,在對等網(wǎng)絡中多個節(jié)點共同維護一個持續(xù)增長,由時間戳和有序記錄數(shù)據(jù)塊所構建的鏈式列表賬本的分布式數(shù)據(jù)庫技術。該技術方案讓參與系統(tǒng)中的任意多個節(jié)點,把一段時間系統(tǒng)內全部信息交流的數(shù)據(jù),通過密碼學算法計算和記錄到一個數(shù)據(jù)塊(block),并且生成該數(shù)據(jù)塊的指紋用于鏈接(chain)下個數(shù)據(jù)塊和校驗,系統(tǒng)所有參與節(jié)點來共同認定記錄是否為真。

區(qū)塊鏈是一種類似于NoSQL(非關系型數(shù)據(jù)庫)這樣的技術解決方案統(tǒng)稱,并不是某種特定技術,能夠通過很多編程語言和架構來實現(xiàn)區(qū)塊鏈技術。并且實現(xiàn)區(qū)塊鏈的方式種類也有很多,目前常見的包括POW(Proof of Work,工作量證明),POS(Proof of Stake,權益證明),DPOS(Delegate Proof of Stake,股份授權證明機制)等。

區(qū)塊鏈的概念首次在論文《比特幣:一種點對點的電子現(xiàn)金系統(tǒng)(Bitcoin: A Peer-to-Peer Electronic Cash System)》中提出,作者為自稱中本聰(Satoshi Nakamoto)的個人(或團體)。因此可以把比特幣看成區(qū)塊鏈的首個在金融支付領域中的應用。

【通俗解釋】

無論多大的系統(tǒng)或者多小的網(wǎng)站,一般在它背后都有數(shù)據(jù)庫。那么這個數(shù)據(jù)庫由誰來維護?在一般情況下,誰負責運營這個網(wǎng)絡或者系統(tǒng),那么就由誰來進行維護。如果是微信數(shù)據(jù)庫肯定是騰訊團隊維護,淘寶的數(shù)據(jù)庫就是阿里的團隊在維護。大家一定認為這種方式是天經(jīng)地義的,但是區(qū)塊鏈技術卻不是這樣。

如果我們把數(shù)據(jù)庫想象成是一個賬本:比如支付寶就是很典型的賬本,任何數(shù)據(jù)的改變就是記賬型的。數(shù)據(jù)庫的維護我們可以認為是很簡單的記賬方式。在區(qū)塊鏈的世界也是這樣,區(qū)塊鏈系統(tǒng)中的每一個人都有機會參與記賬。系統(tǒng)會在一段時間內,可能選擇十秒鐘內,也可能十分鐘,選出這段時間記賬最快最好的人,由這個人來記賬,他會把這段時間數(shù)據(jù)庫的變化和賬本的變化記在一個區(qū)塊(block)中,我們可以把這個區(qū)塊想象成一頁紙上,系統(tǒng)在確認記錄正確后,會把過去賬本的數(shù)據(jù)指紋鏈接(chain)這張紙上,然后把這張紙發(fā)給整個系統(tǒng)里面其他的所有人。然后周而復始,系統(tǒng)會尋找下一個記賬又快又好的人,而系統(tǒng)中的其他所有人都會獲得整個賬本的副本。這也就意味著這個系統(tǒng)每一個人都有一模一樣的賬本,這種技術,我們就稱之為區(qū)塊鏈技術(Blockchain),也稱為分布式賬本技術。

由于每個人(計算機)都有一模一樣的賬本,并且每個人(計算機)都有著完全相等的權利,因此不會由于單個人(計算機)失去聯(lián)系或宕機,而導致整個系統(tǒng)崩潰。既然有一模一樣的賬本,就意味著所有的數(shù)據(jù)都是公開透明的,每一個人可以看到每一個賬戶上到底有什么數(shù)字變化。它非常有趣的特性就是,其中的數(shù)據(jù)無法篡改。因為系統(tǒng)會自動比較,會認為相同數(shù)量最多的賬本是真的賬本,少部分和別人數(shù)量不一樣的賬本是虛假的賬本。在這種情況下,任何人篡改自己的賬本是沒有任何意義的,因為除非你能夠篡改整個系統(tǒng)里面大部分節(jié)點。如果整個系統(tǒng)節(jié)點只有五個、十個節(jié)點也許還容易做到,但是如果有上萬個甚至上十萬個,并且還分布在互聯(lián)網(wǎng)上的任何角落,除非某個人能控制世界上大多數(shù)的電腦,否則不太可能篡改這樣大型的區(qū)塊鏈。

【要素】

結合區(qū)塊鏈的定義,我們認為必須具有如下四點要素才能被稱為公開區(qū)塊鏈技術,如果只具有前3點要素,我們將認為其為私有區(qū)塊鏈技術(私有鏈)。

1、點對點的對等網(wǎng)絡(權力對等、物理點對點連接)

2、可驗證的數(shù)據(jù)結構(可驗證的PKC體系,不可篡改數(shù)據(jù)庫)

3、分布式的共識機制(解決拜占庭將軍問題,解決雙重支付)

4、納什均衡的博弈設計(合作是演化穩(wěn)定的策略)

【特性】

結合定義區(qū)塊鏈的定義,區(qū)塊鏈會現(xiàn)實出四個主要的特性:去中心化(Decentralized)、去信任(Trustless)、集體維護(Collectively maintain)、可靠數(shù)據(jù)庫(Reliable Database)。并且由四個特性會引申出另外2個特性:開源(Open Source)、隱私保護(Anonymity)。如果一個系統(tǒng)不具備這些特征,將不能視其為基于區(qū)塊鏈技術的應用。

去中心化(Decentralized):整個網(wǎng)絡沒有中心化的硬件或者管理機構,任意節(jié)點之間的權利和義務都是均等的,且任一節(jié)點的損壞或者失去都會不影響整個系統(tǒng)的運作。因此也可以認為區(qū)塊鏈系統(tǒng)具有極好的健壯性。

去信任(Trustless):參與整個系統(tǒng)中的每個節(jié)點之間進行數(shù)據(jù)交換是無需互相信任的,整個系統(tǒng)的運作規(guī)則是公開透明的,所有的數(shù)據(jù)內容也是公開的,因此在系統(tǒng)指定的規(guī)則范圍和時間范圍內,節(jié)點之間是不能也無法欺騙其它節(jié)點。

集體維護(Collectively maintain):系統(tǒng)中的數(shù)據(jù)塊由整個系統(tǒng)中所有具有維護功能的節(jié)點來共同維護的,而這些具有維護功能的節(jié)點是任何人都可以參與的。

可靠數(shù)據(jù)庫(Reliable Database):整個系統(tǒng)將通過分數(shù)據(jù)庫的形式,讓每個參與節(jié)點都能獲得一份完整數(shù)據(jù)庫的拷貝。除非能夠同時控制整個系統(tǒng)中超過51%的節(jié)點,否則單個節(jié)點上對數(shù)據(jù)庫的修改是無效的,也無法影響其他節(jié)點上的數(shù)據(jù)內容。因此參與系統(tǒng)中的節(jié)點越多和計算能力越強,該系統(tǒng)中的數(shù)據(jù)安全性越高。

開源(Open Source):由于整個系統(tǒng)的運作規(guī)則必須是公開透明的,所以對于程序而言,整個系統(tǒng)必定會是開源的。

隱私保護(Anonymity):由于節(jié)點和節(jié)點之間是無需互相信任的,因此節(jié)點和節(jié)點之間無需公開身份,在系統(tǒng)中的每個參與的節(jié)點的隱私都是受到保護的。

【區(qū)塊鏈意義之一 :解決拜占庭將軍問題】

區(qū)塊鏈解決的核心問題不是“數(shù)字貨幣”,而是在信息不對稱、不確定的環(huán)境下,如何建立滿足經(jīng)濟活動賴以發(fā)生、發(fā)展的“信任”生態(tài)體系。而這個問題稱之為“拜占庭將軍問題”,也可稱為“拜占庭容錯”或者“兩軍問題”,這是一個分布式系統(tǒng)中進行信息機交互時面臨的難題,即在整個網(wǎng)絡中的任意節(jié)點都無法信任與之通信的對方時,如何能創(chuàng)建出共識基礎來進行安全的信息交互而無需擔心數(shù)據(jù)被篡改。區(qū)塊鏈使用算法證明機制來保證整個網(wǎng)絡的安全,借助它,整個系統(tǒng)中的所有節(jié)點能夠在去信任的環(huán)境下自動安全的交換數(shù)據(jù)。更多介紹請參見《比特幣與拜占庭將軍問題》。

【區(qū)塊鏈意義之二:實現(xiàn)跨國價值轉移】

互聯(lián)網(wǎng)誕生最初,最早核心解決的問題是信息制造和傳輸,我們可以通過互聯(lián)網(wǎng)將信息快速生成并且復制到全世界每一個有著網(wǎng)絡的角落,但是它尚始終不能解決價值轉移和信用轉移。這里所謂的價值轉移是指,在網(wǎng)絡中每個人都能夠認可和確認的方式,將某一部分價值精確的從某一個地址轉移到另一個地址,而且必須確保當價值轉移后,原來的地址減少了被轉移的部分,而新的地址增加了所轉移的價值。這里說的價值可以是貨幣資產(chǎn),也可以是某種實體資產(chǎn)或者虛擬資產(chǎn)(包括有價證券、金融衍生品等)。而這操作的結果必須獲得所有參與方的認可,且其結果不能受到任何某一方的操縱。

在目前的互聯(lián)網(wǎng)中也有各種各樣的金融體系,也有許多政府銀行提供或者第三方提供的支付系統(tǒng),但是它還是依靠中心化的方案來解決。所謂中心化的方案,就是通過某個公司或者政府信用作為背書,將所有的價值轉移計算放在一個中心服務器(集群)中,盡管所有的計算也是由程序自動完成,但是卻必須信任這個中心化的人或者機構。事實上通過中心化的信用背書來解決,也只能將信用局限在一定的機構、地區(qū)或者國家的范圍之內。由此可以看出,必須要解決的這個根本問題,那就是信用。所以價值轉移的核心問題是跨國信用共識。

在如此紛繁復雜的全球體系中,要憑空建立一個全球性的信用共識體系是很難的,由于每個國家的政治、經(jīng)濟和文化情況不同,對于兩個國家的企業(yè)和政府完全互信是幾乎做不到的,這也就意味著無論是以個人抑或企業(yè)政府的信用進行背書,對于跨國之間的價值交換即使可以完成,也有著巨大的時間和經(jīng)濟成本。但是在漫長的人類 歷史 中,無論每個國家的宗教、政治和文化是如何的不同,唯一能取得共識的是數(shù)學(基礎科學)。因此,可以毫不夸張的說,數(shù)學(算法)是全球文明的最大公約數(shù),也是全球人類獲得最多共識的基礎。如果我們以數(shù)學算法(程序)作為背書,所有的規(guī)則都建立一個公開透明的數(shù)學算法(程序)之上,能夠讓所有不同政治文化背景的人群獲得共識。

【未來的發(fā)展】

互聯(lián)網(wǎng)將使得全球之間的互動越來越緊密,伴隨而來的就是巨大的信任鴻溝。目前現(xiàn)有的主流數(shù)據(jù)庫技術架構都是私密且中心化的,在這個架構上是永遠無法解決價值轉移和互信問題。所以區(qū)塊鏈技術有可能將成為下一代數(shù)據(jù)庫架構。通過去中心化技術,將能夠在大數(shù)據(jù)的基礎上完成數(shù)學(算法)背書、全球互信這個巨大的進步。

區(qū)塊鏈技術作為一種特定分布式存取數(shù)據(jù)技術,它通過網(wǎng)絡中多個參與計算的節(jié)點開共同參與數(shù)據(jù)的計算和記錄,并且互相驗證其信息的有效性(防偽)。從這一點來,區(qū)塊鏈技術也是一種特定的數(shù)據(jù)庫技術。互聯(lián)網(wǎng)剛剛進入大數(shù)據(jù)時代,但是從目前來看,大數(shù)據(jù)還處于非常基礎的階段。但是當進入到區(qū)塊鏈數(shù)據(jù)庫階段,將進入到真正的強信任背書的大數(shù)據(jù)時代。這里面的所有數(shù)據(jù)都獲得堅不可摧的質量,任何人都沒有能力也沒有必要去質疑。

也許我們現(xiàn)在正處在一個重大的轉折點之上——和工業(yè)革命所帶來的深刻變革幾乎相同的重大轉折的早期階段。不僅僅是新技術指數(shù)級、數(shù)字化和組合式的進步與變革,更多的驚喜也許還會在我們前面。在未來的24個月里,這個星球所增長的計算機算力和記錄的數(shù)據(jù)將會超過所有 歷史 階段的總和。在過去的24個月里,這個增值可能已經(jīng)超過了1000倍。這些數(shù)字化的數(shù)據(jù)信息還在以比摩爾定律更快的速度增長。區(qū)塊鏈技術將不僅僅應用在金融支付領域,而是將會擴展到目前所有應用范圍,諸如去中心化的微博、微信、搜索、租房,甚至是打車軟件都有可能會出現(xiàn)。因為區(qū)塊鏈將可以讓人類無地域限制的、去信任的方式來進行大規(guī)模協(xié)作。

區(qū)塊鏈是一種技術,基于這項技術產(chǎn)生很多應用,包括與數(shù)據(jù)和信息相關的一切行業(yè)業(yè)務,比特幣就是其中最為人熟知的一種應用。對于區(qū)塊鏈的通俗解釋就是,假如在網(wǎng)上買一只口紅,首先找到心儀的產(chǎn)品和賣家下單,先把錢給中間平臺,等到賣家發(fā)貨買家確認收貨以后,中間平臺再把錢轉給賣家,因為信任問題買賣家之間都依賴于中間平臺,而區(qū)塊鏈作為去中心化的分布式賬本數(shù)據(jù)庫,則著力于去掉這個中間平臺但同時又解決信任問題。在區(qū)塊鏈中每個人擁有自己的記賬本,用來記錄發(fā)生的每一件事,假如在交易中出現(xiàn)賣家拿錢不發(fā)貨的行為,這一條記錄將永久存在不可修改,不需要互相交換信息,區(qū)塊鏈的世界會選擇在同一個時間節(jié)點記錄最快質量最好的那個人的記賬本進行復制發(fā)送并串聯(lián),最后越疊越厚形成區(qū)塊。

大家在談論虛擬貨幣時,往往離不開區(qū)塊鏈這個概念,那么區(qū)塊鏈到底是個神馬玩意呢?

區(qū)塊鏈是一種底層技術,本質上是一個去中心化的分布式賬本數(shù)據(jù)庫。聽起來好像十分高端,遙不可及,其實是很容易理解的。

舉個例子,假如要在淘寶上購買商品,那么一般首先要做的就是打開淘寶,找到想要的商品并下單將錢支付給作為交易中介的淘寶。等收到商品并確認收貨后淘寶便會將貨款打給賣家。這本來只是我和賣家的交易,但卻多了個“中心”,即淘寶。

在交易進行的過程中,這個“中心”擁有無限大的權力,甚至隨意修改賬單。因此,“中心”往往需要強大的后臺為其背書。

于是,有一個名叫中本聰?shù)哪腥讼胍傻暨@個權力無窮大的中心,他想創(chuàng)造一個去中心化的系統(tǒng),在這個系統(tǒng)里,每個人都是中心,都有記賬的權力。于是,他創(chuàng)造了比特幣。

在比特幣的系統(tǒng)中,每個人都有一個小賬本用以記錄發(fā)生的每一筆交易。一筆交易只有經(jīng)過大部分人確認后才有效。如果賣家不發(fā)貨,那么每個人的小賬本都會將這件事記錄下來,讓他無處可逃。

這時候大家可能會有疑問,既然只是一個公開的賬本,那么為什么又要叫區(qū)塊鏈呢?這就涉及到了共識問題,區(qū)塊鏈系統(tǒng)是一個由眾多“中心”組成的系統(tǒng),整個區(qū)塊鏈是屬于所有參與記賬的個體的。這時候就產(chǎn)生了新的問題,一個系統(tǒng)必須要有秩序才能長遠的存在。假如記賬者可以不計成本地胡作非為,那就可能出現(xiàn)本來只是購買一臺手機,但收到的卻是一臺特斯拉的情況。

于是,中本聰發(fā)明了一種名為PoW的共識方式。這種方式提高了記賬者記賬的成本,讓其不能輕易作惡。PoW通過密碼學的方式要求記賬者需要通過競爭計算能力來獲取記賬權,第一個計算出結果的記賬者即可獲得一個由若干筆交易打包而來的區(qū)塊的記賬權,同時獲得一定的代幣作為獎勵。這就是我們俗稱的“挖礦”。

既然記賬者已經(jīng)將一個包含了若干筆交易的區(qū)塊記錄了下來,那么系統(tǒng)就需要進行整理排序,不可能讓無數(shù)的區(qū)塊雜亂無章地分布在系統(tǒng)中。于是就需要把所有區(qū)塊按照時間順序首尾相連鏈接鏈接起來,這時,區(qū)塊鏈便誕生了。區(qū)塊鏈的核心是技術。

區(qū)塊鏈的核心技術是什么?

簡單來說,區(qū)塊鏈是一個提供了拜占庭容錯、并保證了最終一致性的分布式數(shù)據(jù)庫;從數(shù)據(jù)結構上看,它是基于時間序列的鏈式數(shù)據(jù)塊結構;從節(jié)點拓撲上看,它所有的節(jié)點互為冗余備份;從操作上看,它提供了基于密碼學的公私鑰管理體系來管理賬戶。

或許以上概念過于抽象,我來舉個例子,你就好理解了。

你可以想象有 100 臺計算機分布在世界各地,這 100 臺機器之間的網(wǎng)絡是廣域網(wǎng),并且,這 100 臺機器的擁有者互相不信任。

那么,我們采用什么樣的算法(共識機制)才能夠為它提供一個可信任的環(huán)境,并且使得:

節(jié)點之間的數(shù)據(jù)交換過程不可篡改,并且已生成的歷史記錄不可被篡改;

每個節(jié)點的數(shù)據(jù)會同步到最新數(shù)據(jù),并且會驗證最新數(shù)據(jù)的有效性;

基于少數(shù)服從多數(shù)的原則,整體節(jié)點維護的數(shù)據(jù)可以客觀反映交換歷史。

區(qū)塊鏈就是為了解決上述問題而產(chǎn)生的技術方案。

二、區(qū)塊鏈的核心技術組成

無論是公鏈還是聯(lián)盟鏈,至少需要四個模塊組成:P2P 網(wǎng)絡協(xié)議、分布式一致性算法(共識機制)、加密簽名算法、賬戶與存儲模型。

1、P2P 網(wǎng)絡協(xié)議

P2P 網(wǎng)絡協(xié)議是所有區(qū)塊鏈的最底層模塊,負責交易數(shù)據(jù)的網(wǎng)絡傳輸和廣播、節(jié)點發(fā)現(xiàn)和維護。

通常我們所用的都是比特幣 P2P 網(wǎng)絡協(xié)議模塊,它遵循一定的交互原則。比如:初次連接到其他節(jié)點會被要求按照握手協(xié)議來確認狀態(tài),在握手之后開始請求 Peer 節(jié)點的地址數(shù)據(jù)以及區(qū)塊數(shù)據(jù)。

這套 P2P 交互協(xié)議也具有自己的指令集合,指令體現(xiàn)在在消息頭(Message Header) 的 命令(command)域中,這些命令為上層提供了節(jié)點發(fā)現(xiàn)、節(jié)點獲取、區(qū)塊頭獲取、區(qū)塊獲取等功能,這些功能都是非常底層、非?;A的功能。如果你想要深入了解,可以參考比特幣開發(fā)者指南中的 Peer Discovery 的章節(jié)。

2、分布式一致性算法

在經(jīng)典分布式計算領域,我們有 Raft 和 Paxos 算法家族代表的非拜占庭容錯算法,以及具有拜占庭容錯特性的 PBFT 共識算法。

如果從技術演化的角度來看,我們可以得出一個圖,其中,區(qū)塊鏈技術把原來的分布式算法進行了經(jīng)濟學上的拓展。

在圖中我們可以看到,計算機應用在最開始多為單點應用,高可用方便采用的是冷災備,后來發(fā)展到異地多活,這些異地多活可能采用的是負載均衡和路由技術,隨著分布式系統(tǒng)技術的發(fā)展,我們過渡到了 Paxos 和 Raft 為主的分布式系統(tǒng)。

而在區(qū)塊鏈領域,多采用 PoW 工作量證明算法、PoS 權益證明算法,以及 DPoS 代理權益證明算法,以上三種是業(yè)界主流的共識算法,這些算法與經(jīng)典分布式一致性算法不同的是,它們融入了經(jīng)濟學博弈的概念,下面我分別簡單介紹這三種共識算法。

PoW: 通常是指在給定的約束下,求解一個特定難度的數(shù)學問題,誰解的速度快,誰就能獲得記賬權(出塊)權利。這個求解過程往往會轉換成計算問題,所以在比拼速度的情況下,也就變成了誰的計算方法更優(yōu),以及誰的設備性能更好。

PoS: 這是一種股權證明機制,它的基本概念是你產(chǎn)生區(qū)塊的難度應該與你在網(wǎng)絡里所占的股權(所有權占比)成比例,它實現(xiàn)的核心思路是:使用你所鎖定代幣的幣齡(CoinAge)以及一個小的工作量證明,去計算一個目標值,當滿足目標值時,你將可能獲取記賬權。

DPoS: 簡單來理解就是將 PoS 共識算法中的記賬者轉換為指定節(jié)點數(shù)組成的小圈子,而不是所有人都可以參與記賬。這個圈子可能是 21 個節(jié)點,也有可能是 101 個節(jié)點,這一點取決于設計,只有這個圈子中的節(jié)點才能獲得記賬權。這將會極大地提高系統(tǒng)的吞吐量,因為更少的節(jié)點也就意味著網(wǎng)絡和節(jié)點的可控。

3、加密簽名算法

在區(qū)塊鏈領域,應用得最多的是哈希算法。哈希算法具有抗碰撞性、原像不可逆、難題友好性等特征。

其中,難題友好性正是眾多 PoW 幣種賴以存在的基礎,在比特幣中,SHA256 算法被用作工作量證明的計算方法,也就是我們所說的挖礦算法。

而在萊特幣身上,我們也會看到 Scrypt 算法,該算法與 SHA256 不同的是,需要大內存支持。而在其他一些幣種身上,我們也能看到基于 SHA3 算法的挖礦算法。以太坊使用了 Dagger-Hashimoto 算法的改良版本,并命名為 Ethash,這是一個 IO 難解性的算法。

當然,除了挖礦算法,我們還會使用到 RIPEMD160 算法,主要用于生成地址,眾多的比特幣衍生代碼中,絕大部分都采用了比特幣的地址設計。

除了地址,我們還會使用到最核心的,也是區(qū)塊鏈 Token 系統(tǒng)的基石:公私鑰密碼算法。

在比特幣大類的代碼中,基本上使用的都是 ECDSA。ECDSA 是 ECC 與 DSA 的結合,整個簽名過程與 DSA 類似,所不一樣的是簽名中采取的算法為 ECC(橢圓曲線函數(shù))。

從技術上看,我們先從生成私鑰開始,其次從私鑰生成公鑰,最后從公鑰生成地址,以上每一步都是不可逆過程,也就是說無法從地址推導出公鑰,從公鑰推導到私鑰。

4、賬戶與交易模型

從一開始的定義我們知道,僅從技術角度可以認為區(qū)塊鏈是一種分布式數(shù)據(jù)庫,那么,多數(shù)區(qū)塊鏈到底使用了什么類型的數(shù)據(jù)庫呢?

我在設計元界區(qū)塊鏈時,參考了多種數(shù)據(jù)庫,有 NoSQL 的 BerkelyDB、LevelDB,也有一些幣種采用基于 SQL 的 SQLite。這些作為底層的存儲設施,多以輕量級嵌入式數(shù)據(jù)庫為主,由于并不涉及區(qū)塊鏈的賬本特性,這些存儲技術與其他場合下的使用并沒有什么不同。

區(qū)塊鏈的賬本特性,通常分為 UTXO 結構以及基于 Accout-Balance 結構的賬本結構,我們也稱為賬本模型。UTXO 是“unspent transaction input/output”的縮寫,翻譯過來就是指“未花費的交易輸入輸出”。

這個區(qū)塊鏈中 Token 轉移的一種記賬模式,每次轉移均以輸入輸出的形式出現(xiàn);而在 Balance 結構中,是沒有這個模式的。

“區(qū)塊鏈”是什么意思,將來對人們的生活有什么作用?

區(qū)塊鏈(Blockchain)是指通過去中心化和去信任的方式集體維護一個可靠數(shù)據(jù)庫的技術方案。該技術方案主要讓參與系統(tǒng)中的任意多個節(jié)點,通過一串使用密碼學方法相關聯(lián)產(chǎn)生的數(shù)據(jù)塊(block),每個數(shù)據(jù)塊中包含了一定時間內的系統(tǒng)全部信息交流數(shù)據(jù),并且生成數(shù)據(jù)指紋用于驗證其信息的有效性和鏈接(chain)下一個數(shù)據(jù)庫塊。

區(qū)塊鏈是一種類似于NoSQL(非關系型數(shù)據(jù)庫)這樣的技術解決方案統(tǒng)稱,并不是某種特定技術,能夠通過很多編程語言和架構來實現(xiàn)區(qū)塊鏈技術。并且實現(xiàn)區(qū)塊鏈的方式種類也有很多,目前常見的包括POW(Proof of Work,工作量證明),POS(Proof of Stake,權益證明),DPOS(Delegate Proof of Stake,股份授權證明機制)等。

互聯(lián)網(wǎng)將使得全球之間的互動越來越緊密,伴隨而來的就是巨大的信任鴻溝。目前現(xiàn)有的主流數(shù)據(jù)庫技術架構都是私密且中心化的,在這個架構上是永遠無法解決價值轉移和互信問題。所以區(qū)塊鏈技術有可能將成為下一代數(shù)據(jù)庫架構。通過去中心化技術,將能夠在大數(shù)據(jù)的基礎上完成數(shù)學(算法)背書、全球互信這個巨大的進步。

區(qū)塊鏈技術作為一種特定分布式存取數(shù)據(jù)技術,它通過網(wǎng)絡中多個參與計算的節(jié)點開共同參與數(shù)據(jù)的計算和記錄,并且互相驗證其信息的有效性(防偽)。從這一點來,區(qū)塊鏈技術也是一種特定的數(shù)據(jù)庫技術?;ヂ?lián)網(wǎng)剛剛進入大數(shù)據(jù)時代,但是從目前來看,大數(shù)據(jù)還處于非常基礎的階段。但是當進入到區(qū)塊鏈數(shù)據(jù)庫階段,將進入到真正的強信任背書的大數(shù)據(jù)時代。這里面的所有數(shù)據(jù)都獲得堅不可摧的質量,任何人都沒有能力也沒有必要去質疑。

網(wǎng)站名稱:區(qū)塊鏈數(shù)據(jù)庫NoSQL,區(qū)塊鏈數(shù)據(jù)庫技術
轉載來源:http://muchs.cn/article38/pheopp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設、服務器托管、微信小程序靜態(tài)網(wǎng)站、品牌網(wǎng)站制作、做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設