3,區塊鏈加密(react+區塊鏈實戰)

3,區塊鏈加密(react+區塊鏈實戰)

  • 3.1 哈希
  • 3.2 pow-pos-dpos
  • 3.3非對稱加密
    • (1)對稱加密AES
    • (2)非對稱加密RSA
  • 3.4 拜占庭將軍
  • 3.5 P2P網絡
  • 3.6 區塊鏈

3.1 哈希

密碼學,區塊鏈的技術名詞

在這里插入圖片描述

在這里插入圖片描述

Hash woniu
將其變為hash值

數據指紋
可以將任意長度的數據轉換成固定長度的數據

在這里插入圖片描述

每次對woniu進行哈希得到的值是相同的
逆向困難,即下方的字符串無法逆向回到woniu

輸入改變一點,整個哈希會發生非常大的變化
輸入敏感

輸入碰撞
要想找到某個字符的hash也是該字符否hash幾乎是不可能的

3.2 pow-pos-dpos

上節課講到了哈希

數據校驗的應用,如發表一些信息或者軟件,信息會被篡改,操作系統數據會被篡改,

在官網上放著哈希,看下周軟件是否哈希和官網一樣判斷是否被篡改

共識,中心化無共識,只有中心說了算

無中心服務器時,如何讓各個人達成一致

共識機制
1,POW工作量證明(全網隨機出一道數學題,大家一起做,做出來,課賣100元,結果驗證很很簡單,比較原始,計算消耗能源大)
2,POS權益證明:不是誰干的活多誰轉的多,類似公司,誰的權益大誰賺的多,如以太坊,誰的幣多,誰擁有的時間越長,誰就獲得
3,DPOS代理權益證明,全網廣播證明太難,類似人大代表,只需要一部分代表同意即可,如EOS,定期精選EOS,可能會賄賂選節點,這個超級節點的權利

3.3非對稱加密

現代科技與密碼學分不開

有些人會篡改一些信息

如支付、交流、軍事等

需要加密保護信息

最早字母表

(1)對稱加密AES

只有一個秘鑰,私鑰

私鑰會共享

發送邏輯,發送者私鑰加密信息,發送密文, 接收方就用相同的私鑰解密

此時私鑰是相同的,計算效率比較高,前提是需要私鑰共享

在這里插入圖片描述

(2)非對稱加密RSA

蝸牛 私鑰加密信息(私鑰簽名)+公鑰

小明這:收到信息+加密后的簽名+公鑰(公鑰可以公開,只用來校驗,公鑰可以使用私鑰計算得到) 通過公鑰驗證信息是否合法(只要證明信息合法,則信息明文也就無所謂了)

此時在傳遞需要認證的消息時,就不用事先共享私鑰了,避免風險

這樣信息可以證明其正確的,確實由蝸牛發出來的,第二個自己想抵賴也無法抵賴

在這里插入圖片描述

在這里插入圖片描述

在此里面也繼承了非對稱加密的代碼,用來測試

公鑰可以根據私鑰計算得到,不可逆

私鑰就是一個隨機字符串

1,使用私鑰計算公鑰如下(getpub方法,woniu為私鑰,計算的公鑰如下)
在這里插入圖片描述

2,對某個信息使用私鑰進行簽名(sign方法,信息-imoocisgood,私鑰woniu,得到簽名的信息如下)
在這里插入圖片描述

3,發送消息將“imoocisgood”+簽名的信息+公鑰三個信息一起發送出去,接收方會接到這三個信息進行校驗
4,Verify
在這里插入圖片描述

區塊鏈中每筆交易的模型
在這里插入圖片描述

從誰轉給誰,轉了多少錢,會拼接成字符串,使用私鑰加密,對方使用公鑰驗證解密,偷懶公鑰直接使用adress地址,就不用再私發公鑰了

本地是隨機字符串生成了私鑰,再使用私鑰生成公鑰
在這里插入圖片描述

本地PUB方法得到本地的公鑰,PRV得到本地的私鑰

在挖礦,查詢余額,轉賬時使用的都是pub公鑰
在這里插入圖片描述

