一個(gè)產(chǎn)品經(jīng)理的區(qū)塊鏈學(xué)習(xí)指南(一)

16 評(píng)論 37826 瀏覽 428 收藏 13 分鐘

希望通過(guò)本篇文章,能夠幫助產(chǎn)品經(jīng)理對(duì)區(qū)塊鏈技術(shù)有所了解。

最近一年,我一直在關(guān)注基于區(qū)塊鏈技術(shù)的加密數(shù)字貨幣——比如「比特幣」、「以太坊」等,并且我認(rèn)為雖然「加密數(shù)字貨幣」可能因?yàn)闀?huì)威脅(各國(guó))央行的地位而無(wú)法發(fā)揮更大的作用,但是其底層的支持技術(shù)(區(qū)塊鏈)可能會(huì)改變互聯(lián)網(wǎng)的形態(tài)(至少對(duì)于互金領(lǐng)域來(lái)說(shuō))。

所以一年來(lái)我一直在和我司的程序員小哥摸索學(xué)習(xí)區(qū)塊鏈技術(shù),我將在之后的文章里逐步整理和分享基于「以太坊」(Ethereum)的私有區(qū)塊鏈網(wǎng)絡(luò),實(shí)現(xiàn)智能合約的筆記。

但是我想說(shuō)的是,這并不是一個(gè)給程序員小哥來(lái)看的開(kāi)發(fā)文章,而是希望能夠讓一個(gè)產(chǎn)品經(jīng)理對(duì)區(qū)塊鏈技術(shù)有所了解。因?yàn)檫@個(gè)系列不會(huì)特別深入的去將其中的編程原理,更多是一些基礎(chǔ)性的概念。

什么是區(qū)塊鏈?

說(shuō)到區(qū)塊鏈,我們一般都會(huì)想到以「比特幣」為代表的加密數(shù)字貨幣。所以我們就通過(guò)「比特幣」網(wǎng)絡(luò)是如何工作的來(lái)理解區(qū)塊鏈。

就目前的金融情況而言,我們?nèi)绻M(jìn)行轉(zhuǎn)賬需要找到一個(gè)可以信任的第三方(比如銀行或第三方支付公司),由這些可信任的第三方來(lái)確保交易的有效性,但可信任第三方的存在在一定程度上增加了交易的成本。而基于加密數(shù)字貨幣可以在交易中摒棄可信任的第三方,讓任意兩人直接的交易成為可能。

比特幣交易如何進(jìn)行

