區塊鏈從資料的角度看:我認為就是乙個資料管理系統:傳統的資料管理,都是中心化的-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 吧,但是實際執行起來,不是...