FinTech-Blockchain区块链
FinTech-Blockchain區(qū)塊鏈
原創(chuàng)?2016年07月07日 21:57:30最近有同事研究Blockchain, 作為曾今在投行打拼過的人事,好吧,投行IT,更加適合來研究介紹新一代的黑科技FinTech-Blockchain,區(qū)塊鏈, 另外其實區(qū)塊鏈與最近研究的分布式存儲息息相關(guān),正好趁熱打鐵。
總目錄
- BitCoin比特幣
- 創(chuàng)始人-中本聰
- 區(qū)塊鏈-Blockchain
- 核心算法
- 技術(shù)架構(gòu)
- 交易過程-程序/數(shù)學(xué)
- R3 CEV?
- 總結(jié)
1. BitCoin比特幣
提到BlockChain不得不先提及比特幣, 其實比特幣的核心就是區(qū)塊鏈技術(shù)。BitCoin比特幣最初由中本聰2009年提出,并發(fā)布開源軟件。之后構(gòu)建于其開源軟件并 + P2P網(wǎng)絡(luò),逐步形成了P2P形式數(shù)字貨幣。點對點的傳輸意味著去中心化的支付系統(tǒng),說的有點技術(shù)化。
總體來說Bitcoin作為一種網(wǎng)絡(luò)虛擬貨幣,Bitcoin的發(fā)行、流通和管理權(quán)不屬于某一個人、組織、公司或者國家。比特幣發(fā)行依據(jù)特定算法,通過大量的計算產(chǎn)生,比特幣使用整個P2P網(wǎng)絡(luò)中眾多節(jié)點構(gòu)成的分布式存儲/分布式數(shù)據(jù)庫確認并記錄所有的交易行為,并使用密碼學(xué)的設(shè)計來確保貨幣流通各個環(huán)節(jié)安全性。同時P2P的去中心化特性與算法本身可以確保無法通過大量制造比特幣來人為操控幣值,造成大量的通漲,而這一點也為其后與很多央行正面沖突埋下伏筆。
2. 創(chuàng)始人
提到其創(chuàng)始人中本聰,這個名字是化名。據(jù)可靠推測,中本聰是京都大學(xué)數(shù)學(xué)系教授望月新一。
其貌不揚,1969年出生于東京,16歲進入美國普林斯頓,3年后研究生師從著名德國數(shù)學(xué)家,23歲獲得數(shù)學(xué)博士學(xué)位, 可見成名要早。
當(dāng)然目前并無100%確鑿證據(jù)說其為創(chuàng)始人,但種種跡象推測有很大可能是這位數(shù)學(xué)博士。盡管也有人質(zhì)疑,如一個數(shù)學(xué)家開發(fā)出分布式網(wǎng)絡(luò),以及提出具有顛覆性質(zhì)的虛擬貨幣,包括掌握高深密碼學(xué)知識等等,我們不做貿(mào)然猜測。
3. 區(qū)塊鏈Blockchain
讓我們來引出區(qū)塊鏈Blockchain, 比特幣的核心就是區(qū)塊鏈技術(shù)。簡單來說,區(qū)塊鏈?zhǔn)峭ㄟ^一套嚴(yán)謹?shù)募用芩惴ㄑ葑兌鴣?#xff0c;通過復(fù)雜的公鑰和私鑰設(shè)置,區(qū)塊鏈網(wǎng)絡(luò)將整個金融網(wǎng)絡(luò)中所有的交易數(shù)據(jù)/賬本分布到每個客戶端并打包成一個區(qū)塊鏈,在連續(xù)6個區(qū)塊鏈確認后交易基本確認,當(dāng)然最終確認的話只有交易被網(wǎng)絡(luò)中超過51%的客戶端紀(jì)錄后,才算交易成功。夠分布夠安全,當(dāng)然還能保證每個人只能對自己財產(chǎn)進行修改,據(jù)說各位數(shù)學(xué)大牛甚者可以通過神秘公式證明其安全性,我們知難而退,呵呵。
上圖為Citi的研究報告,我們也簡單說一下區(qū)塊鏈的特點:
區(qū)塊鏈特點:
1. 去中心化: 正如比特幣以及上圖描述的金融系統(tǒng)特征,區(qū)塊鏈正引導(dǎo)金融體系從中心化轉(zhuǎn)向去中心化金融體系,沒有中介,所有節(jié)點的權(quán)利與義務(wù)都等同,任一節(jié)點失效不影響整體運作。
2. 去信任:基于分布式數(shù)據(jù)庫以及整個體系的運作公開透明化,系統(tǒng)中所有節(jié)點之間無需信任也可以交易,換句話說,在系統(tǒng)的規(guī)則和時間范圍內(nèi),節(jié)點間無法欺騙。
3. 集體維護: 系統(tǒng)是由其中所有具有維護功能的節(jié)點共同維護。
4. 可靠數(shù)據(jù)庫:系統(tǒng)中每一個節(jié)點都用于最新的完整數(shù)據(jù)庫拷貝,修改單個節(jié)點的數(shù)據(jù)庫無效,系統(tǒng)會自動比較,最多出現(xiàn)次數(shù)的相同數(shù)據(jù)被識別為真記錄。
越寫越像分布式系統(tǒng)介紹啊,CAP等。來個例子吧:
上圖來自高盛研究報告,可以看出上圖以6個保留數(shù)據(jù)庫副本的節(jié)點舉例,在第三個交易Transaction的位置5節(jié)點沒有被驗證通過(假設(shè)被惡意修改),但按照我們上邊提到結(jié)論4,此例中節(jié)點5將被其他節(jié)點覆蓋更改。
4. 算法原理
上面簡單提到了區(qū)塊鏈的交易,進一步來分析其本質(zhì)及算法。比特幣本質(zhì)其實是一堆復(fù)雜算法所產(chǎn)生的特解,特解數(shù)學(xué)術(shù)語,即方程組能得到的無限個(當(dāng)然比特幣算法為有限個)解中的一組。而每一個特解都能解開方程并且唯一。呃,夠抽象。不清楚的話,還是有請我的各位數(shù)學(xué)博士同學(xué)們@林博士, @吳博士@楊博士指導(dǎo)吧。
舉個個例子,以人民幣來解釋的話,比特幣就是人民幣序列號,你知道了這個鈔票的序列號,就算擁有這張鈔票。而挖礦的過程就是通過大量計算來求解這個方程組的特解,而這個方程組目前被設(shè)計成只有2100萬個特解。這樣舉例是不是好懂一些?嗯,看到人民幣你就懂了。
5. 技術(shù)架構(gòu)
既然技術(shù)解析,讓我們從其架構(gòu)設(shè)計開始逐步深入。
上圖是Bitcoin的分布式交易網(wǎng)絡(luò),可以看出每個P2P節(jié)點包涵了一個區(qū)塊鏈。
區(qū)塊Block:
一個區(qū)塊是一些記錄一些或者所有最新比特幣(當(dāng)然對于我們FinTech可以擴展為所有金融交易)交易信息的地方,數(shù)據(jù)以文件永久存儲。我們可以簡單認為一個區(qū)塊是賬本里面的一頁,區(qū)塊一旦添加,不能改變或者刪除。
所以區(qū)塊構(gòu)成了整個一個公開共享的交易記錄,所有已經(jīng)確認的交易都被包含在塊鏈中。其中,塊鏈的完整性及時序性由加密算法保證。
區(qū)塊鏈Blockchain:
有了區(qū)塊,很自然,按照雙向鏈表形式鏈接起來就構(gòu)成了區(qū)塊鏈。
每個區(qū)塊都會保存上一個節(jié)點的hash值,這樣保證順序性,只有創(chuàng)始區(qū)塊沒有上一個節(jié)點。Block鏈全網(wǎng)唯一,每個節(jié)點都有備份replicaiton,區(qū)塊鏈一旦有更新則全網(wǎng)廣播通知。
挖礦Miner:
挖礦則是指將待確認交易數(shù)據(jù)歸并包含到塊鏈的過程,從而完成對交易的確認及分布式系統(tǒng)。挖礦可以同時保證強制塊鏈中的數(shù)據(jù)按照時間順序存儲,并通過加密算法加密,以防止對已有塊的修改。
用戶賬戶:
如上圖可以看出每個賬戶本質(zhì)上包含了一對公鑰,私鑰。有私鑰的人為賬戶所有人。
6 . ?交易過程
如A轉(zhuǎn)賬給B, A就把錢的數(shù)量加上B的公鑰,再使用自己的私鑰簽名。整個簽名包含了A所有人的私鑰,以及上次交易信息T1, 轉(zhuǎn)賬目標(biāo)B的公鑰或稱之地址,已經(jīng)當(dāng)前交易T2。當(dāng)B看到這個簽名,可以通過A的公鑰結(jié)合簽名確認A的身份。為了公正或者大家認可,交易在P2P分布式網(wǎng)絡(luò)廣播,最終當(dāng)交易信息確認后,B就可以使用錢了,或者說交易正式完成。
其中值得提及的是數(shù)字簽名包含了上一次交易信息T1, 其目的是要說明當(dāng)前交易的貨幣來源。而簽名則引入了著名的橢圓曲線數(shù)字簽名算法(ECDSA)。
交易流程
總結(jié)來說,一筆交易區(qū)塊鏈運作流程:
1. 產(chǎn)生一筆交易
????一筆交易產(chǎn)生后,會被廣播到區(qū)塊鏈網(wǎng)絡(luò)中的其他參與節(jié)點
2. 各節(jié)點將數(shù)筆新交易放進區(qū)塊
????每個節(jié)點將數(shù)筆未驗證的交易Hash值收集到區(qū)塊中,每個區(qū)塊可以包含數(shù)筆或上千筆交易
3. 決定由誰來驗證這些交易
????各節(jié)點進行工作量證明的計算來決定誰可以驗證交易,由最快算出結(jié)果的節(jié)點來驗證交易,取得共識算法。
4.取得驗證權(quán)的節(jié)點將區(qū)塊廣播給所有節(jié)點。
???最快完成POW的節(jié)點,會將自己的區(qū)塊廣播給其他節(jié)點
5.?各個節(jié)點驗證并接上新的區(qū)塊
????其他節(jié)點確認這個區(qū)塊所含交易是否有效,確認沒被重復(fù)話費且具有有效數(shù)位簽章后,接受該區(qū)塊,此時區(qū)塊正式接入?yún)^(qū)塊鏈,無法再被篡改。
6. 交易驗證完成
????所有節(jié)點一旦接受該區(qū)塊后,先前沒算完P(guān)OW工作的區(qū)塊會失效,各節(jié)點會重新建立一個區(qū)塊,繼續(xù)下一回POW計算工作
程序流程
看到一段以程序員角度來描述整個交易過程的神邏輯,如下:
發(fā)送轉(zhuǎn)賬付款流程:
1. 把一些有余額已確認的交易拿出來作為發(fā)送源
2. 根據(jù)目標(biāo)地址生成支付交易
3.使用私鑰對生成支付交易簽名
4. 廣播出去
清晰明了。
繼續(xù),再來看一下后續(xù)所謂的“挖礦”神邏輯:
如我們所講,挖礦實際上就是不斷從比特網(wǎng)絡(luò)獲取所有未確認交易并進行計算特解的過程,所以是一個永遠的循環(huán)while(true)
找到目前最長,難度最大的區(qū)塊鏈,上文提到的全網(wǎng)唯一區(qū)塊鏈。
產(chǎn)生一個隨機數(shù)作為計算Block哈希散列的seed
從網(wǎng)絡(luò)上獲取尚未被確認的交易
把這些未確認交易打包成一個新的區(qū)塊(臨時區(qū)塊),并掛載到剛獲取的最長區(qū)塊鏈
計算新的區(qū)塊的散列值sha256(newBlock)
如果計算出的散列滿足挖礦難度(即要求二進制散列值小于某個閥值,閥值越小其挖礦難度越大)則表明挖礦成功;
挖礦成功后進行網(wǎng)絡(luò)廣播,如果其他節(jié)點確認該區(qū)塊后,交易正式被認可。
程序員的語言是不是看起來更親切啊?
數(shù)學(xué)流程
有了上文的鋪墊,我們再來看看數(shù)學(xué)家角度的挖礦:
如何?數(shù)學(xué)家眼里只有方程式,方程式可以解釋一切,包括E=MC^2 以及解釋宇宙本身。
好吧,挖礦在數(shù)學(xué)家看來就是找到可以滿足上邊方程式的解 x, x要滿足范圍0 - 2^32。
version:block區(qū)塊的版本
prev_hash:上一個區(qū)塊的hash
merkle_root: 需要寫入的交易記錄hash數(shù)的值
ntime: 更新時間戳
nbits:當(dāng)前難度
TARGET:Target目標(biāo)是根據(jù)當(dāng)前難度求出的
獲取當(dāng)前難度: http://blockexplorer.com/q/getdifficulty
下個預(yù)估難度:
所以,可以看出整個方程式,除了x,你還可以修改merkle_root, ntime來尋找解x。
7. 其他算法
上邊我們把區(qū)塊鏈核心之交易搞清楚了,但還有幾個其他重要算法尚未提到,如比特幣的產(chǎn)生,SHA256 等。
SHA256:
SHA256是一種求解Hash值的算法,屬于密碼學(xué)范疇,即將任何一串?dāng)?shù)據(jù)輸入到SH256后其輸出為一個256位的Hash散列值,相同的輸入得到相同的結(jié)果。
但是輸入只要有細微變化,則輸出也是一個千差萬別的結(jié)果,無法預(yù)測,或者術(shù)語雪崩效應(yīng)。對于正向計算非常容易,但反向破解,有Hash值反算輸入值極其困難,至少目前計算科技視作不可能。
比特幣產(chǎn)生:
交易有點類似貨幣發(fā)行后的流通以及信用控制與認可,我們來簡單看一下貨幣發(fā)行吧。
挖礦的過程,或者說創(chuàng)建新區(qū)塊,以及確認交易的過程,其生成過程被認為是難以重現(xiàn)和 proof of work 的,而所謂其付出的回報,即比特幣。注意,這個數(shù)量是動態(tài)調(diào)整遞減的,按照目前速度幾乎每四年自動減半,直至最后2100萬左右耗盡。
8. R3 CEV
呃,差點忘了介紹R3 CEV組織了。R3 CEV - 分布式分類賬聯(lián)盟, R3公司是一家位于紐約的金融技術(shù)創(chuàng)業(yè)公司,專注于研究基于區(qū)塊鏈的金融技術(shù)解決方案,已經(jīng)建立了一個由40多家國際銀行機構(gòu)組成的團體,目標(biāo)是建立一種定制的跨境區(qū)塊鏈解決方案。R3聯(lián)盟目前已經(jīng)有華爾街金融大鱷紛紛加入,包括Citi,BOA,高盛GS,摩根JP,瑞銀,大摩MS; 令人欣慰的還有中國的平安近期也宣布加入。當(dāng)然作為技術(shù)服務(wù)金融,少不了技術(shù)大家,IBM, 微軟等等。
總結(jié)
總體來說,區(qū)塊鏈作為一種新興金融技術(shù),跨多領(lǐng)域,多技術(shù),包括密碼學(xué)、數(shù)學(xué)、演算法與經(jīng)濟模型,并結(jié)合了分布式,點對點網(wǎng)路關(guān)系,利用數(shù)學(xué)基礎(chǔ)重建信任市場機制,成為一個自信任,去中心化的的分布式系統(tǒng),而比特幣便是第一個采用區(qū)塊鏈技術(shù)而打造出的一套P2P電子現(xiàn)金系統(tǒng)。除此之外,各大金融機構(gòu)各顯神通,納斯達克已經(jīng)開始打造基于區(qū)塊鏈的自動交易系統(tǒng)。相信未來誕生與比特幣的區(qū)塊鏈技術(shù)會大放異彩。
最后,上一段以前自己wechat發(fā)過的一段介紹,讓大家腦洞繼續(xù):
總結(jié)
以上是生活随笔為你收集整理的FinTech-Blockchain区块链的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dplyr和data.table让你的数
- 下一篇: 西点军校最贵一课:没强大内心的人,没资格