十年前,中本聰發表了一篇論文,此後有了比特幣,也就是說先有比特幣後有區塊鏈,要想了解區塊鏈,咱們須要先了解比特幣和這位很是重要的人物-中本聰。算法
在你們看來,中本聰首先是一個計算機專家,其次是一位資深的密碼學專家,我認爲他還有一個身份,就是貨幣銀行學家,世界排名應該還很靠前。若是不是的話,他沒辦法建立這樣一套完善的,沒有貨幣乘數的代幣系統。安全
瞭解了中本聰後,咱們還須要知道比特幣要解決通貨膨脹的問題、從而限定了比特幣的發行規模,同時它帶來一種新的技術力量——去中心化。中心化的貨幣當局是按捺不住反覆開啓印刷機的衝動的,這是人性。數據結構
區塊鏈技術從去年開始經過公鏈技術大行其道,開始是經過發幣和炒幣帶動的。今年能夠說是私鏈或者說聯盟鏈的爆發年,基本上各個大廠都推出了本身的鏈的產品,好比IBM、Oracle、華爲、阿里、騰訊等,他們已經將舞臺搭好了,咱們若是沒有遇上發幣的浪潮,就更應該思考區塊鏈技術能爲咱們當下的業務系統帶來什麼新鮮的東西。運維
做爲一個還沒有成功的創業者,我相信只要保持創業的心態,考慮清楚現有的技術儲備,結合業務場景,就能將新的技術落地,助力業務發展。分佈式
區塊鏈是一種按照時間順序將數據區塊以順序相連的方式組合成的一種鏈式數據結構, 並以密碼學方式保證的不可篡改和不可僞造的分佈式帳本。區塊鏈
區塊鏈技術大體包括四個方面:加密技術、分佈式存儲、共識機制和智能合約。其中智能合約是以太坊實現的,自己不是一個新鮮的東西,以太坊給它注入了新鮮的血液,而以太坊之因此被稱爲區塊鏈2.0,也正是由於智能合約。測試
1.1 加密技術加密
加密技術和安全相關,是一個老話題,也是一個重要的話題。如今的加密技術已經比較成熟,特別是對於開發方面,就再也不贅述,主要講講安全相關的內容。安全每每和私密結合,換句話說,個人東西放在哪裏,不只是沒人偷走,還得沒人知道。區塊鏈的加密技術要保證信息隱藏,每個節點都是匿名存在的。資源
1.2 分佈式存儲開發
分佈式存儲和加密技術的匿名和安全看似是相抵觸的,我把本身的東西存在別人那裏靠不靠譜?區塊鏈中的分佈式存儲有一個很是重要的技術特徵,它能把數據離散化,分別存儲在不一樣的地方,同時還能保證加密。區塊鏈這種獨特的存儲結構,也是和咱們業務結合最近的一點。
1.3 共識機制
共識機制,是經過特殊節點的投票,在很短的時間內完成對交易的驗證和確認;對一筆交易,若是利益不相干的若干個節點可以達成共識,咱們就能夠認爲全網對此也可以達成共識。
說到共識機制,若是你們常常逛論壇的話會發現,作公鏈和作私鏈的人每每互不承認:作公鏈的人會說私鏈/聯盟鏈是區塊鏈嗎?怎麼發幣?作私鏈的人會說作公鏈不就是發幣嗎?要不就是交易所,有價值嗎?
實際上公鏈和私鏈/聯盟鏈在共識機制上有很大的差別,公鏈大部分使用的是POW/POS的共識機制,而私鏈/聯盟鏈每每使用的是拜占庭或流言算法這一類的共識機制。對於作技術開發的人而言,每一種共識機制都沒有好壞之分,只有看適合什麼樣的業務場景、怎麼適用於業務場景。
考量一個共識機制有兩個指標須要注意:效率和響應速度。就是說我須要多少資源才能達成這樣一個體系、多少資源才能實現業務須要的響應速度。若是這兩點達不到的話,勸你仍是先放棄吧,區塊鏈可能不適合你的業務場景。
1.4 智能合約
智能合約是在以太坊上實現的,智能合約,旨在以信息化方式傳播、驗證或執行合同的計算機協議。智能合約容許在沒有第三方的狀況下進行可信交易。它有一個很是重要的特色:交易可追蹤不可逆轉。這個特色很是重要,在不少業務場景中都會用到。
固然如今除了以太坊能夠經過智能合約進行開發之外,還有一些平臺也能夠,咱們若是要在業務場景加上智能合約的話,就面臨一個平臺技術的選擇,在選擇技術平臺的同時還要考慮開發的難易程度。若是要選一個平臺的話,建議先考量其共識機制是否符合業務場景。
尋找業務痛點應該是一個比較簡單的話題了,就是產品經理每天在提的,或者領導每天批評的,或者用戶每天投訴的那些。歸結起來有兩點最重要的:現有系統的侷限性和技術團隊的能力。
2.1 現有系統的侷限性
好比咱們如今正在用一箇中心化的系統,很高效,你們也用得很熟悉了,如今要把它去中心化,首先要考慮的不是技術上可不可行,而是老大批不批准、同事接不接受。 並且中心化的技術方案很難轉型或遷移到去中心化的技術方案。
由於我之前是作彩票系統的,在這裏以彩票發行系統所遇到的技術瓶頸舉例。
彩票發行系統有一個很是典型的特色,就是中心化,換句話說,它必定要有一個發行中心,並且這個發行中心必須是行政受權的,必須彩票的發行以他爲主。確定有人有疑問:這樣的話彩票會不會做假?做爲曾經的內部人士,能夠告訴你們,整個彩票系統的發行機構就是爲了保證彩票發行的公平公正,並且做假的成本實在是過高了也沒有必要。
那麼若是要防止做假保證彩票發行的公平公正,應該怎麼辦呢?在回答這個問題的時候咱們須要引出另外一個例子,交易的管理系統。
把彩票經驗引伸到交通領域,司機的用戶行爲和彩民的用戶行爲有相通之處,能夠把交通系統裏的路權比做一個交易,能夠選擇,固然路權的交易都是自發產生的,靠司機自覺遵照紅綠燈規範。若是假設司機不自覺呢?怎麼避免這樣的現象?個人理解是必需要把整個管理系統去中心化,將每一個管理單元分散下來,讓管理者離被管理者更近,才能讓車輛高效的接收交通管理系統的指揮和行車建議。
如今的交通管理系統都是中心化的,我認爲中心化是去中心化的基礎,中心化帶來的便利是能夠把數據彙總出來,造成一個概況給決策者和開發者,能夠鳥瞰整個系統。而去中心化則是每個接點和單元都做爲一個主體,發出本身的聲音,總體的聲音能夠主導路權的分配,換句話說,每一個人能知道將來會發生什麼,也有權利知道將來會發生什麼。
將交通管理系統比做一個交易管理系統的話,實際上就相似於一個投票系統,這種機制是能夠普遍存在的。多方作決策,多方出數據,造成一個現行方案。
反觀彩票的業務,發行方和監管方的數據和資金分離是業務痛點。
2.2 技術團隊的能力
既然找到了業務痛點,爲何仍是一籌莫展呢?還有一個痛點是技術團隊的能力問題,這裏說的能力主要是強調軟件開發能力,是否達到CMMI 3級的技術水平,固然這個和區塊鏈開發並不直接相關,可是具有這樣水平的技術團隊,轉型區塊鏈開發會大大下降難度。
區塊鏈技術落地的成功機率,技術團隊的能力佔90%以上。也就是說技術團隊的需求管理能力、開發能力、測試能力、運維能力,都對區塊鏈技術落地有極大的幫助。
須要強調的是:我認爲若是你發現業務痛點可以在原有體系上解決的話,務必在原有系統上解決,不是必須使用區塊鏈技術。一切以知足業務須要爲主,不要盲目跟風所謂的新技術。若是你但願發展區塊鏈,能夠將其做爲一個技術儲備,不必定非要將它產品化、業務化。
若是發現咱們的業務場景適合用前面所說的四個技術中的兩個或者三個的話,能夠將區塊鏈技術運用到業務系統中,造成技術方案、產品方案。那麼,該如何實現區塊鏈技術的落地呢?
3.1 寧少勿多-奧卡姆剃刀
僅利用區塊鏈的某些技術特性
若是咱們的業務系統只能用到區塊鏈技術的其中一部分的話,就不要多用。好比只用了加密技術,只用了分佈式存儲的技術等。咱們能夠在這個技術上深度挖掘將其發揮到極致,而其餘的不適合咱們業務的技術就放棄不用。仍是那句話,一切以知足業務需求爲主,要兼顧效率和成本。
力爭不增長系統複雜性,以避免增長開發和運維的成本。
開發和運維的同窗都很辛苦,就別虐待他們了。固然我向來認爲測試的同窗是開發團隊的重要組成部分。
3.2 分而治之
一次解決一個業務痛點。
貪多嚼不爛,是作技術的大忌。
拿住一個點,深度挖掘,每每有意想不到的收穫。
充分發掘原有技術體系的潛力。
去中心化是爲了解決中心化沒有辦法解決的場景,或者解決效率不好的場景。
數據處理去中心化是爲了更高效的處理數據,由於去中心化的處理,能夠離數據產生的場景更近,離數據存儲的場景更近。
內容來源:HiBlock區塊鏈課堂012期 李天學老師的線上分享《區塊鏈技術如何快速落地》
本文編輯:Cynthia
點擊「閱讀原文」便可回聽課程分享。
Blockathon|48小時極客競賽,區塊鏈馬拉松等你挑戰(成都)
時間:2018年9月14-16日
地點:成都高新區天府五街200號菁蓉國際廣場2號樓A座12樓中韓互聯網+新技術孵化器
招募50名開發者
報名費100元爲參賽押金,參賽者我的緣由不能到場參加活動概不退款;參賽者全程參與活動,待活動結束後現場退還。9月14日18:00開始第一次簽到,9月15日和16日天天早上都要記得簽到哦。
主辦方免費提供2天的食物、飲料,併爲每一位參會者準備一件文化衫