新人必看,10分钟了解区块链工作原理和流程,你不得不懂的知识。WeCoin.io区块链资讯 比特幤bitcoin||比特币BTC

Hello大家好我是WeCoin吳彥祖區塊鏈是眼下的大熱門新聞媒體大量的報道宣稱它將創造未來可是簡單易懂的入門內容卻很少區塊鏈到底是什麼有何特別之處很少有人解釋今天我們就來嘗試做一個最好懂的區塊鏈教程畢竟他也不是什麼很難的東西核心的概念非常簡單幾句話就能說清楚我希望你看完這個視頻不僅可以理解區塊鏈還會明白什麼是挖礦為什麼挖礦會越來越難的問題區塊鏈是什麼一句話它是一種特殊的分佈式數據庫首先區塊鏈主要最後是用來儲存信息就像儲存你的聊天記錄一樣任何需要保存的信息都可以寫入區塊鏈也可以從裏面讀取所以它是數據庫其次任何人都可以架設服務器加入區塊鏈的網絡成為一個節點區塊鏈的世界裏面沒有中心節點每個節點都是平等的都保存着整個數據庫你可以向任何一個節點寫入或者讀取數據因為所有的節點最終都會同步保證區塊鏈的一致性舉個例子我們常用的某信就是中心化的服務器某訊的主機就是中心節點大家所有的聊天內容都是通過他們的節點在發送給你想發送的人然後聊天記錄留存在他們的服務器上如果使用區塊鏈你的信息可能發送給任何一個節點然後進行全網節點同步這樣所有的機電就都是一個數據庫其次你的電腦也可以安裝程序成為一個節點通過加密後保存所有人的聊天記錄和某訊的服務器擁有一樣的權限和級別其實分佈式數據庫並非新的發明市場上早有此類產但是區塊鏈有一個革命性的特點區塊鏈沒有管理員他是徹底的無中心的其他的數據庫都有管理員但是區塊鏈沒有如果有人想對區塊鏈添加審核也是實現不了的因為它的設計目標就是為了防止出現居於中心地位的管理當局正是因為無法管理區塊鏈才能做到無法被控制否則一旦被大公司大集團掌控了管理權他們就會控制整個平台其他使用者就必須聽命於他們但是沒有了管理員人人都可以往裏面寫入數據怎樣才能保證數據是可信的呢被壞人改了怎麼辦呢區塊鏈有一個個區塊組成區塊很像數據庫的記載每次寫入數據就是創建一個區塊每個區塊包含了兩個部分區塊頭和區塊體區塊頭記錄當前區塊的特徵值區塊提記錄當前的實際數據區塊頭包含了當前區塊的多項特徵值生成時間實際數據的哈希上一個區塊的哈希等等你需要理解什麼是哈希就是理解區塊鏈所必須的所謂哈希就是計算機可以對任意內容計算出一個長度相同的特徵值區塊鏈的哈希長度是256位就是說不管原始內容是什麼最後都會計算出一個256位的二進制數字它可以是一個笑臉一個語音一段話或者一個視頻而且可以保證只要原始內容不同對應的哈希一定是不同的舉例來說字符串123的哈希是這個轉換成二進制就是256位而且只有123能夠得到這個哈希理論上其他字符創也有可能得到這個哈希但是概率是極低的可以近似認為是不可能發生因此就有了兩個重要推論一每個區塊的哈希都是不一樣的可以通過哈希識別區塊二如果區塊的內容改變了它的哈希一定會改變區塊以哈希是一一對應的每個區塊的哈希都是針對區塊頭計算的也就是說把區塊頭的各項特徵值按照順序連接在一起組成一個很長的字符串再對這個字符串計算哈希SHA256區塊鏈的哈希算法注意這個公式裏面只包含了區塊頭不包含曲塊體也就是說哈希是由區塊頭唯一決定的前面說過去話頭包含了很多內容其中有當前區塊的哈希還有上一個區塊的哈希這個意味着如果當前區塊體的內容變了或者上一個區塊的哈希變了一定會引起當前區塊的哈希改變這一點對區塊鏈有重大意義如果有人修改了一個區塊該區塊的哈希就變了為了讓後面的區塊還能連接到它就必須依次修改後面所有的區塊否則被改掉的區塊就脫離了區塊鏈由於後面要提到的原因哈希的計算很耗時短時間內修改多個區塊幾乎是不可能發生的除非有人掌握了全網51%以上的算力正式通過這種聯動機製取貨鏈區塊鏈保證了自身的可靠性區塊鏈一旦寫入就無法被篡改就像歷史一樣發生了就是發生了從此再也無法改變每個區塊都連接着上一個區塊這是區塊鏈這個名字的由來由於必須保證節點之間的同步所以新區塊的添加速度不能太快試想一下你剛同步了一個區塊準備基於它生成下一個區塊但這個時候別的節點又有了新的區塊產生你不得不放棄做了一半的計算再次去同步因為每個區塊的後面只能跟着一個區塊你永遠只能在最新區塊的後面生成下一個區塊所以你別無選擇一聽到信號就必須立刻同步所以區塊鏈的發明者中本聰故意讓添加新區塊化變得困難它的設計是平均每十分鐘全網才能產生一個新的區塊一小時也只產生六個而已這種產出速度不是通過命令達成的而是故意設置了海量的計算也就是說只有通過這些大量的計算才能得到當前區塊的有效哈希從而把新區塊添加到區塊鏈由於計算量太大所以快不起來這個過程叫做採礦也叫做挖礦因為計算有效哈希的難度好比在全世界的沙子裏面找到一粒符合條件的沙子計算哈希的機器叫做礦機操作礦機的人叫做礦工讀到這裏你可能還會有一個疑問人們都說採礦好睏難可是採礦不就是用計算機來計算出一個個哈希嗎這正是計算機的強項啊怎麼會變得困難呢遲遲算不出來原來不是任意一個哈希都可以只有滿足條件的哈希才會被區塊鏈所接納這個條件特別的苛刻使得絕大部分哈西都不能夠滿足要求必須重算原來哈希頭包含一個難度係數這個值決定了計算哈希的難度舉例來說第十萬個區塊的難度係數是14000區塊鏈協議規定使用一個常量除以難度係數可以得到目標值顯然難度係數越大目標值越小哈希的有效性跟目標值密切相關只有小於目標值的哈希才是有效的否則哈西無效必須重算由於目標值非常小哈希小於該值的機會極其渺茫可能計算十億次才能中一次這就是採礦如此之慢的原因剛才說過當前區塊的哈希由區塊頭唯一決定如果要對同一個區塊反覆計算哈希就意味着區塊頭必須不停地變化否則不可能算出不一樣的哈希區塊頭裏面所有的特徵值都是固定的為了讓區塊頭產生變化中本聰故意增加了一個隨機項叫做 NonceNonce是一個隨機值礦工的作用其實就是猜出Nonce的值使得區塊頭的哈希可以小於目標值從而能夠寫入區塊鏈Nonce是非常難猜的目前只能通過窮舉的方法一個一個試錯根據協議Nonce是一個32位的二進制最大可以到2147億第十萬個區塊的Nonce是2.74億可以理解成礦工從零開始一直計算了274億次才得到了一個有效的Nonce值使得算出的哈希能夠滿足條件運氣好的話也許一會兒找到了Nonce運氣不好的話可能算完了2147億都沒有辦法發現Nonce及當前趨話題不可能算出滿足條件的哈希這時協議允許礦工改變區塊體開始新的計算正如剛才所說採礦具有隨機性沒法保證正好十分鐘產出一個區塊有時一分鐘就算出來有時幾個小時也沒有結果總體來說覺得硬件設備的提升以及礦機量增長計算速度一定會越來越快為了產出速率恆定在十分鐘中本聰還設計了難度係數動態調整機制它規定難度係數每兩周調整一次如果這兩周裏面區塊的平均生成速度是九分鐘就意味着這比預定速度快了10%因此接下來的難度係數就要調高10%如果平均速度升漲是11分鐘就預約者與預定速度慢了10%因此接下來難度係數就要降低10%難度係數越調越高目標值越來越小導致了採礦越來越難即使區塊鏈是可靠的現在還有一個問題沒有解決如果兩個人同時區塊鏈寫入數據也就是說同時有兩個區塊加入因為他們都連接着前一個區話就形成了分叉這時應該採用哪一個區塊呢現在的規則是新節點總是採用最長的那條鏈如果區塊鏈有分叉將看哪個分支在分叉點後面先打到六個區塊兒分之為六次確認按照十分鐘一個區塊計算一小時就可以完成由於新區塊的生成速度由計算能力決定所以這條規則就是說擁有大多數計算能力的那條分支就是正宗的區塊鏈區塊鏈作為無人管理的分佈式數據庫從2009年已經運行了11年沒有出現過大的問題這證明它是可行的但是為了保證數據的可靠性區塊鏈也有自己的代價一是效率數據寫入區塊鏈最少要等待十分鐘所有節點都同步數據則需要更多的時間二是能耗區塊的生成需要礦工進行無數無意義的計算這是非常浪費能源的因此區塊鏈的適用場景其實有限不存在所有成員都信任管理的當局寫入的數據不需要實時使用挖礦的收益能夠彌補本身的成本如果發滿足上述三個條件那麼傳統的數據庫將是更好的解決方案目前去核鏈最大的應用場景就是以比特幣為代表的加密貨幣去中心化金融和通信等行業也在快速的發展有興趣的可以去搜索感受下如果你是第一次看到我的節目需要告訴你我的頻道是分享我關於區塊鏈和加密貨幣的知識、新聞和投資機會的如果你也對這些內容感興趣那就一定要定要關注我咯如果你覺得我說的不錯就給我個贊吧~另外關注公眾號WeCoin資訊加我微信就可以和群友們一起聊天咯~投資有風險 入市需謹慎祝大家明年暴富拜拜~