I am Mike-我是廣利
I am Mike-我是廣利

太陽盛德導師、蜜之歌、福到你家、愛、感恩

比特币和区块链啥原理?矿机挖矿咋回事?李永乐老师讲比特币(1)

比特币和区块链啥原理?矿机挖矿咋回事?李永乐老师讲比特币(1)

比特币和区块链啥原理?矿机挖矿咋回事?李永乐老师讲比特币(1)

區塊鏈

各位同學大家好我是李永樂老師 經常有小朋友問我比特幣到底是什麼 我們準備通過兩期節目給大家介紹一下比特幣的基本原理 那今天我們首先來介紹一下挖礦到底是怎麼回事 比特幣是什麼呢 比特幣實際上是一種電子貨幣或者叫數字貨幣 它是基於密碼學的一種貨幣 這種貨幣跟我們以前用銀行卡里面那個貨幣它不太一樣 它的出現是一種傳奇 在2008年的時候金融危機 2008年11月1日的時候有一個網絡極客 他化名叫中本聰 這個中本聰我們到目前為止也不知道他到底是誰 他在網絡上發表的一篇文章 這篇文章我們現在管它叫《白皮書》 全名叫比特幣一種點對點的電子現金系統

LBRY影片區塊鏈,免費邀請連結。。。

他在這個白皮書裡面提出了這樣一種構想 就是說我們可以設計一種去中心化的電子記賬系統 去中心化的電子記賬系統 我們在進行交易的時候最重要的一件事就是記賬 比如說我付給你多少多少錢 我要檢查我自己的銀行卡里還有沒有這麼多錢 我付給你之後還剩多少錢這就叫記賬 那現在的記賬是誰來記呢是銀行記 我們不管是用信用卡還是用這個支付寶或者微信都是銀行來記賬 我們信任銀行因為銀行的背後是國家的信用對不對 那麼這個中本聰就說 其實我們並不需要一種中心化的這個記賬系統 我們可以去中心化 每一個人的賬本都是讓別人去看都是公開的 這就叫去中心化電子記賬系統 舉個例子來說比如說有這麼幾個小朋友 這幾個小朋友分別叫ABCD 他們進行交易買東西賣東西之類的

LBRY影片區塊鏈,免費邀請連結。。。

那所以相互之間就要進行支付 支付的時候比如說有一次A先支付了10個比特幣給B 這件事情要記賬記賬了之後你不能自己留著 因為你自己留著別人不信 所以你要把這個賬單要廣播出去要告訴所有人 所以說A把這賬單告訴B 告訴C 又告訴D 廣播到網絡上所有人 過了一會B也要進行支付 比如說B支付了5個比特幣給C 同時B把這個賬單告訴D 告訴A 再告訴C 然後這個C又支付比如支付了2個比特幣給D 同時C也要把這個賬單告訴其餘的所有的人這樣 那麼這個賬單我們會把它進行打包打包成一個塊 這個塊我們就叫它區塊 這一個區塊裡面它大小大概是一兆 我們可以存4000條左右的交易記錄 有時候多一點有時候少一點 是取決於每一條記錄的大小 好了這個塊打包完了之後

LBRY影片區塊鏈,免費邀請連結。。。

我們再把這個塊鏈接到以前的交易記錄上形成了一條鏈 就把這個塊接到以前的塊上 然後過一會再把新的塊接到它後面就叫區塊鏈 就這麼回事對吧 那好我們有了這麼一個系統之後就要解決幾個問題 什麼問題呢比如說賬單以誰為準這就是一個問題 以誰為準 因為每個人的賬單可能是不一樣的 比如說A他可能會先記錄A把10個比特幣給B這件事 後記錄B把5個比特幣給C這件事 但是因為網絡的延遲效應D這邊可能不是這樣 D的順序可能是先記錄的B付5個比特幣給C 然後A又付了10個比特幣給B 每個人的賬單可能不太一樣 你到底是以誰為準 第二個就是我們為何要記賬 憑什麼你廣播給我我就要收著呢

LBRY影片區塊鏈,免費邀請連結。。。