Mine挖礦
Balance查詢余額

3.4 拜占庭將軍

當一些節點被黑,發出了錯誤的信息這怎么解決

拜占庭將軍想要在某個時間一起進攻,這種情況就要考慮有些將軍叛變,有些命令被篡改
怎么保證只要忠誠的將軍收到命令后執行此命令,若有反叛,防止篡改

問題有很多解答

這有容錯的機制

分布式系統肯定有的被黑,有的被掛,POW怎么保證

等等

多個將軍的系統,無論叛軍怎么做,都保證忠誠的將軍最后發起進攻

這里就不多介紹了

3.5 P2P網絡

點對點的系統

若在電腦下載一個比特幣的軟件,打開后就成為了一個比特幣的節點,但是并沒有一個公網IP,但別的網絡如何和你進行通信

這就使用了P2P的網絡系統

P2P、電驢等P2P的,最早出現原因,將某個電影放在服務器,如果好多成千上百人來訪問服務器,服務器的帶寬是扛不住的,就使用了點對點的系統,來我這告訴你別的節點文件在哪,去找其下載,這就減輕了中心服務器的壓力

有啟動節點

像以太坊的完全去中心化的,使用了DHT的kademlia的網絡

自己實現的

在這里插入圖片描述

我們的電腦沒有公網ip,只有本地192.168的

我們訪問外網的時候,網關會臨時給一個公網端口,通過這個端口與外網進行交互

P2P交互邏輯,還是要UDP實現一個簡單的P2P網絡
在這里插入圖片描述

加入節點時都會更新本地區塊鏈

在這里插入圖片描述

當加入新的節點會和所有的節點打個招呼

PEER方法,得到節點信息

機器之間通過中心服務器,網關鍵加入白名單,為了方便后續的交流溝通

3.6 區塊鏈

分布式,系統在多個節點上

在這里插入圖片描述

地址區塊

地址就是公鑰,區塊包含什么信息
Detail 44查看某個區塊
在這里插入圖片描述

Index
Previoushash 上一個哈希值
Timestamp 時間戳
Nonce 隨機數的難度值
Hash hash的前5個人是0,前面的0越多難度越大
Data 轉賬信息,這里是只有挖礦的信息故只有一條轉賬

這就是一個區塊的詳情

在這里插入圖片描述

該內置了一個方法update可以用來篡改某個區塊的信息,將某個區塊的轉賬金額加1

這里對第40個區塊進行篡改
在這里插入圖片描述

輸入bc方法,可以查看完整的區塊鏈,如下找到第40個區塊,數據已經被改了

在這里插入圖片描述

這里的valid方法校驗整個區塊是否合法

每個區塊都有previoushash及hash,而hash是由index,data,previoushash等等得到
在這里插入圖片描述

在這里插入圖片描述

使用方法mineblock 40修復第40個的區塊,此處的修復是將不合法的第40個區塊變為合法,但第41個就不合法了,需要一個個向后修復
在這里插入圖片描述

雖然修復了第40個區塊,但41就不合法了,越是前面的區塊越不容易修復

篡改很難幾乎不可能的任務

智能合約,現在的大部分的去中心話的應用都是部署在以太坊上的智能合約,后面會有章節專門介紹,轉賬信息由誰轉給誰

后面也會有章節專門介紹,現在比特幣只是誰轉給誰幾個幣等,智能做幣

而以太坊有圖靈完畢的虛擬機,智能合約就是一定地址,一定的代碼,在符合條件的時候執行此代碼,代碼中可以抽獎、預測、游戲等,存在鏈上,完全去中心化,不受人為干預的

后面會介紹實戰開發

在這里插入圖片描述

錢包

既然幣,存儲各類數字貨幣的錢包

所能掌握的就是私鑰,會將私鑰放在腦子、放在紙上、放在電腦中這些就是錢包,放到腦子記不住,就需要一個錢包來管理

數字貨幣就不詳解了
在這里插入圖片描述

比特幣使用merkle樹來計算hash

下一章就是nodejs區塊鏈實戰

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/43808.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/43808.shtml
英文地址,請注明出處:http://en.pswp.cn/web/43808.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

