亚洲狼人综合,本道综合精品,在线看福利影,国产亚洲精品久久久玫瑰,日韩欧美精品在线观看,日韩在线国产,欧美乱码一区二区三区

大佬教學(xué):如何使用區(qū)塊鏈開(kāi)發(fā)一個(gè)落地項(xiàng)目?

2018-08-07 17:03:27 區(qū)塊鏈兄弟  點(diǎn)擊量: 評(píng)論 (0)
區(qū)塊鏈?zhǔn)悄壳耙粋€(gè)比較熱門(mén)的新概念,蘊(yùn)含了技術(shù)與金融兩層概念。本文以聯(lián)盟鏈為例,簡(jiǎn)單描述了實(shí)踐一個(gè)聯(lián)盟鏈的基本過(guò)程。

區(qū)塊鏈?zhǔn)悄壳耙粋€(gè)比較熱門(mén)的新概念,蘊(yùn)含了技術(shù)與金融兩層概念。本文以聯(lián)盟鏈為例,簡(jiǎn)單描述了實(shí)踐一個(gè)聯(lián)盟鏈的基本過(guò)程。

首先要確定這個(gè)區(qū)塊鏈的類(lèi)型,是公證型區(qū)塊鏈還是價(jià)值型? 公證型區(qū)塊鏈?zhǔn)侵竷H限一些關(guān)鍵數(shù)據(jù)自證、披露、防篡改等功能的區(qū)塊鏈,通常是在價(jià)值型區(qū)塊鏈中附帶的功能,也可以單獨(dú)擴(kuò)展,用于公示公開(kāi)等。價(jià)值型區(qū)塊鏈?zhǔn)侵缚梢赃M(jìn)行資產(chǎn)所有權(quán)轉(zhuǎn)移的一種記賬賬本。 如果確定是價(jià)值型區(qū)塊鏈,我們又需要確定目標(biāo)區(qū)塊鏈的總體定位:到底是一個(gè)普適的價(jià)值傳輸區(qū)塊鏈,還是特定場(chǎng)景下的區(qū)塊鏈?如果是特定場(chǎng)景下的區(qū)塊鏈,我們通常推薦超級(jí)賬本作為技術(shù)原型,如果是比較通用的價(jià)值區(qū)塊鏈,我們推薦以太坊的思路。業(yè)務(wù)場(chǎng)景的構(gòu)建與初步分析

首先要明確的觀(guān)點(diǎn)是,區(qū)塊鏈不是萬(wàn)能的。很多場(chǎng)景其實(shí)是不需要區(qū)塊鏈技術(shù)也能解決的。像跨境支付領(lǐng)域,區(qū)塊鏈能很好的發(fā)揮是因?yàn)榇嬖诤芏帱c(diǎn)對(duì)點(diǎn)的跨境機(jī)構(gòu)有大量的支付清算需求,而又不希望中間機(jī)構(gòu)參與,區(qū)塊鏈?zhǔn)呛芎玫倪x擇。但是在一些集團(tuán)內(nèi)部,大型公司內(nèi)部,區(qū)塊鏈解決方案基本上遠(yuǎn)遠(yuǎn) 不如傳統(tǒng)的企業(yè)資源解決方案。 需求痛點(diǎn)分析

一般需求痛點(diǎn)在滿(mǎn)足以下條件的時(shí)候,可以考慮使用區(qū)塊鏈: 1、存在一個(gè)不相互信任的 P2P 網(wǎng)絡(luò)環(huán)境; 2、節(jié)點(diǎn)之間是對(duì)等的,不存在一個(gè)絕對(duì)仲裁者; 3、節(jié)點(diǎn)之間是博弈行為。 P2P 網(wǎng)絡(luò)可能包含輸入和輸出,當(dāng)包含輸入和輸出時(shí),區(qū)塊鏈不再封閉。對(duì)于某個(gè)節(jié)點(diǎn)一般有以下幾種行為(包括但不限于): 1 不信任其他節(jié)點(diǎn); 2 保證自己的收益最大化; 3 自私獲取但不貢獻(xiàn)資源。 針對(duì)以上情景的業(yè)務(wù)建模,需要針對(duì)具體的業(yè)務(wù)邏輯結(jié)合博弈論推導(dǎo)出滿(mǎn)足自己需求的方案。非區(qū)塊鏈技術(shù)能否解決