憑什麼我要去花我自己的電腦資源 記錄一個跟我無關的這個賬目呢對不對 為什麼要記賬第二個問題 第三個問題就是如何防偽什麼叫防偽呢 比如說B廣播的一條消息說A支付了10個比特幣給他 但實際上A並沒有支付給他 那這就是一個偽造的記錄我們怎麼去防偽怎麼去防止篡改 之前的記錄我把它改掉這個怎麼辦 如何去防止篡改 還有很多很多其他的問題 比如說如何防止雙重支付 一個人同時發給兩個人10個比特幣 但它實際上一共就只有10個比特幣 還有就是如何進行保密 你這個信息都是公開的 那別人不就知道你有多少錢了嘛 怎麼去保密等等一系列問題 我們今天主要就研究前兩個以誰的賬單為準 還有我為什麼要記賬 我們首先來說一下為什麼要記賬 記賬是因為記賬有獎勵記賬的獎勵 那麼每一個比特幣系統中的這個用戶他都可以去記賬 如果他記了帳第一個他有手續費的收益 手續費甚麼意思

LBRY影片區塊鏈,免費邀請連結。。。

就是A付10個比特幣給B的話 A必須要多付出那麼一點點 這一點點就是給這個打包的這個人 他記賬的這個人他的一個手續費 如果你要是用銀行卡的話其實也有手續費而且還其實挺高的 那如果你用比特幣手續費就低了 這就是第一個他的收益 第二個他的收益就是打包的那個人 他有一個打包獎勵 打包的獎勵只能是一個人打包 這一個人他會獲得獎勵獎勵是多少 中本聰在2008年提出這個系統的時候 他設計了這樣一個方案 就是每十分鐘打一個包 每十分鐘打一個包最開始這一個包會獎勵打包者50個比特幣 過了四年之後每打一個包會獎勵你25個比特幣 如果你要是再過四年就獎勵12.5 也就是每過四年之後它會減半 咱們來算一算比特幣一共有多少個 首先每過十分鐘你會打一個包 這一個包有50個比特幣的獎勵

LBRY影片區塊鏈,免費邀請連結。。。

一個小時六個10分鐘可以打包六次 然後每天有24個小時每年有365天 前四年的時候都是這樣我再乘個四年 但是第二個四年就不是這樣第二個四年會減半 所以我再乘個第一個四年 第二個四年會乘個1/2 第三個四年會乘1/2的平方 第四個四年(1/2)^3 這樣一直加下去 如果我們把都算出來最後結果大概是2100萬個 也就是說這個比特幣一共就只有2100萬個 它是通過打包獎勵這種方式把它擴散出去的 就是這樣的一個問題 那正因為有的這個手續費和打包獎勵這兩條 所以大家都搶著去打包 你搶著去打包那以誰為準

LBRY影片區塊鏈,免費邀請連結。。。

下一個問題以誰為準只能是一個人打包 以誰為準只能是一個人打包 這個權利給誰中本聰想到一個辦法叫工作量證明 這個工作量證明是什麼意思 就是說每一個參與的用戶他都要去做一個很難的數學題 這個很難的數學題你把它做出來了 那你就可以有權利進行打包 你如果要進行打包了 你就會獲得手續費以及打包獎勵 這個很難的數學題難到什麼程度 難到沒有任何一個人能夠直接通過腦子把它做出來 我們必須一個一個數去嘗試 直到你把它嘗試出來了 那麼你就獲得這個獎勵 所以這個過程我們就稱之為挖礦 如果你把這個數學題做出來了 你就獲得了這個打包的獎勵 而這個打包的獎勵就是幾十個比特幣 你就稱之為挖礦成功了這就是挖礦的含義 那麼具體這個數學題到底是怎麼回事 咱們來往下繼續說 我們下面來講一下挖礦的具體原理是什麼 挖礦的原理 挖礦我們剛才說過它是做一個很難的數學題 但是這個數學題並不是看你腦子聰明不聰明 而是看你CPU的速度如何

LBRY影片區塊鏈,免費邀請連結。。。

