區塊鏈之我見

2021-09-23 05:54:04 字數 4013 閱讀 8386

區塊鏈從資料的角度看:我認為就是乙個資料管理系統:傳統的資料管理,都是中心化的-nosql/sql,區塊鏈是去中心化的,一 種全新的分布式基礎架構與計算方式。

從技術的角度看:多種技術的整合,形成了一種,記錄儲存表達資料的方式。

區塊鏈 vs 傳統資料庫:

1.支援的操作/存放的位置/使用模式

是乙個資料庫管理系統,此資料庫管理系統只支援add select資料的操作,不支援delete和update資料操作,資料庫的資料儲存在每乙個使用這個庫的客戶端記憶體/硬碟上。這個資料庫系統,即是客戶端,又是服務端。不存在資料庫的中心點之說。(由系統的參與者共同維護,集體維護)

2.資料結構

區塊鏈:資料結構是區塊,區塊之間按照時間順序順序連線,組合成鏈式資料結構,儲存在記憶體上??待確認;

資料結構是:檔案系統,儲存在硬碟上,通過檔案加索引的方式儲存;

密碼學:保證傳輸和訪問安全,是為了防盜;

共識:是為了生成資料;演算法利用分布式節點共識演算法生成和更新資料;//每個節點都遵守這個演算法。

智慧型合約:

利用由自動化指令碼**組成的智慧型合約來程式設計和運算元據的

區塊鏈執行原理:

首先要搞懂要儲存的資料塊,以及區塊

在位元幣區塊鏈中,當一筆交易經由某個節點或錢包產生時,這筆交易需要被傳送給其

它節點來作驗證。做法是將交易資料經由數字簽章加密並經由 hash 函式得出一串代表此交

易的唯一 hash 值後,再將這個 hash 值廣播(broadcast)給位元幣區塊鏈網路中的其它

參與節點進行驗證。

具體工作流程如下:

a 產生一筆新交易

b 一筆新交易產生時,會先被廣播到區塊鏈網路中的其它參與節點

c 各節點將數筆新交易放進區塊

d 每個節點會將數筆未驗證的交易 hash 值收集到區塊中,每個區塊可以包含數百筆或上千

筆交易e 決定由誰來驗證這些交易

f 各節點進行工作量證明的計算來決定誰可以驗證交易,由最快算出結果的節點來驗證交

易,這就是取得共識的做法。

g 取得驗證權的節點將區塊廣播給所有節點

h 最快完成 pow 的節點,會將自己的區塊廣播給其他節點

j 各節點驗證並接上新區塊

k 其他節點會確認這個區塊所包含的交易是否有效,確認沒被重複花費且具有效數字簽章

後,接受該區塊,此時區塊才正式接上區塊鏈,無法再竄改資料。

l 交易驗證完成

m 所有節點一旦接受該區塊後,先前沒算完 pow 工作的區塊會失效,各節點會重新建立

乙個區塊,繼續下一回 pow 計算工作。

位元幣 vs 區塊鏈 vs山寨幣

位元幣只是區塊鏈的乙個應用場景,關於區塊鏈,幾乎所有的技術在位元幣之前都已經有了,但是在位元幣之前,沒有人覺得它能用,所以說位元幣是區塊鏈技術的第乙個成功以及最大的應用。

位元幣系統功能是 發幣 使用幣 記賬,其中的記賬部分使用的是區塊鏈技術。

位元幣原始碼是公開的,在位元幣原始碼基礎做些修改即可造出與位元幣類似的數字貨幣,這就

是山寨幣。如果做了創新的技術改進則可稱為二代幣或競爭幣。通常人們習慣性統稱為山寨

幣。 區塊鏈技術的分類

區塊鏈技術的分類也是隨著各方面的應用而越來越明朗化,區塊鏈目前分為三類:私有鏈、

公有鏈、聯盟鏈。

a 私有鏈

是指存在一定的中心化控制的區塊鏈。僅僅使用區塊鏈的總賬技術進行記賬,可以是乙個公

司,也可以是個人,獨享該區塊鏈的寫入許可權,本鏈與其他的分布式儲存方案沒有太大區別。

參與的節點只有使用者自己,資料的訪問和使用有嚴格的許可權管理。聯盟鏈由於存在一定的中

心化控制,所以也可以認為是屬於私有鏈範疇。

特點:由於全是使用者說了算,裡面的資料沒有無法更改的特性,對於第三方也沒有多大的保

障。一般用作內部審計。 火幣網技術副總裁認為:私有鏈確實有大量的場景可以對接現實

世界的需求,有限的去中心化更容易達成共識,可以使交易速度更快,效率更高,並且可以

提供更多受控的功能。去中心化是區塊鏈技術的核心價值所在。如果私有鏈在實踐中不能充

分利用公有鏈所構造的去中心化的信任基礎,其發展空間將是有限的。

b 公有鏈

公有區塊鏈是最早的區塊鏈,也是目前應用最廣泛的的區塊鏈。是指像位元幣區塊鏈這樣的

完全去中心化的、不受任何機構控制的區塊鏈。世界上任何個體或者團體都可以傳送交易,

且交易能夠獲得該區塊鏈的有效確認,任何人都可以參與其共識過程。共識過程的參與者通

