區塊鏈相關問題 理解

本博客針對區塊鏈的部分問題進行詳解,希望幫助大家對于區塊鏈有一個更好的理解

1,如果散布虛假交易,怎么整?(誰欠我XXX比特幣)

1,可以發起虛假交易,但是很難被全網的節點接收并寫入區塊鏈中。因為發起交易是需要進行身份驗證,區塊鏈一般發起的交易內容入下,從我的賬戶轉多少比特幣給誰。比如我轉給張三10個比特幣,這個過程需要使用交易發起者的私鑰加密加密過后會形成秘文,然后將交易消息、秘文、公鑰一起廣播,其余節點收到消息之后會對于消息的合法性進行驗證別人通過我的公鑰解密秘文如果解密得到的明文和發布的消息一致,就驗證我的身份。如果不一致,這條消息就會被舍棄。

? ? ? ?舉例來說,有人申報了一筆交易:地址 A 向地址 B 支付10個比特幣。怎么知道這個申報是真的,申報人就是地址 A 的主人?比特幣協議規定,申報交易的時候,除了交易金額,轉出比特幣的一方還必須提供以下數據。比特幣發起交易應該只能是,轉出方發出轉賬交易,比如,我要轉給A?10比特幣,而不是發出交易,A?欠我10個比特幣。

需要提供的數據

  • 上一筆交易的 Hash(你從哪里得到這些比特幣,這個是根據比特幣的內部UTXO結構進行驗證)
  • 本次交易雙方的地址
  • 支付方的公鑰
  • 支付方的私鑰生成的數字簽名

驗證這筆交易是否屬實,需要三步。

  • 第一步,找到上一筆交易,確認支付方的比特幣來源。(UTXO結構)
  • 第二步,算出支付方公鑰的指紋,確認與支付方的地址一致,從而保證公鑰屬實。
  • 第三步,使用公鑰去解開數字簽名,保證私鑰屬實。

補充知識

? ? *私鑰經過運算得到公鑰,公鑰的后160位是錢包地址。根據協議,公鑰的長度是512位。這個長度不太方便傳播,因此協議又規定,要為公鑰生成一個160位的指紋所謂指紋,就是一個比較短的、易于傳播的哈希值。160位是二進制,寫成十六進制,大約是26到35個字符,比如 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2。這個字符串就叫做錢包的地址它是唯一的,即每個錢包的地址肯定都是不一樣的。

2,發布虛假交易是需要很強的計算能力舉一個例子,假設 250 名礦工組成一個團隊,占網絡整體挖掘力的 25%。現在那些礦工決定通過發布無效(虛假)交易來從中受益。首先解決密碼難題的那個人會提出一個包含無效交易的區塊,另外 249 人會接受它并一同開始增加更多的區塊。與此同時,剩余的 75%的礦工不會接受該塊。相反,他們會添加一系列有效塊到鏈中。擁有這個團隊挖掘能力的三倍,75% 的計算能力為區塊鏈分支增加新的區塊比其快三倍。這將給他們最長的鏈,被所有人所接受。另一條鏈將變得毫無價值,沒有人會接受它。為了成功提出一個無效區塊并將其添加到最長的區塊鏈中,需要控制 51%的采礦能力。任何不足之處,惡行都將失敗。

2,比如我網上購物,錢打過去了,但是不給我發貨

  • 線上問題難以解決線下問題只能根據店家的信用進行購物,如果存在第三方平臺,可以進行平臺投訴。如果,商家意識到自身的錯誤,把錢退換給你,也不是利用回滾退錢,因為代價很大。而是通過發起新的一筆交易,將錢轉給你。

3,我購買商品,店家發貨了,但是我讓交易回滾,不認賬

  • 這個利用的是商品發貨需要長途運輸時間的天生的優勢。比如,今天下單,但是交易回滾之后,第二天,店家發現這筆錢并沒有上鏈,所以拒絕給我郵寄商品。
  • 使用智能合約來執行整個過程,將200比特幣存儲到賬戶中,如果在規定的日期內沒有收到快遞,將只能能合約接入快遞公司的查詢網站,這筆錢就會退還。因為智能合約不受到個人的操控,完全是程序的自我執行的過程,因此可以保證第三方可信,但是需要注意一個大的前提是合約不存在漏洞,被別人利用。
