摘要:直到比特幣大火時,才對區塊鏈技術感到一絲興趣。看過比特幣的白皮書,發現區塊鏈技術是比特幣的一個基礎。這筆交易記錄在正常的區塊鏈中。總結相對于中心化的高成本的方式,區塊鏈技術可能是一種解放生產力的技術。作為一名開發者,我相信區塊鏈的未來。
前言
博客停更已經一陣子了,原因林林總總,從畢業到搬家,人生踏入了另一段旅程。今天我們的話題聊一聊區塊鏈。這是我與我畢設相關的主題。大家對于區塊鏈的爭議,似乎一直存在。幣圈那些陳谷子的事情,影響著區塊鏈的發展。目前,眾多區塊鏈團隊中,真正在研究區塊鏈應用場景的,少之又少,同樣能讓區塊鏈應用落地,也需要時間。但是,區塊鏈技術的出現,可以說是一個金融領域和互聯網領域的一個里程碑。下面我們來聊聊區塊鏈技術吧。如果你喜歡我的文章,歡迎評論,歡迎Star~github博客
正文其實,早在比特幣大火之前,我就聽說過區塊鏈(看過一篇公眾號講述區塊鏈與人才鏈之間的相關性)。當初,對于區塊鏈的理解,并沒有特別深刻,同時也毫不在意。在經濟社會中,資本已經能夠推動技術的發展了。直到比特幣大火時,才對區塊鏈技術感到一絲興趣。
看過比特幣的白皮書,發現區塊鏈技術是比特幣的一個基礎。同時,畢業設計選擇的主題也是與區塊鏈相關的方向,所以,在此聊聊區塊鏈。
簡單來說,區塊鏈就是一個分布式的賬本,或者說分布式的數據庫。這個數據庫可以同步到節點網絡中的每個節點。用阮一峰老師博客中的一張圖來形容,如圖:
這種圖中,我們可以看到,之所以說是去中心化,是因為在整個節點網絡中,每個節點都是參與者,每個節點都能夠進行數據處理的操作,并沒有一個統一的中心化服務器來進行業務處理。然后,每個節點處理的結果會被傳播到整個網絡中去,來同步全部的網絡。
區塊鏈的英文比較有意思,叫做blockchain。我們可以將blockchain拆分開來看就是block+chain(塊+鏈)。所以,我們可以先來了解一下區塊的內容。
區塊區塊是什么?區塊就是一個類似于數據庫的東西,用來記錄數據的地方。所以,每次系統寫入數據時,都會創建區塊。
下面,我們來看一下一副區塊的實例圖,如下:
這里開頭有個Previous Hash就是用來記錄上一個區塊的Hash值的。這樣就可以上一個區塊和下一個區塊連接起來。
同時,它也記錄了區塊的時間和區塊內部的Data。Hash值,就是一種加密后得出來的字符串。Hash是一種單向加密,現實中很少出現Hash碰撞的事件。一般而言,Hash值的破解只能使用只能使用彩虹表等手段才能達到。其本身的安全性就是相對一般的加密方法要高的。我們會接觸到的Hash加密有MD5加密、SHA128和SHA256。目前而言,SHA256是很難破解的。
說了這么多Hash相關的內容,回過頭來說一下Block。我們可以來看一下,實際的一些Block表內容,如圖:
這是一個測試網絡的區塊列表,我們可以看到它的block ID就是一個hash值。同時,它具備高度等特殊字段,來記錄整個區塊的內容大小。
了解了區塊之后,我們來看一下區塊鏈的形成。
鏈的形成拿比特幣舉例,交易比特幣的過程就是,區塊形成的過程。區塊的建立,就像賬本的數據一樣,有了數據就有了區塊。同樣的,生成區塊的過程會產生一定的獎勵。下面生成的區塊會連接上一個區塊的hash,這樣可以保證整個區塊鏈的不可更改性。如圖所示:
如果黑客修改了第51塊的內容,那么他就必須修改52塊中51的Hash值。同時,修改了52的內容,導致了52本身的Hash值發生了變化。所以,這就導致了一系列的連鎖反應。同時,區塊鏈會往整個網絡廣播整個過程。這樣,網絡節點中的每個節點都會收到改變,改變自身的區塊內容。
這樣的設計,可以保證整個網絡中的內容沒有辦法被外力而改變。這也說明整個網絡是安全的。那么什么是51%的攻擊呢?
我們來舉個例子:
假設我具備了全網51%的算力,那么,我可以偷偷的計算出一個這樣的區塊鏈,包含我所有的比特幣交易到我的私人賬戶的信息。這個區塊鏈的長度為10,但是我不向全網進行廣播。同時,我將所有的比特幣放入到交易市場進行售賣。這筆交易記錄在正常的區塊鏈中。
當我交易所得美元進行提取時,正常的區塊鏈長度應該是9。而我的隱藏的區塊鏈長度是10,同時,將這個區塊鏈廣播到網絡中去,然后通過觀察網絡會認為我后發的區塊是正確的,從而到達修改了那筆交易記錄的目的。
之后,就是雙花問題的解決了。
雙花問題何為雙花問題?從表意上來說,就是一個人在同一時間進行了兩筆交易。這個問題,一直是支付系統的難點。無論是中心化的支付系統,還是去中心化的交易系統,都得面對這個問題。舉個例子:
某某人,手里有20塊錢。他同時與兩個人進行了一筆20塊錢的交易。現實生活中,你可以明確地發現問題。但是,相對于支付系統而言,并發的情況經常發生。一旦一個不完善的支付系統,雙花問題是很容易發生的。當然,后端處理過程中,可以通過隊列的形式來解決問題。但是,對于去中心化的交易系統而言,這個問題也需要解決。
每一筆交易的產生,都會產生一個區塊,那么,往往會發現這么一種情況,如圖:
我們可以看到,Block A和Block B就會同時去連接上一個區塊。那么,相對于這個問題,比特幣系統采用的規則就是選最長的那條鏈。通常,比特幣采用的是6次確認規則。在1小時內,根據10分鐘產生一個區塊的原則,往往會生成一條6個長的區塊。那么,只要確認下這條區塊,就可以避免去連接其他區塊了。
理論上是,區塊鏈越長,準確性越高。
總結相對于中心化的高成本的方式,區塊鏈技術可能是一種解放生產力的技術。當然了,區塊鏈的實際落地場景并不多,比特幣是為數不多的,真正落地的應用。作為一名開發者,我相信區塊鏈的未來。這篇內容中,我們講述了:
區塊的產生
鏈的形成
雙花的問題
最后,希望大家能夠對區塊鏈感興趣。
如果你對我寫的有疑問,可以評論,如我寫的有錯誤,歡迎指正。你喜歡我的博客,請給我關注Star~呦github博客
歡迎訂閱微信公眾號
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/96099.html
摘要:轉賬手續費為的情況下,礦工怎么獲得收益呢礦工這一概念,存在于共識算法中,共識算法中是沒有礦工的存在的。也減少了作惡節點對整個區塊鏈造成影響的可能性。隨后由被選出的記賬人團體通過算法,來達成共識并生成新的區塊。 近期,我們收到很多來自NEO社區愛好者對于如何獲得GAS的疑問,為此我們采訪了NEO的高級研發經理Malcolm。showImg(https://segmentfault.com...
摘要:會上,中國信息通信研究院通信標準所副所長數據中心聯盟常務副理事長何寶宏以云計算產業現狀及技術展望為主題,做了精彩的演講。 云服務市場風起云涌,越來越多的云服務和產品問世。面對多樣化的云服務市場,行業用戶該如何選擇適合自身業務的基礎設施?7月18日,本著加強技術交流,推動云端用戶生態持續健康發展,由云計算發展與政策論壇用戶委員會主辦,中國IDC圈、云計算熱點承辦的云用戶生態發展論壇暨第三屆中...
摘要:對于網上的關于原型,原型鏈和原型鏈繼承的晦澀語言說明就不累贅了,復制粘貼過來再解釋一遍怕自己也整蒙了,本人最怕空氣突然安靜,四目對視,大眼對小眼,一臉懵逼。對于網上的關于原型,原型鏈和原型鏈繼承的晦澀語言說明就不累贅了,復制粘貼過來再解釋一遍怕自己也整蒙了,本人最怕空氣突然安靜,四目對視,大眼對小眼,一臉懵逼。 我們先看下面
閱讀 2319·2021-11-23 09:51
閱讀 3752·2021-11-11 10:57
閱讀 1400·2021-10-09 09:43
閱讀 2489·2021-09-29 09:35
閱讀 2019·2019-08-30 15:54
閱讀 1792·2019-08-30 15:44
閱讀 3185·2019-08-30 13:20
閱讀 1694·2019-08-30 11:19