一個(gè)產(chǎn)品經(jīng)理的區(qū)塊鏈學(xué)習(xí)指南(一)
希望通過本篇文章,能夠幫助產(chǎn)品經(jīng)理對區(qū)塊鏈技術(shù)有所了解。
最近一年,我一直在關(guān)注基于區(qū)塊鏈技術(shù)的加密數(shù)字貨幣——比如「比特幣」、「以太坊」等,并且我認(rèn)為雖然「加密數(shù)字貨幣」可能因?yàn)闀{(各國)央行的地位而無法發(fā)揮更大的作用,但是其底層的支持技術(shù)(區(qū)塊鏈)可能會改變互聯(lián)網(wǎng)的形態(tài)(至少對于互金領(lǐng)域來說)。
所以一年來我一直在和我司的程序員小哥摸索學(xué)習(xí)區(qū)塊鏈技術(shù),我將在之后的文章里逐步整理和分享基于「以太坊」(Ethereum)的私有區(qū)塊鏈網(wǎng)絡(luò),實(shí)現(xiàn)智能合約的筆記。
但是我想說的是,這并不是一個(gè)給程序員小哥來看的開發(fā)文章,而是希望能夠讓一個(gè)產(chǎn)品經(jīng)理對區(qū)塊鏈技術(shù)有所了解。因?yàn)檫@個(gè)系列不會特別深入的去將其中的編程原理,更多是一些基礎(chǔ)性的概念。
什么是區(qū)塊鏈?
說到區(qū)塊鏈,我們一般都會想到以「比特幣」為代表的加密數(shù)字貨幣。所以我們就通過「比特幣」網(wǎng)絡(luò)是如何工作的來理解區(qū)塊鏈。
就目前的金融情況而言,我們?nèi)绻M(jìn)行轉(zhuǎn)賬需要找到一個(gè)可以信任的第三方(比如銀行或第三方支付公司),由這些可信任的第三方來確保交易的有效性,但可信任第三方的存在在一定程度上增加了交易的成本。而基于加密數(shù)字貨幣可以在交易中摒棄可信任的第三方,讓任意兩人直接的交易成為可能。
比特幣交易如何進(jìn)行
有一個(gè)很著名的 Alice 與 Bob 的轉(zhuǎn)賬故事來講清楚比特幣交易的運(yùn)轉(zhuǎn)過程,我就將其簡化一下,注意斜體字部分:
- Alice 想將一些錢(假設(shè)是1 btc)轉(zhuǎn)賬給 Bob。
- Alice 通過基于 P2P 技術(shù)(這里的 P2P 可不是網(wǎng)絡(luò)借貸,而是點(diǎn)對點(diǎn)網(wǎng)絡(luò),就是快播用的那個(gè)技術(shù))的比特幣網(wǎng)絡(luò)向 Bob 發(fā)起比特幣轉(zhuǎn)賬。這里他們必須想網(wǎng)絡(luò)提供基于密碼學(xué)(非對稱加密算法)的加密證明(也就是密鑰)來證明他們的身份。
- Alice 與 Bob 的交易記錄會被記錄在一個(gè)「區(qū)塊」(「block」)中,并且這個(gè)「區(qū)塊」會被通知給比特幣網(wǎng)絡(luò)中其它的節(jié)點(diǎn)進(jìn)行確認(rèn)。
- 在比特幣網(wǎng)絡(luò)中的其它節(jié)點(diǎn)通過計(jì)算一個(gè)「難計(jì)算、易驗(yàn)證」的數(shù)學(xué)問題來完成驗(yàn)證。節(jié)點(diǎn)驗(yàn)證的動機(jī)是因?yàn)檗D(zhuǎn)賬手續(xù)費(fèi)以及在驗(yàn)證過程中新產(chǎn)生的比特幣作為找到新塊的獎(jiǎng)勵(lì)。在比特幣網(wǎng)絡(luò)中,塊的驗(yàn)證被稱為「挖礦」。
- 比特幣網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)都將會保留之前驗(yàn)證過的所有這些交易的賬本副本(分布式記賬):同周期內(nèi)的交易組成「區(qū)塊」,按照時(shí)間順序區(qū)塊會連成鏈,即「區(qū)塊鏈」,從而形成「交易」——>「區(qū)塊」——>「區(qū)塊鏈」的三層結(jié)構(gòu)。
- 一旦網(wǎng)絡(luò)中有一個(gè)節(jié)點(diǎn)解決了之前提到的「難計(jì)算、易驗(yàn)證」的數(shù)學(xué)問題,交易即被確認(rèn)。新得到的確認(rèn)的「區(qū)塊」就會被解決問題的節(jié)點(diǎn)添加到這個(gè)區(qū)塊鏈中,并向網(wǎng)絡(luò)內(nèi)其它節(jié)點(diǎn)廣播。
- 接下來,網(wǎng)絡(luò)內(nèi)的其它節(jié)點(diǎn)將驗(yàn)證解決問題的節(jié)點(diǎn)的廣播(數(shù)學(xué)問題),并達(dá)成共識,即交易成功,并且各節(jié)點(diǎn)都已經(jīng)收到。一旦達(dá)成共識,每個(gè)節(jié)點(diǎn)都將更新各自的交易記錄副本。
- 這時(shí)候,區(qū)塊鏈的特性開始展現(xiàn),因?yàn)椤纲~本副本」會存在于網(wǎng)絡(luò)中的每一個(gè)節(jié)點(diǎn),理論上任何記錄都是
公開的、不可修改的。試圖偽造的交易將無法通過網(wǎng)絡(luò)內(nèi)節(jié)點(diǎn)的驗(yàn)證,其形成的「區(qū)塊」將被舍棄。 - 當(dāng)完成以上所有步驟后,Alice 的比特幣賬戶余額將減少1 btc,Bob 的余額中講增加 1 btc.
上邊說到了幾個(gè)詞語,需要解釋一下:
點(diǎn)對點(diǎn)網(wǎng)絡(luò)(P2P 網(wǎng)絡(luò))
P2P 網(wǎng)絡(luò)并不是一個(gè)新出現(xiàn)的技術(shù),又叫「對等網(wǎng)絡(luò)」。在這個(gè)網(wǎng)絡(luò)環(huán)境中,沒有中心服務(wù)器,依托用戶群交換信息。每個(gè)參與者的地位處于平等地位,并沒有主從之分。每個(gè)參與者既是服務(wù)的提供者(server),也是服務(wù)的獲取這(client)。和我們生活最貼近的就是媒體播放了。下圖為 P2P 網(wǎng)絡(luò)示意圖:
非對稱加密算法與加密證明
我們都說比特幣是匿名的,但是按照上文提到「比特幣交易步驟」,還是需要去證明他們的身份,那么是如何確?!改涿浴沟哪??
在比特幣網(wǎng)絡(luò)中,身份(錢包地址)并不是和姓名或者其它的信息對應(yīng)的,身份(錢包地址)只簡單關(guān)聯(lián)一個(gè)根據(jù)「非對稱加密算法」來隨機(jī)生成的公有/私有密鑰(key)。錢包里的錢屬于掌握這個(gè)私有密鑰(key)并可以使用私有密鑰(key) 來確認(rèn)交易的人。使用私有密鑰(key) 來確認(rèn)交易同樣不需要姓名或者其他的信息。
一個(gè)比特幣錢包地址就是一個(gè)公鑰Key,它是一串由數(shù)字和字母組成的「亂碼」,比如1A2SH4r5z1gufQw7cj9aLunWhYRyTDbRFW
這就要說到「非對稱加密算法」,如果直接搬 Wikipedia 上的講解會比較枯燥,我們接著舉栗子:我用化名寫了一本書,這本書非常受歡迎?,F(xiàn)在有個(gè)人冒充我,自稱他是真的「張小璋」,我們叫他「小璋 A」所有的東西都是他寫的。那我應(yīng)該如何來證明呢?
這時(shí)我們就可以采用「非對稱加密算法」來幫助我們解決這個(gè)問題:在書籍出版前我利用非對稱加密技術(shù)生成了一個(gè)密鑰對(公/私密鑰)并將公鑰聲明在書中,任何人都可以使用公鑰來加密我書中的任意一段文字。誰能將其解密就可以證明誰是這本書的作者。因?yàn)椤阜菍ΨQ加密算法」公鑰用來加密,但只有使用私鑰才能夠進(jìn)行解密。「小璋 A」無法對該段文字進(jìn)行解密,而我可以。這就證明了我是本書的作者,卻從未透露你的個(gè)人身份。當(dāng)然,如果我丟了私鑰或者「小璋 A」通過其他手段獲得了密鑰(比如威脅我交出密鑰)這不在我們的討論范圍了。
比特幣網(wǎng)絡(luò)并沒有限制每個(gè)節(jié)點(diǎn)生成「錢包地址」的數(shù)量,你可以盡情的生成足夠過的「錢包地址」從而實(shí)現(xiàn)身份匿名的。同時(shí)只需要確保正確的密鑰來確認(rèn)交易,既可以完成比特幣網(wǎng)絡(luò)交易的驗(yàn)證。
什么是「區(qū)塊」
上文提到:區(qū)塊鏈網(wǎng)絡(luò)是由「交易」——>「區(qū)塊」——>「區(qū)塊鏈」的三層結(jié)構(gòu)組成,每個(gè)添加到「區(qū)塊鏈」上的「區(qū)塊」都永久記錄了交易的數(shù)據(jù)。
每個(gè)區(qū)塊鏈都會包含以下內(nèi)容:
- 上一個(gè)區(qū)塊鏈的 hash 散列,既可以實(shí)現(xiàn)區(qū)塊的鏈連接也也可以防止篡改。畢竟理論上不同內(nèi)容但是出現(xiàn)同一 hash 散列值的可能性比外星人明天入侵地球還要小。
- 隨機(jī)數(shù),即之前提到的「難計(jì)算、易驗(yàn)證」的數(shù)學(xué)問題的解。這個(gè)隨機(jī)數(shù)可以用來其它節(jié)點(diǎn)對交易進(jìn)行驗(yàn)證,同時(shí)這個(gè)隨機(jī)數(shù)對于每一個(gè)區(qū)塊來說都是獨(dú)一無二的。
- 交易記錄和時(shí)間戳。
顯然,如果沒有「隨機(jī)數(shù)」或者「隨機(jī)數(shù)」被其它節(jié)點(diǎn)驗(yàn)證是錯(cuò)誤的,新的區(qū)塊將不會被提交到「鏈」上,因此「挖礦」的過程本質(zhì)上是在「求數(shù)學(xué)解」的過程,目前這個(gè)過程一般為10分鐘。
共識機(jī)制及分布式記賬
先說「共識機(jī)制」,在比特幣網(wǎng)絡(luò)中采用的是 PoW 算法(即工作量證明),簡單來說就是多勞多得。節(jié)點(diǎn)(礦工)通過依賴專門的機(jī)器(礦機(jī))來進(jìn)行數(shù)學(xué)運(yùn)算獲得記賬權(quán)。誰解決了那個(gè)「難計(jì)算、易驗(yàn)證」的數(shù)學(xué)問題,誰就可以得到網(wǎng)絡(luò)上新產(chǎn)生的比特幣和 Alice 在轉(zhuǎn)賬過程中要付出的交易費(fèi)用。同時(shí),獲得記賬權(quán)的節(jié)點(diǎn)會向網(wǎng)絡(luò)中其它的節(jié)點(diǎn)宣布新的區(qū)塊鏈(舊的區(qū)塊鏈加上新的區(qū)塊)的主張,網(wǎng)絡(luò)上其它的節(jié)點(diǎn)通過檢查這個(gè)主張(驗(yàn)證隨機(jī)數(shù))來確認(rèn)其有效性。
確認(rèn)完成后(比如7個(gè)節(jié)點(diǎn)確認(rèn),或者10個(gè)節(jié)點(diǎn)確認(rèn)),這個(gè)主張將會被同步到該網(wǎng)絡(luò)中所有的網(wǎng)絡(luò)節(jié)點(diǎn)中,同時(shí),該區(qū)塊鏈上的所有交易都可以追溯到第一個(gè)「創(chuàng)世」區(qū)塊。因此交易是不可篡改的(任何試圖篡改交易的行為會被整個(gè)網(wǎng)絡(luò)上的節(jié)點(diǎn)檢測到并被因?yàn)轵?yàn)證失敗而被拋棄)。這也意味著區(qū)塊鏈上的數(shù)據(jù)操作與傳統(tǒng)數(shù)據(jù)庫操作不一樣:傳統(tǒng)數(shù)據(jù)庫我們講的是「增刪改查」,但在區(qū)塊鏈上只有「增查」兩項(xiàng),一旦數(shù)據(jù)記錄你將無法編輯(改)或者刪除這條數(shù)據(jù)。
好了,文字寫的也不少了,基本上包含了區(qū)塊鏈的基礎(chǔ)知識,如果你想更深入的了解,我推薦你讀一下中本聰關(guān)于比特幣機(jī)制的論文。(如果你讀到這里了,就不要問我中本聰是誰……O(∩_∩)O~)
#專欄作家#
張小璋,公眾號:張小璋的碎碎念(ID:SylvainZhang),人人都是產(chǎn)品經(jīng)理專欄作家。野蠻生長的產(chǎn)品經(jīng)理,專注于互聯(lián)網(wǎng)金融領(lǐng)域。
本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自unsplash,基于CC0協(xié)議
原文是這篇好像 https://hackernoon.com/the-product-managers-guide-to-the-blockchain-part-1-fb95dfb7af31
沒看懂,還是很懵
你好,所以就是有人能夠把【難計(jì)算,易驗(yàn)證】的數(shù)學(xué)問題解決了,那交易產(chǎn)生的手續(xù)費(fèi)和其他新的區(qū)塊鏈都會到這個(gè)人的賬戶里去嗎?那那這樣不會設(shè)計(jì)到區(qū)塊鏈的分布記賬的混亂嗎?
看了一些區(qū)塊鏈的知識了,但是還是感覺走不進(jìn)去這個(gè)知識里面,始終還是不太明白?還有什么辦法能夠拯救一下我呢。。O>.<O
想問你現(xiàn)在還在這個(gè)行業(yè)嗎?
有點(diǎn)懵
還是沒看懂
電子貨幣非常適合公司或集團(tuán)內(nèi)部流通使用
文章很受用,但是看了之后感覺腦袋中一大堆問題。例如如果不進(jìn)行交易那么就不會有新的比特幣產(chǎn)出是嗎?
你再好好看看,你沒有理解!
同問,如果沒有交易,是不是就不會產(chǎn)生新的區(qū)塊,也就不會產(chǎn)生新的比特幣了?區(qū)塊除了記錄交易還可以記錄別的什么嗎
好多句子語言不太通順啊,有點(diǎn)難理解。
報(bào)告,有bug,分享的鏈接打開404
是的
傳統(tǒng)數(shù)據(jù)庫我們講的是「增刪改查」,但在區(qū)塊鏈上只有「增改」兩項(xiàng);應(yīng)該是增查兩項(xiàng)!
最后一句應(yīng)該是增和查吧?