案例 1:通常我們有不同的機(jī)構(gòu) A、B、C,存在不對(duì)稱(chēng)的信息交換需求,即 A、B、C 分別具有部分?jǐn)?shù)據(jù),但三者組合到一起具有市場(chǎng)的全量數(shù)據(jù)。但是作為 A,想知道 B、C 是否擁有自己數(shù)據(jù)集合中的某個(gè)點(diǎn)數(shù)據(jù),根據(jù)這個(gè)結(jié)果來(lái)調(diào)整自己的購(gòu)買(mǎi)策略。 案例 2:有不同的機(jī)構(gòu) X、Y、Z,存在信息反饋的需求,當(dāng) Z 收到 Y 的服務(wù)時(shí),會(huì)給 Y 一個(gè)信息反饋,這種反饋可能是信用評(píng)價(jià),也可能只是響應(yīng)反饋??傊@種反饋需要記錄在案,X 會(huì)根據(jù) Z 的信息反饋結(jié)果調(diào)整自己的購(gòu)買(mǎi)策略。 當(dāng) X 購(gòu)買(mǎi)服務(wù)時(shí),同樣會(huì)給 Y 一個(gè)反饋,Z 也會(huì)收到反饋。 以上兩個(gè)案例首先考慮使用非區(qū)塊鏈?zhǔn)欠窨梢越鉀Q:針對(duì)案例 1,敏感數(shù)據(jù)和私有數(shù)據(jù)是不會(huì)公開(kāi)的,即使加密也不會(huì)被允許上傳到區(qū)塊鏈。 所以產(chǎn)生了一個(gè)數(shù)據(jù)輸入輸出區(qū)塊鏈的過(guò)程,該過(guò)程是區(qū)塊鏈不可控制的。 那么使用傳統(tǒng)的技術(shù)是否可以控制呢? 貌似也不行,能夠滿(mǎn)足不暴露敏感數(shù)據(jù)的方案也只有 HASH 計(jì)算和同態(tài)加密。但是這兩者都要求數(shù)據(jù)傳輸?shù)街付ㄎ恢谩?通常我們會(huì)考慮使用零知識(shí)證明作為解決方案,然而具體的算法可能需要根據(jù)具體業(yè)務(wù)邏輯進(jìn)行構(gòu)建,結(jié)合簡(jiǎn)單智能合約,根據(jù)查詢(xún)結(jié)果產(chǎn)生不同輸出。 針對(duì)案例 2,反饋信息容易被篡改,可刷單等問(wèn)題是最大的,如何保證這種信息反饋是客觀(guān)中立不可篡改的,可以結(jié)合區(qū)塊鏈代幣的幣齡使交易具有方向性來(lái)防止作弊行為。 業(yè)務(wù)場(chǎng)景建模

針對(duì)第二節(jié)中的兩個(gè)案例,我們接下來(lái)要進(jìn)行建模,除去核心痛點(diǎn),我們必然還有記賬的需求,本質(zhì)上任何案例中每個(gè)節(jié)點(diǎn)都既是服務(wù)方,也是客戶(hù)方,那么怎么衡量自己貢獻(xiàn)和索取了多少呢? 所以任何區(qū)塊鏈平臺(tái)上,必須是要有代幣系統(tǒng)的,否則記賬將非常困難。在業(yè)務(wù)場(chǎng)景建模過(guò)程中,我們主要關(guān)注如何使節(jié)點(diǎn)之間達(dá)成帕累托改進(jìn),而不是因?yàn)槊總€(gè)節(jié)點(diǎn)是自私行為,讓區(qū)塊鏈服務(wù)名存實(shí)亡。區(qū)塊鏈原型選取

根據(jù)本文開(kāi)頭的敘述,如果是特定場(chǎng)景的區(qū)塊鏈解決方案,建議Hyperledger fabric,當(dāng)然搭建以太坊私有鏈也是可以的。下面是一些以太坊和 Fabric 的比較:

以太坊與 HyperLedger 相同點(diǎn):

1、都是提供區(qū)塊鏈業(yè)務(wù)實(shí)現(xiàn)的平臺(tái),業(yè)務(wù)實(shí)現(xiàn)都是通過(guò)智能合約來(lái)完成,以達(dá)到最大的靈活性和對(duì)底層的不修改。 以太坊是:EVM 虛擬機(jī),Solidity 合約語(yǔ)言; HyperLedger 是: Shim 鏈碼容器,用 GO 編寫(xiě)合約。

2、官方版本都使用 GO 語(yǔ)言實(shí)現(xiàn)。

3、因?yàn)槎际翘峁┑谌娇删幊棠芰Γ?/span>由于難度大,內(nèi)部難免存在漏洞。對(duì)外則存在惡意程序攻擊的威脅。尤其是在做為公有鏈時(shí),威脅將會(huì)更大。上個(gè)月以太坊已有報(bào)合約 solidity 語(yǔ)言漏洞。