過密碼學技術以及內建的經濟激勵維護資料庫的安全。

特點:完全公開、不受控制、依靠加密技術來保證安全。

c 聯盟鏈

由某個群體內部指定多個預選的節點為記賬人,每個塊的生成由所有的預選節點共同決定,

其他接入節點可以參與交易,但不過問記賬過程(本質上還是託管記賬,只是變成分布式記

賬,預選節點的多少,如何決定每個塊的記賬者成為該區塊鏈的主要風險點),其他任何人

可以通過該區塊鏈開放的 api 進行限定查詢。

參與區塊鏈的節點是事先選擇好的,節點間很可能是有很好的網路連線。這樣的區塊鏈上可

以採用非工作量證明的其他共識演算法,比如有 100 家金融機構之間建立了某個區塊鏈,規

定必須 67 個以上的機構同意才算達成共識。

特點:聯盟鏈可以做到很好的節點間的連線,只需要極少的成本就能維持執行,提供迅速的

交易處理和低廉的交易費用,有很好的擴充套件性(但是擴充套件性隨著節點增加又會下降),資料可

以有一定的隱私。聯盟鏈也意味著這個區塊鏈的應用範圍不會太廣,缺少位元幣的網路傳播效應

區塊鏈專案的分類

智慧型合約的概念

本質:一段電腦程式

智慧型合約是一套以數字形式定義的承諾,承諾控制著數字資產幷包含了合約參與者約定的權

利和義務,由計算機系統自動執行。」

「智慧型合約程式不只是乙個可以自動執行的電腦程式,它本身就是乙個系統參與者,對接

收到的資訊進行回應,可以接收和儲存價值,也可以向外傳送資訊和價值。這個程式就像一

個可以被信任的人,可以臨時保管資產,總是按照事先的規則執行操作。

智慧型合約能應用的場景將非常廣泛,譬如房租租賃、差價合約、代幣系統、儲蓄錢包、作物

保險、金融借貸、設立遺囑、證劵登記清算、博彩發行等;

「智慧型合約的工作理論遲遲沒有實現,乙個重要原因是因為缺乏能夠支援可程式設計合約的數字

系統和技術。區塊鏈技術的出現解決了該問題,不僅可以支援可程式設計合約,而且具有去中心

化、不可篡改、過程透明可追蹤等優點,天然適合於智慧型合約。因此,也可以說,智慧型合約

是區塊鏈技術的特性之一」。

私鑰和公鑰 非對稱加密

非對稱加密:加密和解密演算法不是一樣的。

攻擊會改變主鏈,從而其他分叉都無效,以此改變。

位元幣本質上市乙個區塊鏈,如果發生分叉,預設以最長的分叉為真,繼續在後面新增。

實際上任何挖出新塊的礦工都可以通過構造假塊,來發動攻擊,但直接後果就是分叉,也就

是說這種攻擊的實質就是通過硬分叉來達到自己的目的。

為什麼叫 51 攻擊呢,就是因為分叉後其他礦工不會承認那個新的鏈,只有算力超過 51%,

才能挖的幣其他人的總和還快,保證那個鏈最長,從而使自己成為主鏈。

所以,只要發動 51 攻擊,必然會導致分叉,必然會被大家發現,有人在網上說有礦池偷偷

發動攻擊,大家都不知道,之可能嗎?他舉得那個例子不過是 0 確認攻擊,實質上是一種

失敗的 51 攻擊。

對於掌握 51%以上算力的人,51 攻擊會導致大家對位元幣失去信心,對他自己有什麼好處

呢?作為既得利益者,他想做的應該是千方百計維持這個系統。有能力的不肯發動,想發動

的沒能力,中本聰設計這個系統,利用的就是這個人性的特點來維持系統的正常執行。

但是真正的 51%算力攻擊一旦發生,後果會很嚴重,但 51%攻擊有悖論,使得它事實上難

以發生,除非瘋子或瘋子國家

區塊鏈 區塊鏈雜湊演算法

雜湊演算法是區塊鏈中保證交易資訊不被篡改的單向密碼機制。雜湊演算法接收一段明文後,以一種不可逆的方式將其轉化為一段長度較短 位數固定的雜湊資料。它有兩個特點 加密過程不可逆,意味著我們無法通過輸出的雜湊資料倒推原本的明文是什麼 輸入的明文與輸出的雜湊資料一一對應,任何乙個輸入資訊的變化,都必將導致最...

區塊鏈節點和區塊區別 區塊鏈的「區塊」和「鏈」

2017年以來,區塊鏈大火,但是其技術相對生澀。很多 紛紛用通俗易懂的漫畫方式,簡單明瞭的體現出來了區塊鏈的區別和特點。區塊鏈由以前的一人記賬,變成了大家一起記賬的模式,讓賬目和交易更加安全,這就是分布式資料儲存。此外,區塊鏈相關的技術除了分布式儲存,還有去中心化 智慧型合約 加密演算法等等。分布式...

js原型鏈之我見

前兩天從網上看到乙個題目,大致內容如下 var f function function.prototype.a function object.prototype.b function var f new f f.b f.a 初看這道題,覺得很簡單,應該會輸出 b 和 a 吧,但是實際執行起來,不是...