有一個(gè)很著名的 Alice 與 Bob 的轉(zhuǎn)賬故事來(lái)講清楚比特幣交易的運(yùn)轉(zhuǎn)過(guò)程,我就將其簡(jiǎn)化一下,注意斜體字部分:

  1. Alice 想將一些錢(qián)(假設(shè)是1 btc)轉(zhuǎn)賬給 Bob。
  2. Alice 通過(guò)基于 P2P 技術(shù)(這里的 P2P 可不是網(wǎng)絡(luò)借貸,而是點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò),就是快播用的那個(gè)技術(shù))的比特幣網(wǎng)絡(luò)向 Bob 發(fā)起比特幣轉(zhuǎn)賬。這里他們必須想網(wǎng)絡(luò)提供基于密碼學(xué)(非對(duì)稱加密算法)的加密證明(也就是密鑰)來(lái)證明他們的身份。
  3. Alice 與 Bob 的交易記錄會(huì)被記錄在一個(gè)「區(qū)塊」(「block」)中,并且這個(gè)「區(qū)塊」會(huì)被通知給比特幣網(wǎng)絡(luò)中其它的節(jié)點(diǎn)進(jìn)行確認(rèn)。
  4. 在比特幣網(wǎng)絡(luò)中的其它節(jié)點(diǎn)通過(guò)計(jì)算一個(gè)「難計(jì)算、易驗(yàn)證」的數(shù)學(xué)問(wèn)題來(lái)完成驗(yàn)證。節(jié)點(diǎn)驗(yàn)證的動(dòng)機(jī)是因?yàn)檗D(zhuǎn)賬手續(xù)費(fèi)以及在驗(yàn)證過(guò)程中新產(chǎn)生的比特幣作為找到新塊的獎(jiǎng)勵(lì)。在比特幣網(wǎng)絡(luò)中,塊的驗(yàn)證被稱為「挖礦」。
  5. 比特幣網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)都將會(huì)保留之前驗(yàn)證過(guò)的所有這些交易的賬本副本(分布式記賬):同周期內(nèi)的交易組成「區(qū)塊」,按照時(shí)間順序區(qū)塊會(huì)連成鏈,即「區(qū)塊鏈」,從而形成「交易」——>「區(qū)塊」——>「區(qū)塊鏈」的三層結(jié)構(gòu)。
  6. 一旦網(wǎng)絡(luò)中有一個(gè)節(jié)點(diǎn)解決了之前提到的「難計(jì)算、易驗(yàn)證」的數(shù)學(xué)問(wèn)題,交易即被確認(rèn)。新得到的確認(rèn)的「區(qū)塊」就會(huì)被解決問(wèn)題的節(jié)點(diǎn)添加到這個(gè)區(qū)塊鏈中,并向網(wǎng)絡(luò)內(nèi)其它節(jié)點(diǎn)廣播。
  7. 接下來(lái),網(wǎng)絡(luò)內(nèi)的其它節(jié)點(diǎn)將驗(yàn)證解決問(wèn)題的節(jié)點(diǎn)的廣播(數(shù)學(xué)問(wèn)題),并達(dá)成共識(shí),即交易成功,并且各節(jié)點(diǎn)都已經(jīng)收到。一旦達(dá)成共識(shí),每個(gè)節(jié)點(diǎn)都將更新各自的交易記錄副本。
  8. 這時(shí)候,區(qū)塊鏈的特性開(kāi)始展現(xiàn),因?yàn)椤纲~本副本」會(huì)存在于網(wǎng)絡(luò)中的每一個(gè)節(jié)點(diǎn),理論上任何記錄都是
    公開(kāi)的、不可修改的。試圖偽造的交易將無(wú)法通過(guò)網(wǎng)絡(luò)內(nèi)節(jié)點(diǎn)的驗(yàn)證,其形成的「區(qū)塊」將被舍棄。
  9. 當(dāng)完成以上所有步驟后,Alice 的比特幣賬戶余額將減少1 btc,Bob 的余額中講增加 1 btc.

上邊說(shuō)到了幾個(gè)詞語(yǔ),需要解釋一下:

點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)(P2P 網(wǎng)絡(luò))

P2P 網(wǎng)絡(luò)并不是一個(gè)新出現(xiàn)的技術(shù),又叫「對(duì)等網(wǎng)絡(luò)」。在這個(gè)網(wǎng)絡(luò)環(huán)境中,沒(méi)有中心服務(wù)器,依托用戶群交換信息。每個(gè)參與者的地位處于平等地位,并沒(méi)有主從之分。每個(gè)參與者既是服務(wù)的提供者(server),也是服務(wù)的獲取這(client)。和我們生活最貼近的就是媒體播放了。下圖為 P2P 網(wǎng)絡(luò)示意圖:

非對(duì)稱加密算法與加密證明

我們都說(shuō)比特幣是匿名的,但是按照上文提到「比特幣交易步驟」,還是需要去證明他們的身份,那么是如何確?!改涿浴沟哪??

在比特幣網(wǎng)絡(luò)中,身份(錢(qián)包地址)并不是和姓名或者其它的信息對(duì)應(yīng)的,身份(錢(qián)包地址)只簡(jiǎn)單關(guān)聯(lián)一個(gè)根據(jù)「非對(duì)稱加密算法」來(lái)隨機(jī)生成的公有/私有密鑰(key)。錢(qián)包里的錢(qián)屬于掌握這個(gè)私有密鑰(key)并可以使用私有密鑰(key) 來(lái)確認(rèn)交易的人。使用私有密鑰(key) 來(lái)確認(rèn)交易同樣不需要姓名或者其他的信息。
一個(gè)比特幣錢(qián)包地址就是一個(gè)公鑰Key,它是一串由數(shù)字和字母組成的「亂碼」,比如1A2SH4r5z1gufQw7cj9aLunWhYRyTDbRFW

這就要說(shuō)到「非對(duì)稱加密算法」,如果直接搬 Wikipedia 上的講解會(huì)比較枯燥,我們接著舉栗子:我用化名寫(xiě)了一本書(shū),這本書(shū)非常受歡迎?,F(xiàn)在有個(gè)人冒充我,自稱他是真的「張小璋」,我們叫他「小璋 A」所有的東西都是他寫(xiě)的。那我應(yīng)該如何來(lái)證明呢?