If parcel [parcel number] is delivered by Saturday, pay ?200 to [my account]. Otherwise, return the ?200 to [your account] (如果包裹 [包裹編號] 在周日送達,則向 [我的賬戶] 支付 ?200 。否則就將 ?200 返還至 [你的賬戶] )

4,創建錢包地址

1,基于平臺創建地址,安全性未知,比如https://login.blockchain.com/zh/#/home

2,在本地創建全節點

3,相關內容

  • https://www.bilibili.com/video/BV1TE411q7mW
  • https://bitcoin.org/zh_CN/download
  • https://www.bilibili.com/read/cv4078068
  • 比特幣如何開戶

5,比特幣的可分割特性

目的:采用和鼓勵大家使用和購買比特幣,并進而替代一般貨幣。比特幣可分割小至0.00000001 BTC的單位。在未來,如果情勢所需,比特幣的分割性則可以增加到1000億個更小的單位,甚至更多。這是因為比特幣協議和其相關軟件體系可以修改成能夠處理更小的單位。

6,"同步"是什么意思?為什么同步要花很長時間?

只有像Bitcoin Core這樣的全節點型客戶端才需要較長的同步時間。從技術上來說,同步是一個下載并核實網絡上所有以往比特幣交易的過程。某些比特幣客戶端需要知道所有以往的交易才能計算你比特幣錢包的可用余額并完成新的交易。這一步驟非常消耗資源,需要有足夠的帶寬以及能存放整個塊鏈的空間。為了保持比特幣的安全性,需要有足夠的用戶使用完全節點型客戶端,因為他們起著確認和中繼交易的作用。

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

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

相關文章

區塊鏈的相關知識點

