現代軟體系統主要採用兩種架構:去中心化架構與中心化架構
中心化系統中乙個中心化模組連線了其他所有的模組,而去中心化系統沒有中心節點,從而無法進行節點間的協調與控制。
建立在多台計算機之上的去中心化系統主要具有如下優勢:
計算能力更強
計算能力表現為系統中所有互聯計算機的能力之和
成本更低
一台超級計算機的搭建、維護與運營成本會遠遠高於相同能力的去中心化系統
可靠性更好
乙個計算機節點奔潰,整個系統依然可以工作,影響微乎其微,因為其他節點可以接替壞節點的工作
自增長
去中心化系統的計算機能力可以通過加入新的計算機來提公升
安全性
計算任務需要直接在網路上進行通訊協調與資料傳遞,所以存在可靠性的問題,系統對節點的使用網路的許可權限制越大,可靠性越高
系統程式設計複雜
任一執行在去中心化系統的軟體需要解決如:節點間協調,通訊,以及對網路產生依賴等問題,提高了程式設計複雜程度
對網路過度依賴
媒介負責系統各節點的通訊過程,依靠網路作為媒介,因此對網路的選擇和依賴會影響整個去中心化系統
節點間的冗餘通訊
各節點需要頻繁通訊,需要建立在可靠完善的通訊協議,才能傳送接受並且處理資訊,會產生額外開銷並且占用一定計算機資源
節點間的協調
系統的協調協議各節點的參與,難度大,會產生額外的開銷,占用計算機資源
點對點網路是一種去中心化系統,每台計算機在無中心節點的情況下向其他計算機直接提供相關資源(如計算能力、儲存空間、資料服務與網路頻寬),任一乙個節點即是資源提供者也是使用者
兩種結合中心化與去中心化系統的架構:擁有中心節點的去中心化系統和去中心化系統作為作為中心節點的中心化系統。
左圖是乙個擁有中心節點的去中心化系統,因為所有的小圓圈均與中間的大圓相連,實際是中心化系統,右面的系統中心節點是乙個去中心化系統
兩種架構擁有雙重特質,即均具有去中心化系統與中心化系統的優點
在系統中是否能尋找到乙個組成部分(資料庫,使用者等級,登入/登出模組或者是緊急停止按鈕)可以直接關閉這個系統。找到說明不是去中心化系統。
區塊鏈的用途:是實現且維護去中心化系統的完備性
區塊鏈是去中心化軟體系統實現層的一部分
《區塊鏈基礎知識25講》 第九講 記錄所有權
把交易歷史記錄作為當前所有權的證明依據。需要 找到乙份不僅是聲稱某人是某物所有者的賬本記錄,而且還提供所有權的證據檔案,從而作為所有權的證明。每一次所有權的交易通過交易記錄進行描述。儲存在賬本中的完整歷史交易記錄,為每個人如何獲取財產所有權提供了可供追溯審計的證據 所有權資料描述當前的所有權狀態,只...
《區塊鏈基礎知識25講》 第十一講 實際應用
計算並且對比資料的雜湊值,如果得到的雜湊值不同則資料不同。如果兩個或者兩個以上的雜湊值相同,則對應的輸入資料也相同,是基於雜湊計算的防碰撞上的 為了檢查證明類檔案或者交易資料等固定不變的檔案在傳送或者儲存到資料庫中是否發生變化 目標是安全儲存大量的資料。利用雜湊引用儲存資料,每個雜湊引用對應乙個資料...
第二講 基本知識
學習目標 掌握變數 語句 縮排 注釋 掌握輸入和輸出語句 掌握程式設計檔案化及執行 1.變數命名規則 識別符號只能由字母 數字或下劃線組成,第乙個字元不能是數字,區分大小寫,關鍵字不能宣告為識別符號 命名規範 小寫字母,單詞之間用 分割,見名知意 2.python程式由python語句組成,通常一行...