區塊鏈技術!
區塊鏈作為一種架構設計的實現,與基礎語言或平臺等差別較大。區塊鏈是加密貨幣背後的技術,是當下與VR虛擬現實等比肩的熱門技術之一,本身不是新技術,類似Ajax,可以說它是一種技術架構,所以我們從架構設計的角度談談區塊鏈的技術實現。
無論你擅長什麽編程語言,都能夠參考這種設計去實現一款區塊鏈產品。與此同時,梳理與之相關的知識圖譜和體系,幫助大家系統的去學習研究。
基本概念
區塊鏈的概念最近很火,它來自於比特幣等加密貨幣的實現,但是目前,這項技術已經逐步運用在各個領域。什麽是區塊鏈技術?為了感性認識這個問題,我們可以使用谷歌地球的例子做類比,ajax不是什麽新技術,但組合在一起就成就了產品谷歌地球,與之類似,區塊鏈也不是什麽新技術,但與加密解密技術、P2P網絡等組合在一起,就誕生了比特幣。技術人員,特別是Web開發工程師,學習了解ajax技術最早是被谷歌地球酷炫的效果所吸引。而現在,歷史再一次重演,很多人被比特幣的瘋狂發展所吸引,進而開始研究其背後的技術——區塊鏈。
區塊鏈原本是比特幣等加密貨幣存儲數據的一種獨特方式,是一種自引用的數據結構,用來存儲大量交易信息,每條記錄從後向前有序鏈接起來,具備公開透明、無法篡改、方便追溯的特點。實際上,這種特性也直接體現了整個比特幣的特點,因此使用區塊鏈來概括加密貨幣背後的技術實現是非常直觀和恰當的。區塊鏈是一項技術,加密貨幣是其開發實現的一類產品(含有代幣,也有不含代幣的區塊鏈產品),不能等同或混淆。與加密貨幣相比,區塊鏈這個名字拋開了代幣的概念,更加形象化、技術化、去政治化,更適合作為一門技術去研究、去推廣。
所以,目前當大家單獨說到區塊鏈的時候,就是指的區塊鏈技術,是實現了數據公開、透明、可追溯的產品的架構設計方法,算作廣義的區塊鏈。而當在具體產品中談到區塊鏈的時候,可以指類似比特幣的數據存儲方式,或許是數據庫設計,或許是文件形式的設計,這算作狹義的區塊鏈。廣義的區塊鏈技術,必須包含點對點網絡設計、加密技術應用、分布式算法的實現、數據存儲技術的使用等4個方面,其他的可能涉及到分布式存儲、機器學習、VR、物聯網、大數據等。狹義的區塊鏈僅僅涉及到數據存儲技術,數據庫或文件操作等。本文的區塊鏈,指的是廣義的區塊鏈。
區塊鏈技術!