因為沒有人能夠通過腦子把它算出來 大家的方法只能是一個一個試具體的原理是什麼 首先我們回憶一下 以前我們曾經講過一種叫做哈希函數的東西 這個哈希函數它的意思呢也可以叫數字摘要或者散列函數 它的意思是說我們可以把一個字符串通過一定的運算 轉化成一個​​摘要的形式 而且你正著算比較容易 反著算很難 比如說哈希算法裡面有一個很著名的哈希算法叫SHA256 SHA256這是美國國家安全局發明的一種算法 如果我把一個字符串輸入到這個SHA256函數里邊 比如這個字符串叫apple apple輸出了多少呢 輸出的是一個二進制數 這個二級數有256位 比如說101011010... 沒有什麼規律 一共有多少位呢一共有256位 所以就叫SHA256 而且這個算法就是不管你前面輸入的是什麼 那後面它結果都是256位的一個二進制數 你把一個10個G的電影放進去

LBRY影片區塊鏈,免費邀請連結。。。

它最後輸出的還是256位的數 而且如果你改一點點它這個數字都不一樣 比如我在apple這我加一個點多了一個點 最後這每一位的數字都有可能會發生變化 這就是它的一個特點 而且哈希算法的難度就在於它正向... 有趣之處它正向算比較容易正向算比較容易 但是它反向算非常的困難這就是它算法的一個特點 我們舉個例子比如說有這麼一個函數 就是x^3+log2(x)+sin(x)=y 我是舉個例子 你給我一個x讓我算出y來其實這個並不難 但是你給我一個y問我x是幾這就很困難 哈希函數比這個還要復雜得多所以它反算基本上是不可能的 我們只能怎麼辦 我們只能一個一個去試 假如你告訴我一個結果 你問我什麼結果是這個那我就只能一個一個試 一直把它試出來為止 這個就是哈希算法的一個基本的問題 那麼這個挖礦其實就是基於這個SHA256的這麼一個運算 我們來說一下挖礦的具體的原理是什麼 剛才我們說到這個區塊鏈其實是一大堆的交易信息 一大堆的交易信息

LBRY影片區塊鏈,免費邀請連結。。。

比如說這個區塊鏈已經鏈接到了某一個位置 從最開始第一個塊開始鏈 一直鍊鍊到了某一個位置 這是目前的情況 這個塊裡並不只有交易信息 它實際上是有一個塊的頭部有一個塊的頭部 還有它裡邊有一些內容 這個內容其實就是信息 就是我們交易的這個記錄賬單 現在有很多的人說我現在都想進行打包 為什麼呢因為打包有獎勵還有手續費 每一個人都有自己的一個賬單 這個賬單是他收集了周圍一大堆人造成的賬單 每一個人都拿著賬單準備去網上接塊 但是在接塊的時候他必須要算一個數學題 什麼數學題呢首先它會有一個字符串 它會有一個字符串 這個字符串裡邊的內容非常多 但是我們說一些主要的這個字符串包含哪些內容呢 首先包含目前的這個塊目前已有的這個塊 也就是前塊這個前塊的頭部 這個前塊的頭部 這是第一個部分 第二個部分就是它現在已經有了這個賬單的信息 你已經有打包好的這個賬單的信息 還有比如說像時間之類的時間戳之類的

LBRY影片區塊鏈,免費邀請連結。。。

還有一大堆亂七八糟的 然後還有一個很重要的就是有一個隨機數 這是你的一個字符串 現在你對這個字符串做兩次SHA256的運算 它的哈希值等於什麼呢 等於SHA256 然後SHA256 然後字符串 你把這個字符串做兩次這個哈希運算 這個速度其實非常快 你一下子能算出來這個數是幾 但是你算出來之後會發現它是一個256位的數 這個256位的數我們要求什麼呢 要求它的前n位必須是0 比如說你算出來的這麼個數 這個數結果是00000000... 比如說有這個九個0 這有九個0 然後後面是什麼1011.....1 一直到最後一共有256位 你算出這麼一個數來 假如我的要求就是前九個位數是0 那你就算對了 你就算對了 你算對了你就有資格去打包 你就有資格打包的意思是說

LBRY影片區塊鏈,免費邀請連結。。。

你要把你算出來的這個哈希值 作為一個新塊的頭部 然後你算出來這麼一個數對吧 然後作為一個新塊的頭部打一個包 打完了這個包之後再把你這個包乾嘛 接到後面去 於是你就接出一個新塊來 接出個新塊來你就獲得了什麼 獲得了你想要的獎勵就這樣 那麼我們怎麼能算出來前面這幾位都是0呢 就要改變一個內容就是改變這個隨機數 其他的內容你是改不了的對吧 所以你就改變這個隨機數 隨機數最開始從0開始 從0開始 0算一次看看是不是滿足條件 不滿足好算1 1不行算2 2不行算3 它都是二進制的 你就不停這麼試直到你把它試出來為止 而且大家要注意 每個人在計算的時候它的這個題目難度是不一樣的 為什麼呢 因為每一個人雖然前塊的頭部大家都一樣 但是你所打包的這個賬單可能是不一樣的對吧 你的時間開始時間可能是不一樣的 還有你的個人信息也是不一樣的