這時(shí)我們就可以采用「非對(duì)稱加密算法」來(lái)幫助我們解決這個(gè)問(wèn)題:在書(shū)籍出版前我利用非對(duì)稱加密技術(shù)生成了一個(gè)密鑰對(duì)(公/私密鑰)并將公鑰聲明在書(shū)中,任何人都可以使用公鑰來(lái)加密我書(shū)中的任意一段文字。誰(shuí)能將其解密就可以證明誰(shuí)是這本書(shū)的作者。因?yàn)椤阜菍?duì)稱加密算法」公鑰用來(lái)加密,但只有使用私鑰才能夠進(jìn)行解密?!感¤?A」無(wú)法對(duì)該段文字進(jìn)行解密,而我可以。這就證明了我是本書(shū)的作者,卻從未透露你的個(gè)人身份。當(dāng)然,如果我丟了私鑰或者「小璋 A」通過(guò)其他手段獲得了密鑰(比如威脅我交出密鑰)這不在我們的討論范圍了。

比特幣網(wǎng)絡(luò)并沒(méi)有限制每個(gè)節(jié)點(diǎn)生成「錢(qián)包地址」的數(shù)量,你可以盡情的生成足夠過(guò)的「錢(qián)包地址」從而實(shí)現(xiàn)身份匿名的。同時(shí)只需要確保正確的密鑰來(lái)確認(rèn)交易,既可以完成比特幣網(wǎng)絡(luò)交易的驗(yàn)證。

什么是「區(qū)塊」

上文提到:區(qū)塊鏈網(wǎng)絡(luò)是由「交易」——>「區(qū)塊」——>「區(qū)塊鏈」的三層結(jié)構(gòu)組成,每個(gè)添加到「區(qū)塊鏈」上的「區(qū)塊」都永久記錄了交易的數(shù)據(jù)。

每個(gè)區(qū)塊鏈都會(huì)包含以下內(nèi)容:

  • 上一個(gè)區(qū)塊鏈的 hash 散列,既可以實(shí)現(xiàn)區(qū)塊的鏈連接也也可以防止篡改。畢竟理論上不同內(nèi)容但是出現(xiàn)同一 hash 散列值的可能性比外星人明天入侵地球還要小。
  • 隨機(jī)數(shù),即之前提到的「難計(jì)算、易驗(yàn)證」的數(shù)學(xué)問(wèn)題的解。這個(gè)隨機(jī)數(shù)可以用來(lái)其它節(jié)點(diǎn)對(duì)交易進(jìn)行驗(yàn)證,同時(shí)這個(gè)隨機(jī)數(shù)對(duì)于每一個(gè)區(qū)塊來(lái)說(shuō)都是獨(dú)一無(wú)二的。
  • 交易記錄和時(shí)間戳。

顯然,如果沒(méi)有「隨機(jī)數(shù)」或者「隨機(jī)數(shù)」被其它節(jié)點(diǎn)驗(yàn)證是錯(cuò)誤的,新的區(qū)塊將不會(huì)被提交到「鏈」上,因此「挖礦」的過(guò)程本質(zhì)上是在「求數(shù)學(xué)解」的過(guò)程,目前這個(gè)過(guò)程一般為10分鐘。

共識(shí)機(jī)制及分布式記賬

先說(shuō)「共識(shí)機(jī)制」,在比特幣網(wǎng)絡(luò)中采用的是 PoW 算法(即工作量證明),簡(jiǎn)單來(lái)說(shuō)就是多勞多得。節(jié)點(diǎn)(礦工)通過(guò)依賴專(zhuān)門(mén)的機(jī)器(礦機(jī))來(lái)進(jìn)行數(shù)學(xué)運(yùn)算獲得記賬權(quán)。誰(shuí)解決了那個(gè)「難計(jì)算、易驗(yàn)證」的數(shù)學(xué)問(wèn)題,誰(shuí)就可以得到網(wǎng)絡(luò)上新產(chǎn)生的比特幣和 Alice 在轉(zhuǎn)賬過(guò)程中要付出的交易費(fèi)用。同時(shí),獲得記賬權(quán)的節(jié)點(diǎn)會(huì)向網(wǎng)絡(luò)中其它的節(jié)點(diǎn)宣布新的區(qū)塊鏈(舊的區(qū)塊鏈加上新的區(qū)塊)的主張,網(wǎng)絡(luò)上其它的節(jié)點(diǎn)通過(guò)檢查這個(gè)主張(驗(yàn)證隨機(jī)數(shù))來(lái)確認(rèn)其有效性。

