區塊鏈 學習報告 2

2021-10-10 05:30:09 字數 2008 閱讀 4267

本人學習報告,僅為複習用

參考學習資料

奇客谷 智慧型合約教程:

以太坊/ethereum被稱為區塊鏈2.0,位元幣可以被認為是一種數字貨幣,而以太坊除了是數字貨幣,還有提供了對數字貨幣進行程式設計的能力,即智慧型合約。

以太坊(ethereum)是乙個可程式設計的虛擬幣,它是乙個基於公共區塊鏈的分布式計算平台,可用於構建基於區塊鏈的分布式應用。

智慧型合約(smart contract )是一種旨在以資訊化方式傳播、驗證或執行合同的計算機協議。智慧型合約允許在沒有第三方的情況下進行可信交易,這些交易可追蹤且不可逆轉。智慧型合約概念於2023年由nick szabo首次提出。智慧型合約的目的是提供優於傳統合約的安全方法,並減少與合約相關的其他交易成本。

與位元幣網路有位元幣類似,以太坊(ethereum)也有自己的虛擬幣,以太幣。

以太幣的主要作用有2個:

1.應用程式執行任何操作都需要支付以太幣,防範以太坊網路被濫用。

2.用於激勵礦工。

每次執行智慧型合約時,都需要消耗「汽油/gas」,即支付以太幣。 (汽油:以太坊(ethereum)區塊鏈網路上,每一次操作的執行都需要消耗「汽油/gas」,使用者需要支付「油費」,「油費」用以太幣計算,**由礦工決定,礦工可以拒絕執行油費出價過低的智慧型合約。)

以太坊(ethereum)網路中,定義了一組通用協議用於支援智慧型合約的執行,其核心便是以太坊(ethereum)虛擬機器。

開發人員使用solidity等開發語言開發智慧型合約。源程式被編譯成以太坊虛擬機器支援的位元組碼可執行程式。可執行程式被部署到網路中,即寫入區塊,並被分配乙個賬號(位址)。外部賬號或其他合約賬號,可以通過該智慧型合約的賬號訪問它

a)以太坊(ethereum)網路中,有2種賬號:

外部賬號 – 使用者使用的賬號

合約賬號 – 智慧型合約使用的賬號,每個智慧型合約都有乙個賬號

這些賬號,都被稱為狀態物件/state object,構成了以太坊網路的狀態。外部賬號的狀態是賬戶餘額,合約賬號的狀態是記憶體與賬戶餘額。

外部賬號是使用者賬號,例如,普通使用者、礦工等使用的賬號。

b)以太坊(ethereum)網路是乙個公共的區塊鏈網路,網路中包含2種網路節點:

全節點

輕節點

全節點包含了從初始區塊開始的全部區塊,這些區塊中包含了所有的交易歷史記錄,這些資訊是區塊鏈完整性的證據,可用於區塊和交易的校驗。通常礦工節點應該是全節點。

輕節點只包含區塊頭形成的鏈,為節省空間,去除了區塊體。這些型別的節點主要用於電子錢包,電子錢包必須是輕量級的,因此不能儲存整個區塊鏈。輕節點不會用來校驗區塊或交易,但區塊鏈是乙個網路,如有必要輕節點可以向全節點請求區塊資料。輕節點的優勢在於,可以更快地啟動和執行,可以在計算/記憶體受限的裝置上執行,例如手機。

以太幣的主要單位是以太/ether,即乙個以太幣,以太幣的最小單位是wei。

為防範以太坊網路被濫用,進行交易和執行智慧型合約都需要消耗gas(汽油),使用者需要支付油費。

gas是對以太坊網路中計算資源的計量,每個智慧型合約都有乙個設定的gas最大消耗量,被稱為 gas 上限 / gas limit,另外與gas相關的概念還有:

a)gas ** 這個值是浮動的,會根據以太幣的**調整,以反映計算資源的實際價值。

b)gas 費用 gas 費用,進行交易或執行合約需要支付的油費。

因此,如果有人試圖執行一段死迴圈的合約**,合約將一直執行,最終超過gas上限,呼叫合約的交易將回滾到以前狀態。

以太坊(ethereum)與其他公共區塊鏈一樣,使用工作量證明機制確保區塊鏈網路正常執行。

礦工進行工作量證明計算,即挖礦,來選擇區塊,寫入區塊鏈,確認交易。

區塊鏈Dapp報告

使用說明 應有截圖與說明 測試心得 一款可以儲存 備忘錄或者動態的應用。利用的是 ipfs 的分布式檔案系統來彌補以太坊儲存問題,同時利用以太坊的非對稱加密來解決 ipfs 檔案儲存的安全問題。現在很多人都有一生氣或者不開心就刪掉朋友圈等動態的習慣,事後就自己後悔不已。以及現在雲儲存應用雖然十分多,...

區塊鏈學習

區塊鏈是乙個分布式賬本,一種通過去中心化 去信任的方式集體維護乙個可靠資料庫的技術方案。2.1 數字簽名 使用數字簽名驗證交易物件身份。2.2 時間戳 位元幣網路採取從 5 個以上節點獲取時間,然後取中間值的方式作為時間戳。2.3 merkle tree 用於校驗資料完整性的二叉樹,葉子節點儲存交易...

區塊鏈學習

一。什麼是區塊鏈 區塊鏈是 分布式資料儲存 點對點傳輸 共識機制 加密演算法 等計算機技術的新型應用模式。二。區塊鏈型別分類為 公有區塊鏈 公有區塊鏈 public block chains 是指 世界上任何個體或者團體都可以傳送交易,且交易能夠獲得該區塊鏈的有效確認,任何人都可以參與其共識過程。公...