關于數據庫和區塊鏈,總會有很多的困惑。區塊鏈其實是一種數據庫,因為他是數字賬本,并且在區塊的數據結構上存儲信息。數據庫中存儲信息的結構被稱為表格。但是,區塊鏈是數據庫,數據庫可不是區塊鏈。他們雖然都是存儲信息的,但是設計卻完全不同,所以不可以互換。而且,這兩者存在的目標也不同,所以對于很多人來說,他們不是很清楚為什么區塊鏈是需要的,以及為什么數據庫更適合存儲某些數據。首先,我們來看看數據庫和區塊鏈之間的區別。
數據庫
傳統數據庫是用來存儲信息的數據結構。這包含能夠用來制作支持各類商業,金融和管理決定的報告,所需要的數據。政府也會使用數據庫來存儲大型數據,可以會有幾百萬個記錄。數據庫從文件分級系統開始,提供了最基本的信息獲取和存儲功能。然后,數據庫使用相關的模型,通過將多個數據庫進行相關,可以有更多復雜的方式來獲得數據。存儲在數據庫中的信息可以使用管理系統來進行管理。簡單的數據庫被存儲在數據行列中,被稱為表格。表格中包含不同領域,用來定義不同記錄的種類,存儲數據被稱為屬性。每個領域包含列和航,代表存儲的記錄。
數據庫是被管理員可以修改,管理和控制的。數據庫總是會有管理員,并且可以完全控制數據庫。他們可以創建,刪除,修改數據庫中的任何記錄。他們能優化數據庫的性能和大小。越大的數據庫就會有更慢的性能,所以管理員可以使用方法來優化。管理員也可以把這個身份轉給別人。例如,管理員可以把身份轉給另外的用戶,讓他們來進行數據庫備份。但是,問題也會有,例如服務器跨了,唯一的方法就是從備份恢復。數據庫也是遞歸的,也就是說你可以回去重復某個任務,或者說刪除任務。如果信息已經備份,那么管理員就會刪除之前的記錄和其他過期信息。比如你在現在數據庫寫入了“John Smith”,現在需要更新住址。但是現在已經有“John Smith”的備份了,所以你可以通過現有數據庫的新地址進行更新。
數據庫可以通過服務器架構來實現。這是因為計算機需要連接服務器,它們管理數據庫,從而可以獲得信息和存儲的數據。最初地時候,數據庫客戶端使用ODBC連接,這是由管理員設定的,然后連接到數據庫。這個客戶端軟件然后就會運行,來完成加密連接,但是必須要有權限才能進入。這個權限能夠被管理員設置,或者用戶通過密碼也可以進入。這就是為什么用戶賬號會被創造,可以讓認證的用戶進入,同時拒絕那些沒有認證的。現在大多數系統,都會使用網頁接口。但是對于私人信息,還是需要認證,但是公開數據庫就可以很容易地通過網頁進入。
我們可以看出,數據庫需要足夠的控制,這會讓它高度中心化。同時,這也是需要允許的,也就是說需要管理員來設定如何讓用戶進入。在生產環境下,DB管理員需要設定只讀權限,他們也需要給用戶設定更新和寫入的權限。傳統數據庫的中心化會保證系統的安全和信任。很多數據庫都會在私人網絡下運行,同時背后是大公司的防火墻。其他也有數據庫是基于云服務器。但是他們仍然是需要管理員來控制他們。
區塊鏈
對于區塊鏈的描述,我們會想到比特幣。但是也有很多在企業環境下運行的私有鏈。區塊鏈在2009年誕生,比特幣是基于它的第一個系統。在比特幣系統中,區塊鏈是不可更改的數字賬本,并且也是逐漸增長的加密分布式數據庫。區塊鏈會在同等大小的區塊中存儲信息。每個區塊都會包含前個區塊的哈希信息,從而提供加密安全性。這個哈希的信息就是前個區塊中的數據和簽名,并且前個區塊的哈希會回到區塊鏈的首個區塊,被稱為“創世區塊”。整個信息就會通過哈希通過,并且指向下個區塊的地址。區塊鏈數據結構,例如默克爾樹,是很有效地數據驗證方式。
為了讓區塊能夠加入到區塊鏈上,整個過程中包含了博弈論。網絡中作為節點的計算機被稱為“礦工”,必須要競爭來從nonce中找出正確的數值。礦工必須要用計算資源來解決這個數值,而且這也需要計算機硬件。區塊鏈內置的協議,可以通過全網算力來得出解決難題的難易程度。這意味著如果有越多的礦工,解決問題的難度也就越高。這是因為如果有更多礦工,網絡上就會有更多的計算資源,同時提高了哈希力,也就是h/s。一旦礦工驗證了區塊,他們會因為提供算力而獲得獎勵。這部分激勵就是推動節點來挖礦的動力,因為他們會獲得交易費用和代幣。在比特幣中,這也被稱為工作量證明算法。
審核編輯:符乾江
-
數據庫
+關注
關注
7文章
3765瀏覽量
64276 -
智能計算
+關注
關注
0文章
176瀏覽量
16454
發布評論請先 登錄
相關推薦
評論