公司该如何创建适合自己的区块链产品、联盟链、私链
現在區塊鏈是非常火的,很多公司都想蹭一把區塊鏈,不管實際作用大不大,也要往區塊鏈上靠一靠。
那么這就難為了廣大的技術開發人員,如何在完全不了解區塊鏈的情況下,迅速為公司開發出區塊鏈產品呢?
區塊鏈基礎架構模型
簡單來總結區塊鏈就是,這是一個數據庫,與傳統數據庫區別最大的點是,傳統數據庫由一個中心來管理維護,所有人都是這個中心來做增刪改查;而區塊鏈則是每個節點都有一個數據庫的完整備份,即所謂的去中心化。這樣一來不用擔心數據丟失的問題(到處都是備份),二來解決了信任的問題(見證者太多,無法篡改)。至于挖礦什么的,那都是輔助生成數據的東西,在區塊鏈技術上,屬于非必須的組件。一般說來,區塊鏈系統由數據層、網絡層、共識層、激勵層、合約層和應用層組成。 其中,數據層封裝了底層數據區塊以及相關的數據加密和時間戳等技術;網絡層則包括分布式組網機制、數據傳播機制和數據驗證機制等;共識層主要封裝網絡節點的各類共識算法;激勵層將經濟因素集成到區塊鏈技術體系中來,主要包括經濟激勵的發行機制和分配機制等;合約層主要封裝各類腳本、算法和智能合約,是區塊鏈可編程特性的基礎;應用層則封裝了區塊鏈的各種應用場景和案例。該模型中,基于時間戳的鏈式區塊結構、分布式節點的共識機制、基于共識算力的經濟激勵和靈活可編程的智能合約是區塊鏈技術最具代表性的創新點。
看起來很復雜的樣子,其實它就是很復雜。不是模型復雜,而是具體到每一個組件都去自己實現很復雜。
主要解決的問題有數據存儲和查詢,節點間的通信和驗證,可自定義的智能合約等。
怎么開發
從上面的模型來看,要搭建好一個能用的區塊鏈平臺,難度是不小的。但是注意看,數據層和網絡層這兩層其實是不會發生大的變化的,無論是比特幣還是以太幣或者是你自己的任何幣,或者就是普通的數據要往區塊鏈放。這兩層適用于任何區塊鏈產品。
輪子早已有人造好,作為普通的開發人員更重要的是如何使用輪子。
主要介紹幾個平臺及特點:
1 以太坊
這個是除比特幣外,世界第二大虛擬貨幣,擁有世界第二大的算力。以太坊提供了完善的數據層、網絡層,和通過簡單配置就能使用的共識層和激勵層,需要開發的主要是合約層,通過自定義合約來完成自己需要的應用層。既可以將自己的合約發布到以太坊公網(需要以太幣),也可以搭建私鏈、聯盟鏈來讓特定的人使用。背后有強大的公司支撐,是目前大部分區塊鏈學習者會首先碰到的平臺。但是編寫合約用的是以太坊自己的語言,對于大部分開發者來說,該語言很詭異。會存在語言障礙。
2 騰訊區塊鏈
https://trustsql.qq.com/
騰訊區塊鏈解決了底層的一切,對外暴露一些API,通過提供的Java和C++的SDK,可以很方便的進行區塊鏈上的操作。我們可以就把它當成一個數據庫就好了,只不過數據庫是建立在區塊鏈上的。這樣我們就可以忽略區塊鏈這個概念了,就像操作遠程數據庫一樣,可以在里面存放任何你想存的數據。適用于大部分公司所需的場景,就是交易記錄、信息保存等。條件限制目前是每個節點只能在騰訊云主機上。
3 百度區塊鏈
https://chain.baidu.com/
注冊了,但是審核沒下來,估計是他們放假了。看樣子和騰訊的差不多。
4 布比區塊鏈
http://www.bubi.cn/
這個具備可視化操作,看起來也比較簡單。沒看到SDK和文檔,應該是收費的。注意,就這一個可能是收費的,其他的都是免費的。
5 ChainSQL
http://www.chainsql.net/index.html
這個原理和騰訊區塊鏈類似,是直接對外提供類似于數據庫操作那樣的SDK來操作區塊鏈。
以太坊先不提,我對它那個開發語言很沒興趣,對于不提供java sdk的不做討論。
騰訊和ChainSQL都是提供了客戶端,需要安裝到自己主機上,啟動后就相當于擁有了一個區塊鏈數據庫了,很是方便。
這些公司都是封裝了底層的文件存儲、查詢、通信等等那些復雜的操作,對外公布簡單的數據操作接口,形成一個SaaS系統。這樣很多公司就可以基于此,完成聯盟鏈的創建,讓自己的一些客戶聯盟共同維護這個鏈,形成數據共享。
需要準備好服務器,安裝他們提供的客戶端,然后就可以開心的使用區塊鏈了。
如果你覺得不想使用這些第三方平臺,想要自己來完成實現一個區塊鏈平臺,或者自己也要做一個他們那樣的平臺。那么也有一些開源的項目可供參考
Java的:https://github.com/tronprotocol/java-tron/tree/master
這篇文章里也介紹了一些:https://yq.aliyun.com/articles/60443
總結
以上是生活随笔為你收集整理的公司该如何创建适合自己的区块链产品、联盟链、私链的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: torchtorchvision对应版本
- 下一篇: CentOS 7配置Hadoop3.X环