在Spring Boot項目中集成單點登錄解決方案

在Spring Boot項目中集成單點登錄解決方案 大家好,我是微賺淘客系統3.0的小編,也是冬天不穿秋褲,天冷也要風度的程序猿! 在現代的企業應用中,單點登錄(Single Sign-On, SSO)解決方案是確保用戶…

【Git的基本操作】版本回退 | 撤銷修改的三種情況 | 刪除文件

目錄 5.版本回退 5.1選項hard&后悔藥 5.2后悔藥&commit id 5.3版本回退的原理 6.撤銷修改 6.1情況一 6.2情況二 6.3情況三 ?7.刪除文件 Git重要能力之一馬,版本回退功能。Git是版本控制系統,能夠管理文件歷史版本。本篇以ReadMe文件為…

神器!3個免費PPT成品網站推薦+3款AIPPT工具盤點!

熬夜加班做PPT卻沒有頭緒?別再自己憋著想了!現在凡事主打一個“抄作業”,想做ppt卻沒想法,可以去到ppt成品網站搜集PPT模板,或是使用時下流行的AI生成PPT工具,只需輸入PPT主題,即可快速生成一份…

全網最詳細的CRC講解即計算

CRC 循環冗余碼(Cyclic Redundancy Code, CRC)是一種用于校驗通信鏈路上數字傳輸準確性的計算方法(通過某種數學運算來建立數據位和校驗位(CRC)的約定關系的)。它是利用除法以及余數的原理來作錯誤偵測。 發送方: 使用…

客戶關系管理怎么做?這4個工具一定要會用!

在商海浮沉中,每一位企業家和銷售經理都深知,客戶是企業生存與發展的基石。但如何有效管理這些寶貴的資源,讓每一次互動都成為加深關系、促進成交的契機,卻是一門藝術加科學的結合體。今天,咱們就來聊聊客戶關系管理&a…

3SRB5016-ASEMI逆變箱專用3SRB5016

編輯:ll 3SRB5016-ASEMI逆變箱專用3SRB5016 型號:3SRB5016 品牌:ASEMI 封裝:SGBJ-5 批號:2024 現貨:50000 最大重復峰值反向電壓:1600V 最大正向平均整流電流(Vdss):50A 功…

CNN -1 神經網絡-概述

CNN -1 神經網絡-概述 一:芯片科技發展介紹了解1> 芯片科技發展趨勢2> 芯片使用領域3> 芯片介紹1. 神經網絡芯片2. 神經網絡處理單元NPU(Neural Processing Unit)二:神經網絡1> 什么是神經網絡2> 神經元3> 人工神經網絡三:卷積神經網絡(CNN)入門講解一…

【Spring】springSecurity使用

一、基本配置 1. 引入依賴 在Spring Boot項目中&#xff0c;使用Spring Security首先需要引入相應的依賴。在pom.xml中添加spring-boot-starter-security依賴&#xff1a; <dependency> <groupId>org.springframework.boot</groupId> <artifactId>…

Kodcloud可道云安裝與一鍵發布上線實現遠程訪問詳細教程

文章目錄 1.前言2. Kodcloud網站搭建2.1. Kodcloud下載和安裝2.2 Kodcloud網頁測試 3. cpolar內網穿透的安裝和注冊4. 本地網頁發布4.1 Cpolar云端設置4.2 Cpolar本地設置 5. 公網訪問測試6.結語 1.前言 本文主要為大家介紹一款國人自研的在線Web文件管理器可道云&#xff0c;…

唐劉:當 SaaS 愛上 TiDB(一)- 行業挑戰與 TiDB 的應對之道

導讀 在 TiDB 8.1 發布后&#xff0c;TiDB 展現了強大的支持 SaaS 業務的能力&#xff0c;成為 SaaS 業務數據庫的優先選擇之一。 本文為“當 SaaS 愛上 TiDB”系列文章的第一篇&#xff0c;系列文章將從技術原理和真實用戶體驗兩個角度深入探討 TiDB 在 SaaS 業務中的表現&a…

qt gridlayout 應用舉例