以太坊與 HyperLedger 不同點(diǎn):

1、以太坊只提供智能合約能力。

也恰好吻合它的定位:智能合約和去中心化應(yīng)用平臺(tái)。對(duì)系統(tǒng)安全性或準(zhǔn)入機(jī)制無(wú)底層無(wú)核心上的支持。而HyperLedger 在吸收以太坊智能合約特點(diǎn)的同時(shí),提供 MemberShip 及身份驗(yàn)證角色管理等模塊,更貼近商業(yè)應(yīng)用場(chǎng)景。

2、共識(shí)機(jī)制不同。由于共識(shí)的不一樣,所以每秒可處理的交易量也不一樣,以太坊是每秒千級(jí)別的處理量,而 HyperLedger 可以達(dá)到十萬(wàn)級(jí)別。

3、采用的技術(shù)實(shí)現(xiàn)思路上不一樣。以太坊更多的是靠自己實(shí)現(xiàn),自己造輪子,有點(diǎn)開(kāi)發(fā)人員炫技的感覺(jué),如自己提供合約語(yǔ)言 solidity,自己實(shí)現(xiàn)EVM(這個(gè)可能是實(shí)際需要)。 圖表是筆者曾經(jīng)的一個(gè)私鏈項(xiàng)目中對(duì)兩者的比較(私鏈考慮了 Hydrachain的可行性)

讀者可以根據(jù)自己實(shí)際的TPS需求,進(jìn)行共識(shí)的選型。當(dāng)然,如果考慮自行開(kāi)發(fā),建議搭建基礎(chǔ)比特幣網(wǎng)絡(luò),做加法,更改共識(shí)算法,網(wǎng)絡(luò)傳送協(xié)議以及附加合約(可選)。其實(shí)智能合約在一些場(chǎng)景中不是必選項(xiàng),對(duì)用戶(hù)來(lái)說(shuō),可靠方便實(shí)時(shí)是第一需求,如果針對(duì)特定的應(yīng)用場(chǎng)景,將“合約”固化在區(qū)塊鏈里面,也是一種可行的思路。并不是所有服務(wù)一定得是區(qū)塊鏈的,筆者構(gòu)想了一個(gè)通用的保護(hù)傘型結(jié)構(gòu),如比特幣的側(cè)鏈技術(shù),主鏈提供基礎(chǔ)賬本服務(wù),側(cè)鏈提供特定場(chǎng)景服務(wù),側(cè)鏈上的應(yīng)用可以是非區(qū)塊鏈實(shí)現(xiàn)的,只需接口注冊(cè)即可。

交互接口設(shè)計(jì)

在交互接口設(shè)計(jì)上,推薦使用目前業(yè)界通用的 Json-RPC 接口,擴(kuò)展性和友好性兼?zhèn)洹?一般我們將接口分為兩類(lèi):開(kāi)放接口和賬戶(hù)接口。開(kāi)放接口是指區(qū)塊鏈本身的描述信息,是不需要認(rèn)證的,而賬戶(hù)接口是需要賬戶(hù)認(rèn)證的。

基礎(chǔ)賬本設(shè)計(jì)

包含以下兩個(gè)問(wèn)題: 首先是原型區(qū)塊鏈?zhǔn)欠褚呀?jīng)滿(mǎn)足需求?如果針對(duì)以太坊,基本上不需要改動(dòng)基礎(chǔ)賬本,只需構(gòu)建智能合約即可。如果以比特幣體系為基礎(chǔ),則可能有較大的改動(dòng)。 不滿(mǎn)足需求時(shí)如何改動(dòng)基礎(chǔ)賬本?這個(gè)其實(shí)要視賬戶(hù)模型而定,如果使用 UTXO 模式時(shí),改動(dòng)重點(diǎn)在如何嵌入模板交易體。如果使用 Balance 模式,那么則沒(méi)有這個(gè)問(wèn)題。 業(yè)務(wù)擴(kuò)展層設(shè)計(jì)

業(yè)務(wù)擴(kuò)展設(shè)計(jì)方面的內(nèi)容比較復(fù)雜,篇幅問(wèn)題這里也只是拋磚引玉提出兩個(gè)問(wèn)題: 1. 擴(kuò)展層是外接區(qū)塊鏈還是內(nèi)置到區(qū)塊鏈? 2. 如果包含數(shù)據(jù)輸入,是否需要脫敏?脫敏后如何上鏈? 先想清楚這兩個(gè)問(wèn)題或許能幫你更好地規(guī)劃業(yè)務(wù)擴(kuò)展層的內(nèi)容。 開(kāi)發(fā)轉(zhuǎn)變和難點(diǎn)

