如今,人們出于各種原因訴諸區(qū)塊鏈。從我在2017年中期開始進(jìn)行智能合約安全審核以來,已經(jīng)看到了這一切。Allin blockchain似乎是合乎邏輯且
如今,人們出于各種原因訴諸區(qū)塊鏈。從我在2017年中期開始進(jìn)行智能合約安全審核以來,已經(jīng)看到了這一切。Allin blockchain似乎是合乎邏輯且有益的,但實(shí)際上存在一些問題。下面提供八個(gè)流行的區(qū)塊鏈案例,以及陳述它們?yōu)槭裁床黄鹱饔茫员隳?開發(fā)者/顧戶/投資者)知道當(dāng)有人提供您以這種方式使用區(qū)塊鏈時(shí),您該怎么做。
1.供應(yīng)鏈管理
假設(shè)您訂購了一些貨物,并且承運(yùn)者保證保持某些運(yùn)輸條件,例如保持貨物冷藏。建議的解決方案是在卡車中安裝傳感器,該卡車將監(jiān)控冰箱溫度并定期將數(shù)據(jù)傳輸?shù)絽^(qū)塊鏈。
這樣,您可以確保在整個(gè)運(yùn)輸中都是滿足(承運(yùn)者)承諾的條件。
這里的問題不是區(qū)塊鏈,而是與傳感器(以及其他)相關(guān)。作為物理世界的一部分,人們很容易騙過傳感器。
例如,惡意的承運(yùn)人可能將傳感器放在卡車上的小冰箱里冷藏,同時(shí)將貨物留在卡車的非冷藏區(qū)域以節(jié)省成本。
我們將此問題描述為:區(qū)塊鏈不是物聯(lián)網(wǎng)(IOT)。
我們將再多次回到這個(gè)聲明。盡管區(qū)塊鏈不允許修改數(shù)據(jù),也無法確保此類數(shù)據(jù)是正確的。唯一的例外是鏈上交易,當(dāng)系統(tǒng)不需要現(xiàn)實(shí)世界時(shí),所有必要的信息已經(jīng)在區(qū)塊鏈內(nèi),從而允許系統(tǒng)驗(yàn)證數(shù)據(jù)(例如,一個(gè)地址有足夠的資金來進(jìn)行交易) 。
從外部向區(qū)塊鏈提交信息的應(yīng)用程序被稱為“oracles”。直到找到oracles問題的解決方案,任何嘗試基于區(qū)塊鏈的供應(yīng)鏈管理,就像上面的情況一樣,在沒有先開發(fā)出可靠引擎的情況下嘗試設(shè)計(jì)飛機(jī)也是毫無意義的。
我強(qiáng)烈建議您閱讀本文并特別注意以下圖表:
可以在我們的微信公眾號里運(yùn)行小程序,判斷您是否需要區(qū)塊鏈。
2.對象真實(shí)性保證
雖然這種情況與前一種情況類似,但我想將其單獨(dú)列出,因?yàn)樗窃诓煌陌b器中呈現(xiàn)的(他們以不同形式呈現(xiàn))。
假設(shè)我們生產(chǎn)獨(dú)特而昂貴的商品,例如手表,葡萄酒或汽車。我們希望我們的客戶絕對確定他們正在購買我們制造的東西,因此我們將我們的葡萄酒瓶鏈接到區(qū)塊鏈支持的token,并在其上放置QR碼?,F(xiàn)在,通過”單獨(dú)的區(qū)塊鏈交易”確認(rèn)每一步(從制造商,到承運(yùn)人,到商店,再到客戶),客戶可以在線跟蹤他們的瓶子。
然而,這個(gè)系統(tǒng)很容易受到一個(gè)非常簡單的威脅:一個(gè)不誠實(shí)的賣家可以用一個(gè)token制作一個(gè)真正的瓶子的副本,裝上低質(zhì)量的葡萄酒,并偷走你的昂貴的葡萄酒或賣給不關(guān)心那些不關(guān)心tokens的人。
為什么這么容易?因?yàn)閰^(qū)塊鏈不是物聯(lián)網(wǎng)!瓶子是物理對象,因此可以偽造,與數(shù)字簽名不同。
3.聲明真實(shí)性保證
我們以大學(xué)文憑的真實(shí)性為例。在這種情況下,我們需要驗(yàn)證聲明的真實(shí)性(“Peter從大學(xué)畢業(yè)”),而不是物理對象。為了確保文憑是真實(shí)的,發(fā)行日期是準(zhǔn)確的,我們需要檢查數(shù)字簽名和時(shí)間戳。
數(shù)字簽名很棒,有些人稱呼他們?yōu)榉菍ΨQ密碼學(xué),是“20世紀(jì)最偉大的發(fā)明”。但是,不要將它與區(qū)塊鏈混淆。事實(shí)上,在區(qū)塊鏈出現(xiàn)之前,數(shù)字簽名已經(jīng)存在并且很有用。注意!如今,數(shù)字簽名通常作為區(qū)塊鏈出售。也許您真正需要的是數(shù)字簽名,而區(qū)塊鏈并不能滿足您的要求。
時(shí)間戳更接近區(qū)塊鏈。事實(shí)上,區(qū)塊鏈本身是最可靠的時(shí)間戳方法。您不需要發(fā)明任何東西:只需將數(shù)據(jù)的哈希值放入比特幣區(qū)塊鏈即可。
在比特幣區(qū)塊鏈上放一些由幾位教授數(shù)字簽名的學(xué)生文憑是一個(gè)好主意嗎?它是。但,重要的是,不通過網(wǎng)站或應(yīng)用程序使用集中驗(yàn)證來擰緊(可以理解為,做)這個(gè)系統(tǒng),這將是一個(gè)單點(diǎn)故障(單點(diǎn)故障,指系統(tǒng)中一點(diǎn)失效,就會讓整個(gè)系統(tǒng)無法運(yùn)作的部件,換句話說,單點(diǎn)故障即會整體故障。)。
4.投票
在使用區(qū)塊鏈進(jìn)行投票時(shí),我們需要明確我們想要解決的問題。
偽造投票/選民身份驗(yàn)證:要解決這個(gè)問題,我們需要數(shù)字簽名而不是區(qū)塊鏈。這里的主要問題是私鑰:從哪里獲取它以及如何存儲它。我不會解釋為什么任何一個(gè)生成密鑰的系統(tǒng)在終端用戶設(shè)備之外的任何地方都被設(shè)計(jì)破壞。但是,除此之外,擁有開源和經(jīng)過適當(dāng)審核的密鑰生成軟件,第三方硬件(智能手機(jī)是最簡單的選項(xiàng))以及可以處理私鑰的用戶也很重要。
雖然系統(tǒng)開發(fā)人員可以解決前兩個(gè)問題,但第三個(gè)問題要困難得多。比特幣實(shí)際上可以幫助我們學(xué)習(xí)如何處理密鑰。實(shí)際上,丟失您的社交媒體帳戶的密碼或投票是一回事,但丟失自己的錢的是另一回事。
再一次,如果我們在投票過程中需要oracle,那它將密鑰鏈接到特定的人。
公開可見的計(jì)票:可以安全地假設(shè),以太網(wǎng)智能合約對于這個(gè)問題是完美的,因?yàn)樗鼈冊试S每個(gè)人看到任何特定候選人收到多少票。然而,在這種情況下,開放程度可能太高,因?yàn)槲覀兛梢钥吹矫總€(gè)人如何投票,從而可以影響他們。盡管該系統(tǒng)的建造方式使得每次投票只有投票者才能看到,但還有另一個(gè)更復(fù)雜的挑戰(zhàn):只要選民在技術(shù)上能夠提供投票選擇的證據(jù),他們?nèi)匀豢赡芴幵趬毫χ隆?/p>
在這里,我們再一次需要oracle來檢查是否有來自不存在的選民的額外投票。
5.作者身份證明
我們假設(shè),藝術(shù)家A想要使用區(qū)塊鏈來記錄某幅畫是他的。他拍了一張照片,將照片哈希放在區(qū)塊鏈中,然后將照片上傳到博客?,F(xiàn)在,如果藝術(shù)家B聲稱這幅畫屬于他,藝術(shù)家A可以通過展示照片和哈希來輕松證明他的作者身份。在這種情況下有兩個(gè)潛在的問題:
首先,藝術(shù)家B可以說他不知道區(qū)塊鏈,因此不能用它來注冊他的作者身份。因此,此程序只有在成為慣例時(shí)才能起作用。
其次,藝術(shù)家B可以闖入藝術(shù)家A的工作室,拍攝這幅畫的照片,并在藝術(shù)家A之前將哈希放在區(qū)塊鏈中。
原因是......
區(qū)塊鏈不是物聯(lián)網(wǎng)!
然而,總的來說,這個(gè)用例是有道理的。但是,除了比特幣的區(qū)塊鏈之外,它不需要任何其他東西。
注意:我只是在談?wù)撟髡呱矸葑C明,因?yàn)槲艺J(rèn)為知識產(chǎn)權(quán)的概念是無意義的。StephanKinsella的“反對知識產(chǎn)權(quán)”。
6.土地登記
另一個(gè)提議的案例是將基于區(qū)塊鏈的tokens與土地所有權(quán)聯(lián)系起來。這里至少有兩個(gè)問題。
執(zhí)行者行動:雖然瓶子/手表/汽車可以通過點(diǎn)對點(diǎn)(P2P)交付,但土地所有權(quán)和轉(zhuǎn)讓必須由監(jiān)管機(jī)構(gòu)進(jìn)行登記,監(jiān)管機(jī)構(gòu)可以隨時(shí)實(shí)際訪問您的土地并執(zhí)行其意愿。如果監(jiān)管機(jī)構(gòu)堅(jiān)持要轉(zhuǎn)讓您的土地,區(qū)塊鏈記錄會發(fā)生什么?第一個(gè)選項(xiàng):區(qū)塊鏈記錄仍然指定您為土地所有者,這不再是真實(shí)的;第二種選擇:監(jiān)管機(jī)構(gòu)可以創(chuàng)建自己的記錄,從而重寫您的記錄,這意味著區(qū)塊鏈不起作用。這是一個(gè)關(guān)鍵點(diǎn),因?yàn)閰^(qū)塊鏈也被提升為一種工具,可以保護(hù)您免受監(jiān)管機(jī)構(gòu)和任何個(gè)別官員的欺詐活動的侵害。
集中開發(fā)和支持:現(xiàn)在,誰將開發(fā)這樣的系統(tǒng)和支持的節(jié)點(diǎn)?如果監(jiān)管機(jī)構(gòu)本身或其對手做合格工作,那么這樣的系統(tǒng)將不會分散。分布式協(xié)議加上集中式開發(fā)等于集中式協(xié)議。
此外,每當(dāng)有人為您提供區(qū)塊鏈時(shí),請問自己:我們可以使用分布式數(shù)據(jù)庫嗎?
如果答案是'是',為什么要選擇區(qū)塊鏈?實(shí)際上,區(qū)塊鏈更慢,資源更密集。此外,數(shù)據(jù)庫開發(fā)和整合方面的專家更便宜,更容易找到,他們的工作產(chǎn)品更容易檢查,系統(tǒng)支持也更簡單。
鑒于所有這些挑戰(zhàn),我認(rèn)為分布式數(shù)據(jù)庫是當(dāng)今土地登記的更好選擇,即使它肯定需要變得更加可靠和開放(參見“區(qū)塊鏈作為觸發(fā)器”部分)。
實(shí)際上,看起來這個(gè)特定的用例已經(jīng)成為現(xiàn)實(shí)。 Bitfury最近宣布推出基于Exonum框架的區(qū)塊鏈土地登記系統(tǒng),并將在烏克蘭(Ukraine)和摩爾多瓦(Moldova)開展同樣的活動。很奇怪的是,我找不到這個(gè)案例的任何技術(shù)細(xì)節(jié),這意味著由于某種原因,Bitfury并不急于夸耀它。
7.銀行間轉(zhuǎn)賬
根據(jù)“您是否需要區(qū)塊鏈?”的計(jì)劃,這個(gè)案例是一個(gè)很好的案例。它涉及許多不相互信任的政黨,沒有任何可信任的第三方參與。雖然比特幣可以在這里使用,但銀行不太可能公開顯示其相互支付。因此,我們將提供一個(gè)私有區(qū)塊鏈,只有銀行自己才能輸入數(shù)據(jù),支持節(jié)點(diǎn),并驗(yàn)證所有其他方的交易。
在功能方面,該系統(tǒng)與具有訪問控制的分布式數(shù)據(jù)庫有何不同?是的,確實(shí)如此。但只有當(dāng)雙方之間存在分歧時(shí)才會這樣做。在這里,問題是:銀行是否會同意系統(tǒng)提供的共識,還是會向法院上訴?如果銀行可以選擇第二種選擇(即他們從未簽署過無條件接受系統(tǒng)提供的所有決定的協(xié)議),那么這個(gè)系統(tǒng)毫無意義。
此外,如果監(jiān)管機(jī)構(gòu)禁止或限制使用此類系統(tǒng)或指示法院拒絕系統(tǒng)數(shù)據(jù),則整個(gè)案件將是荒謬的。
8. 代幣是為了代幣利益
是的,沒錯(cuò)!我實(shí)際上是在寫2019年的ICO。
我所說的“代幣是為了代幣利益”是指一些初創(chuàng)公司發(fā)行代幣,并說他們授予你在他們公司/利潤/分割費(fèi)期權(quán)中的份額。問題是:
區(qū)塊鏈不是物聯(lián)網(wǎng)!
與風(fēng)險(xiǎn)資本投資者或監(jiān)管機(jī)構(gòu)不同,區(qū)塊鏈不會讓創(chuàng)業(yè)公司對其投資者負(fù)責(zé)。僅憑代幣形式的承諾并不要求公司的創(chuàng)始人做任何事情- 我們在ICO繁榮時(shí)期曾多次看到過(記得Lambos嗎?)這方面,ICO更像人群資金而非首次公開募股。
雖然專業(yè)分散機(jī)構(gòu)和反對監(jiān)管控制,但我必須承認(rèn),這個(gè)領(lǐng)域幾乎沒有這樣的系統(tǒng),這意味著你必須選擇現(xiàn)有工具或信任公司創(chuàng)始人?,F(xiàn)在,讓我描述一些有希望的用例。
9. 區(qū)塊鏈作為觸發(fā)器
奇怪的是,即使是非工作案例也可能有用。假設(shè)公司使用過時(shí)的過程/系統(tǒng)。管理層決定投入炒作(區(qū)塊鏈/大數(shù)據(jù)/AI / IoT)來取得領(lǐng)先地位,而不是選擇正常而明顯的解決方案。
那時(shí),一個(gè)精明但負(fù)責(zé)任的內(nèi)部創(chuàng)業(yè)者可以提供適當(dāng)?shù)南到y(tǒng)設(shè)計(jì),將其作為區(qū)塊鏈進(jìn)行營銷。根據(jù)不同的情況,區(qū)塊鏈既可以提供某些優(yōu)勢,也可以完全不提供優(yōu)勢,只依賴于漂亮的演示幻燈片。
10.貨幣
Blockchain非常適合處理貨幣,主要是因?yàn)樗菫榇四康亩鴦?chuàng)建的。區(qū)塊鏈記錄并驗(yàn)證“甲方擁有的金額X”等陳述;甲方將金額X轉(zhuǎn)入乙方;乙方擁有X金額,因?yàn)橹八蓄愃频年愂龆加涗浽谕粎^(qū)塊鏈中。
SimonMorris說,最初分散目標(biāo)是為了打破規(guī)則,就像那些遵守這些規(guī)則的人會試圖阻止你。(theoriginal objective of decentralization is to break the rules, as those whoobserve those rules will try to stop you.), 在他關(guān)于加密的BitTorrent加密課程系列文章的第二部分題為“如果你沒有違反規(guī)則你做錯(cuò)了”。
比特幣完全符合這一要求,因?yàn)樗蚱屏伺f規(guī)則,根據(jù)該規(guī)則,只有政府發(fā)行資金,定義發(fā)行程序,并決定哪種交易有效,哪種交易無效。
更重要的是,我認(rèn)為比特幣發(fā)揮了特定的作用:在技術(shù)出現(xiàn)之前很久就以一種易于理解的方式轉(zhuǎn)移價(jià)值(參見NickShezabo的‘演變:貨幣起源’)。與此同時(shí),大多數(shù)區(qū)塊鏈初創(chuàng)公司必須從一開始就解釋他們解決了哪些任務(wù)以及為什么。這甚至對于傳統(tǒng)的初創(chuàng)公司而言是無意義的,他們通常是尋找客戶,測試假設(shè)并試圖與市場保持同步。即解決現(xiàn)有問題,而不是發(fā)明新問題。
無論如何,比特幣是迄今為止唯一的工作的區(qū)塊鏈應(yīng)用程序。這就是為什么在我的文章開頭,我質(zhì)疑“區(qū)塊鏈的使用”一詞的相關(guān)性。
11. 智能合約
讓我們說實(shí)話:沒有人真正知道智能合約是什么以及它們的用途,因?yàn)檫@個(gè)概念仍然處于起步階段。以太坊真正是引領(lǐng)潮流的。當(dāng)分散的比特幣發(fā)揮作用時(shí),人們已經(jīng)知道并習(xí)慣了電子貨幣;
當(dāng)我們在以太坊上運(yùn)行分散的智能合約時(shí),我們?nèi)匀辉谂μ幚碛部截惡贤?,而集中的智能合約卻根本就不存在。我們可以嘗試同時(shí)跳過兩個(gè)步驟,但要做到這一點(diǎn),我們需要時(shí)間和可行的概念。
相信智能合約會找到適合他們的應(yīng)用場景。