1,密碼學原理 密碼學原理 1,collision resistance 哈希函數 ,目前還是很安全的,沒有找到任何不同的內容其哈希是一致的情形。哈希碰撞(這個在數學上面是沒法證明的,都是日常的實踐表明,無法找…

使用MAC 編譯合約的時候報錯:

編譯報錯的顯示內容如下: Error: EACCES: permission denied, mkdir /Users/chy/Documents/ipfslearn/ipfs_eth_img/client/src/contracts 最簡單的解決方法 原因分析:執行的權限不夠 解決辦法:升級權限 使用命令 chmod 777 項目的文件夾使…

最新,使用truffle框架之后,安裝ipfs的api包文件的命令變化

原因 項目文件路徑變化了,不是先前直接在項目文件夾里面直接執行安裝ipfs的命令了,需要切換到client文件夾下面執行 路徑不對,會出現錯誤,錯誤提示如下 切換到正確的路徑之后,使用命令 npm install --save ipfs-http-…

通過node 完成簡單的web3 API調用測試

使用命令查看當前web3的版本 npm list web3輸入命令 node,進入終端 引入web3,使用命令 var web3 require(web3) 查看引入web3的版本 web3.version

LInux學習筆記(四)-----實操排雷

參考書籍:linux就該這么學 4 Vim 編輯器與 Shell 命令腳本 4.1 Vim 文本編輯器(在 Vim 中,無法直接從輸入模式切換到末行模式) 4.1.1 配置 Yum 軟件倉庫 注:書中好像有點問題,第一個 . 改成 /(我是Ubuntu發現原來不能用…

Web3.js 學習

web3.js Web3 JavaScript app APIweb3.js是一個JavaScript API庫,一般使得DApp在以太坊上運行web3.js通過RPC調用與本節點通信,用于任何暴露了RPC層的以太坊節點之間通信web3包含了eth對象,即web3.eth(專門和以太坊區塊鏈交互&am…

c語言指針入門

指針的用途非常廣泛,比如如果你想通過函數改變一個變量的值,就得用指針而不能用值傳遞。還有在很多時候變量,特別是對象的數據量實在太大,程序員就會用指針來做形參,只需要傳遞一個地址就行,大大提高了效率…

搭建基于飛槳的OCR工具庫,總模型僅8.6M的超輕量級中文OCR,單模型支持中英文數字組合識別、豎排文本識別、長文本識別的PaddleOCR

介紹 基于飛槳的OCR工具庫,包含總模型僅8.6M的超輕量級中文OCR,單模型支持中英文數字組合識別、豎排文本識別、長文本識別。同時支持多種文本檢測、文本識別的訓練算法。 相關鏈接 PaddleOCR項目地址飛槳開源深度學習平臺效果展示頁面中文OCR在線體驗地…

macos 10.15 django2.2+apache2.4+ladon+wsgi寫webseverice接口

他的文檔不夠完善,使用起來可能有坑,因為不知道如何將ladondjangoapache綁定在一起使用,所以放棄了。 提醒:最好用個虛擬環境,防止庫沖突我使用的是anaconda 安裝apache macos本身自帶apache,其他平臺百度…

使用軟鏈接的方式遷移Docker

確認Docker安裝的位置 使用命令sudo docker info | grep "Docker Root Dir" 查看Docker的安裝位置如果是默認安裝的方式 ,一般會安裝在/var/lib/docker 路徑下面 前置工作 下文以 /store/software/docker 這個路徑作為要遷移的新 Docker 安裝(存儲)目錄…

Qt tableWidget導入\導出Excel表格 自用

首先在.pro文件中添加以下代碼:QTaxcontainer 代碼是轉載的,找不到源博客鏈接 void excel_01::on_pushButton_clicked() {//導出ui->progressBar->setValue(0); //設置進度條的值為0QString fileName QFileDialog::getSaveFileName(this,tr(&q…

基于HubServing的PaddleOCR部署

前提要求 服務器的部署需要鑒于先前安裝配置的docker環境,因此相關步驟查看我之前的博客 參考鏈接 服務部署 先前介紹 參考鏈接 官方推薦本博客采用基于HubServing的部署,這種方式已經集成到PaddleOCR里面,在先前的docker鏡像里面就可以…

我的職業生涯規劃學習日記(軟件工程)整理時間線

學習路線 語言只是工具不過學c一直都做不出來東西是為什么呢,下圖要第六部才做項目 概述 大一上學期:C,C,數據結構,cstl源碼,python爬蟲進入物聯網實驗室python方向,進入算法協會運維部學習算…

PaddleOCR和ChineseOCR的對比

PaddleOCR和ChineseOCR的對比 ChineseOCRPaddleOCR 對比 識別時間 chineseOCR識別的速度相對于PaddleOCR較慢,單純使用CPU對于單張圖片的識別時間可以達到20秒,如果使用GPU識別的時間一般控制在5秒以內(圖片包含的文字比較少的情形&#x…

C++內存管理(1)

根據侯捷老師的視頻:https://www.bilibili.com/video/BV1Kb411B7N8 這篇文章歸納內存管理的面試題和一些知識點梳理 正在更新中 首先為什么想要內存管理 不知道有沒有人好奇delete[]或者delete的時候為什么系統會自動這個變量 占了多少字節。 答案是因為cookies&a…

web3@0.20.1 在依據abi創建智能合約的時候報錯 TypeError: web3.eth.contract is not a function

前面的代碼不變 var web3 new Web3(new Web3.providers.HttpProvider("Http://localhost:8545")); var abi JSON.parse([{"constant":true,"inputs":[{"name":"candidate","type":"bytes32"}],"…

Linux學習筆記(一)------實操排雷

參考兄弟連b站網課 1.1如果沒有ifconfig 使用sudo apt install net-tools 下載;(ifconfig已經被淘汰所以需要另外下載) 1.2如果網卡是ens33; (1). vi /etc/sysconfig/network-scripts/ifcfg-ens33 將里面的…

Dapp簡單的投票小例子

準備工作 相關命令 mkdir simple_voting_dapp //創建文件夾cd simple_voting_dapp //進入文件夾npm init //初始化npm包管理文件,輸入ls 可以看到創建的package.json文件npm intsall web30.20.1 //安裝web3npm install solc0.4.25 //安裝solcnpm install -g ga…

使用mocha進行測試 區塊鏈

mocha安裝 npm install mocha --save-dev mocha簡介 mocha是一個JavaScript的單元測試的框架,既可以運行在瀏覽器環境中,也可以運行在node.js環境中,只需要編寫測試用例,mocha就會將測試自動的運行,并且給出測試的結…

Linux學習筆記(六)

參考書籍:linux就該這么學 6.存儲結構與磁盤劃分 6.1 文件系統與數據資料 6.2 掛載硬件設備 6.2.1 mount 命令用于掛載文件系統 6.2.2 umount 命令用于撤銷已經掛載的設備文件 6.3 添加硬盤 6.3.1 fdisk 命令用于管理磁盤分區 6.3.2 用于查看文件數據占用量的 du 命…