LBRY影片區塊鏈,免費邀請連結。。。

所以造成了這個隨機數大小不同 有人運氣好他第一個數就算出來了 那直接就打包起來了對吧 有人運氣不好 他雖然計算能力強 算得好長時間最後也算不出來 不過平均來講是這樣的 誰的計算能力更強 誰就更有希望打包這個塊 誰就更有可能去挖到這個礦 就是這樣子的 你說大家為什麼拼命的去買這個礦機對不對 好那我們繼續往下說 說這個我們有一個難度的設置 這個難度的設置 也就是這個n位 這個n是怎麼確定的 難度n的確定 顯而易見 前面的這個0它個數越多 這個問題它就越難 為什麼個數多就難 咱們想像說在這個問題中你不可能反算 只能是一個一個隨機去試 每一位上出現0的概率和出現1的概率各是50% 所以第一個是0的話 你概率是多少 概率是1/2 對吧 概率是1/2 第二位是0的話 概率多少

LBRY影片區塊鏈,免費邀請連結。。。

概率也是1/2 第三位是0 概率也是1/2 一直到最後一位是0 概率也是1/2 這樣乘起來結果得多少 得(1/2)^n 顯而易見 這個n越大這個難度就越高 n越小難度就越低對吧 那中本聰當時在設計的時候 就是保證每十分鐘 每十分鐘他需要出一個塊 需要出一個塊 然後打包幾千條信息 那怎麼去保證 就是調整這個n的難度 調整這個n的數字 我們舉個例子 比如說 比如說世界上有1萬台礦機 1萬台礦機 這個1萬台礦機每一台的計算能力是14個T每秒 也就是每秒鐘可以計算14T次哈希運算 14T是多少 1T是10的12次方 所以這個數是1.4x10^13次每秒 好那麼十分鐘你到底能算多少次 咱們算一下 這個10分鐘應該是600秒對吧 1.4x10^13 這是每一個礦機一秒鐘算的 再乘以10的4次方 這表示有1萬台礦機

LBRY影片區塊鏈,免費邀請連結。。。

然後你還得乘以10分鐘大概是600秒對吧 這個數字大概是8x10^19 也就是說十分鐘大家可以進行這麼多次運算 這麼多次運算 那我們再想一下 你如果概率是(1/2)^n 你想出來這個塊的話 你需要計算的次數就是2^n吧 你概率1/64的話 你出的這個塊平均你要算64次 同樣道理你算了這麼多次 對不對 那麼它大概相當於是2的多少次冪 我們可以通過計算發現 如果這個n等於66的話 這個時候你的出現概率 能夠算出概率是(1/2)^66 然後你平均需要算的次數 平均的次數就是2^66 大概也是8x10^19 所以在這種情況下礦機就會把難度設置成n等於66 第一個能夠算出來前66位全都是0的人 就成功打包這個塊 就成功地挖到了礦 你沒有辦法讓自己運氣變得更好 你能夠做得就是買更多的礦機 然後拼命的去挖礦 這樣你就有可能會得到這個比特幣 大概就是這樣一個原理是吧

LBRY影片區塊鏈,免費邀請連結。。。

好我們這次解釋的到底區塊鏈這個塊到底是怎麼形成 但實際上還有很多問題沒有解決 比如說我們如何去防止這個雙重支付的問題就沒有解決 我們還沒有解決說我們怎麼防止偽造的問題 那這些問題我們會在下一回再給大家做介紹 大家如果喜歡我的視頻 可以在西瓜視頻和YouTube帳號李永樂老師里關注我.

LBRY影片區塊鏈,免費邀請連結。。。

進階閱讀



CC BY-NC-ND 2.0 版权声明

喜欢我的文章吗?
别忘了给点支持与赞赏,让我知道创作的路上有你陪伴。

加载中…

发布评论