Qt的GridLayout是一種非常有用的布局管理器&#xff0c;它允許你在一個網格中放置控件&#xff0c;這樣你就可以創建出結構清晰、布局整齊的用戶界面。下面是一個使用GridLayout的簡單例子&#xff0c;展示了如何在一個窗口中放置幾個按鈕。 #include <QApplication> …

太速科技-3U VPX飛騰處理器刀片計算機

3U VPX飛騰處理器刀片計算機 一 、產品概述 該產品是一款基于國產飛騰FT2000 4核或騰銳D2000 8核的高性能3U VPX刀片式計算機。產品提供了4個x4 PCIe 3.0總線接口&#xff0c;同時可配置為1個x16或2個x8 PCIe3.0接口&#xff0c;因此具有很強的擴展性&#xff0c;極大…

agents 分類

一、分類 自動agent、半自動agent、領域、自定義sop和支持人為干預的agent。 先潑個冷水&#xff0c;目前這些agent項目都是實驗品&#xff0c;發展還沒有做知識庫問答相關開源項目那么成熟&#xff0c; 二、全自動agent autoGPT、loopGPT、babyAGI 全自動agent就是人類不可…

sizeof()

一、題目 *struct T { char a; int *d; int b; int c:16; double e; }; T *p; 在64位系統以及64位編譯器下&#xff0c;以下描述正確的是 A: sizeof 24 B: sizeof(p) 24 C: sizeof(p->a) 1 D: sizeof(p->e) 4 二、解析 p是一個指針&#xff0c;指針在32位機器上是…

GEE數據集——全球Ookla 5G 基站地圖數據(Ookla 5G Map Data)

Ookla 5G Map Data Ookla 5G 地圖數據 Ookla 5G Map? 于 2019 年 5 月推出,旨在全面展示 5G 技術在全球的擴展情況。在推出之初,該地圖突出顯示了 17 個國家的 300 項部署,說明了這一變革性技術的初步推廣情況。隨著時間的推移,該地圖已大幅增長,現在包含了來自 142 個…

實例演示Kafka-Stream消息流式處理流程及原理

以下結合案例&#xff1a;統計消息中單詞出現次數&#xff0c;來測試并說明kafka消息流式處理的執行流程 Maven依賴 <dependencies><dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-streams</artifactId><exclusio…

Java中的LinkedList(鏈表)(如果想知道Java中有關LinkedList的知識點,那么只看這一篇就足夠了!)

前言&#xff1a;在Java編程語言中&#xff0c;Java集合框架提供了一組豐富的數據結構&#xff0c;以滿足各種應用需求。其中&#xff0c;LinkedList作為一種常用的數據結構&#xff0c;具有獨特的優勢和廣泛的應用場景。 ???這里是秋刀魚不做夢的BLOG ???想要了解更多內…

linux radix-tree 基數樹實現詳解

radix tree&#xff0c;又稱做基數樹&#xff0c;是一種適合于構建key(index)與value(item)相關聯的數據結構。內核中使用非常廣泛。本文主要聚焦linux內核基數樹的代碼實現,大量注釋過的代碼。 radix-tree組織結構如下: 1、數據結構 /** The bottom two bits of the slot de…

如何通過JSON-RPC向以太坊鏈發送簽名交易數據?

概述 在以太坊開發當中,通過web3.js、ethers.js等提供的API方法,都可以完成與以太坊的轉賬交易。那么如何通過以太坊JSON-RPC與以太坊進行交易呢? 在以太坊的JSON-RPC當中,有eth_sendRawTransaction這個方法,可以向以太坊網絡提交預簽名的交易廣播。 curl https://main…

IDEA阿里云OSS實現文件上傳·解決蒼穹外賣圖片回顯

簡單交代配置阿里云OSS的思路 1. 首先去阿里云開通一個OSS服務&#xff0c;配置好一個自己的Bucket 2. 在IDEA配置Bucket 3. 拷貝官網的OSS工具類代碼 package com.sky.utils;import com.aliyun.oss.ClientException; import com.aliyun.oss.OSS; import com.aliyun.oss.OSS…