確認(rèn)完成后(比如7個(gè)節(jié)點(diǎn)確認(rèn),或者10個(gè)節(jié)點(diǎn)確認(rèn)),這個(gè)主張將會(huì)被同步到該網(wǎng)絡(luò)中所有的網(wǎng)絡(luò)節(jié)點(diǎn)中,同時(shí),該區(qū)塊鏈上的所有交易都可以追溯到第一個(gè)「創(chuàng)世」區(qū)塊。因此交易是不可篡改的(任何試圖篡改交易的行為會(huì)被整個(gè)網(wǎng)絡(luò)上的節(jié)點(diǎn)檢測(cè)到并被因?yàn)轵?yàn)證失敗而被拋棄)。這也意味著區(qū)塊鏈上的數(shù)據(jù)操作與傳統(tǒng)數(shù)據(jù)庫(kù)操作不一樣:傳統(tǒng)數(shù)據(jù)庫(kù)我們講的是「增刪改查」,但在區(qū)塊鏈上只有「增查」兩項(xiàng),一旦數(shù)據(jù)記錄你將無(wú)法編輯(改)或者刪除這條數(shù)據(jù)。

好了,文字寫(xiě)的也不少了,基本上包含了區(qū)塊鏈的基礎(chǔ)知識(shí),如果你想更深入的了解,我推薦你讀一下中本聰關(guān)于比特幣機(jī)制的論文。(如果你讀到這里了,就不要問(wèn)我中本聰是誰(shuí)……O(∩_∩)O~)

#專(zhuān)欄作家#

張小璋,公眾號(hào):張小璋的碎碎念(ID:SylvainZhang),人人都是產(chǎn)品經(jīng)理專(zhuān)欄作家。野蠻生長(zhǎng)的產(chǎn)品經(jīng)理,專(zhuān)注于互聯(lián)網(wǎng)金融領(lǐng)域。

本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來(lái)自u(píng)nsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 來(lái)自浙江 回復(fù)
  2. 沒(méi)看懂,還是很懵

    來(lái)自上海 回復(fù)
  3. 你好,所以就是有人能夠把【難計(jì)算,易驗(yàn)證】的數(shù)學(xué)問(wèn)題解決了,那交易產(chǎn)生的手續(xù)費(fèi)和其他新的區(qū)塊鏈都會(huì)到這個(gè)人的賬戶里去嗎?那那這樣不會(huì)設(shè)計(jì)到區(qū)塊鏈的分布記賬的混亂嗎?

    來(lái)自四川 回復(fù)
  4. 看了一些區(qū)塊鏈的知識(shí)了,但是還是感覺(jué)走不進(jìn)去這個(gè)知識(shí)里面,始終還是不太明白?還有什么辦法能夠拯救一下我呢。。O>.<O

    來(lái)自北京 回復(fù)
    1. 想問(wèn)你現(xiàn)在還在這個(gè)行業(yè)嗎?

      來(lái)自北京 回復(fù)
  5. 有點(diǎn)懵

    回復(fù)
  6. 還是沒(méi)看懂

    回復(fù)
  7. 電子貨幣非常適合公司或集團(tuán)內(nèi)部流通使用

    回復(fù)
  8. 文章很受用,但是看了之后感覺(jué)腦袋中一大堆問(wèn)題。例如如果不進(jìn)行交易那么就不會(huì)有新的比特幣產(chǎn)出是嗎?

    來(lái)自四川 回復(fù)
    1. 你再好好看看,你沒(méi)有理解!

      回復(fù)
    2. 同問(wèn),如果沒(méi)有交易,是不是就不會(huì)產(chǎn)生新的區(qū)塊,也就不會(huì)產(chǎn)生新的比特幣了?區(qū)塊除了記錄交易還可以記錄別的什么嗎

      回復(fù)
  9. 好多句子語(yǔ)言不太通順啊,有點(diǎn)難理解。

    來(lái)自山東 回復(fù)
  10. 報(bào)告,有bug,分享的鏈接打開(kāi)404

    回復(fù)
    1. 是的

      回復(fù)
  11. 傳統(tǒng)數(shù)據(jù)庫(kù)我們講的是「增刪改查」,但在區(qū)塊鏈上只有「增改」兩項(xiàng);應(yīng)該是增查兩項(xiàng)!

    來(lái)自日本 回復(fù)
  12. 最后一句應(yīng)該是增和查吧?

    來(lái)自上海 回復(fù)