A、開(kāi)發(fā)思維的轉(zhuǎn)變

與傳統(tǒng)網(wǎng)絡(luò)服務(wù)不同的是,區(qū)塊鏈開(kāi)發(fā)不再以面向服務(wù)為主要關(guān)注點(diǎn),而是面向賬本和交易。 開(kāi)發(fā)者面對(duì)的不再是以高可用高并發(fā)的應(yīng)用程序?yàn)橹饕笜?biāo),而是切換到了面向用戶(hù),關(guān)注用戶(hù)友好性和開(kāi)發(fā)擴(kuò)展性的終端程序開(kāi)發(fā)。所以高并發(fā)高性能不再是區(qū)塊鏈終端的核心指標(biāo),安全性、可擴(kuò)展性、友好性成了主要指標(biāo)。 圖 2 是一個(gè)適用于聯(lián)盟鏈/私有鏈項(xiàng)目的工作流程。

B、開(kāi)發(fā)難點(diǎn)

目前來(lái)講,區(qū)塊鏈項(xiàng)目開(kāi)發(fā)的難點(diǎn)有三個(gè):

1. 開(kāi)發(fā)人力資源儲(chǔ)備不足

目前比較成熟的技術(shù)體系有比特幣及衍生技術(shù)體系、以太坊、超級(jí)賬本 HyperLedger fabric、比特股 Bitshares、瑞波 Ripple 和未來(lái)幣 NXT。其中前三個(gè)是最有影響力的區(qū)塊鏈項(xiàng)目。比特幣以及衍生技術(shù)多以 C++語(yǔ)言進(jìn)行開(kāi)發(fā);以太坊支持大部分主流語(yǔ)言,官方以 Go 為主,也有其他分支的項(xiàng)目如 Rust 語(yǔ)言的 Parity 錢(qián)包;超級(jí)賬本目前以 Go 為主。 從目前上海地區(qū)的區(qū)塊鏈從業(yè)人員來(lái)看,保守估計(jì)在 400~500 左右。按一半為開(kāi)發(fā)人員計(jì)算,也才 200 多個(gè),面對(duì)巨大的市場(chǎng)需求,人才是極度稀缺的。 由于 C++目前僅在金融和游戲領(lǐng)域有部分需求,所以 C++工程師不多,尤其是高水平的 C++工程師就更少了。Go 作為新興語(yǔ)言,發(fā)展勢(shì)頭很猛,但是 Go 的生態(tài)也不如 Java 大。 如果從 Java 的角度看,如何把其生態(tài)利用起來(lái),目前區(qū)塊鏈還沒(méi)有做到那個(gè)地步。 綜合來(lái)看,區(qū)塊鏈在技術(shù)方面與其他技術(shù)的結(jié)合還有待探索。

2. 區(qū)塊鏈?zhǔn)墙徊鎸W(xué)科,需要各方面工程實(shí)踐的經(jīng)驗(yàn)在實(shí)踐方面,我們希望區(qū)塊鏈從業(yè)人員同時(shí)了解技術(shù)和金融業(yè)務(wù),這個(gè)對(duì)人員的素質(zhì)要求比較高,相應(yīng)的符合標(biāo)準(zhǔn)的人就更少了。

3. 關(guān)于對(duì)各個(gè)區(qū)塊鏈技術(shù)體系理解的偏差。區(qū)塊鏈技術(shù)和概念日新月異,閉門(mén)開(kāi)發(fā)可能會(huì)走到死胡同,如何保持一部分精力更新知識(shí)體系,同時(shí)保證開(kāi)發(fā)進(jìn)度對(duì)開(kāi)發(fā)人員是有較大挑戰(zhàn)的。 區(qū)塊鏈作為一門(mén)新興的技術(shù),涵蓋了去中心化、去信任、共享經(jīng)濟(jì)、分布式計(jì)算、分布式存儲(chǔ)等多方面的內(nèi)容,考驗(yàn)著技術(shù)人員的學(xué)習(xí)和思考能力。在未來(lái),區(qū)塊鏈將同人工智能一起,會(huì)影響到普通人生活的方方面面。

大云網(wǎng)官方微信售電那點(diǎn)事兒

責(zé)任編輯:售電衡衡

免責(zé)聲明:本文僅代表作者個(gè)人觀(guān)點(diǎn),與本站無(wú)關(guān)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí),對(duì)本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾,請(qǐng)讀者僅作參考,并請(qǐng)自行核實(shí)相關(guān)內(nèi)容。
我要收藏
個(gè)贊
?