區塊鏈商城dapp系統開發技術詳情丨區塊鏈商城dapp開發原始碼案例部署
- 概述
一般來說,參與到區塊鏈交易中的資料對鏈參與者都是公開的。而長安鏈隱私合約功能為區塊鏈提供在合約中處理敏感資料的能力,達到保護資料隱私的同時保證合約執行過程的可靠性(包括合約邏輯、資料的完整性)。長安鏈隱私合約採用可信計算技術,在可信執行環境中執行隱私合約。敏感資料以密文形式存在於區塊鏈賬本中,使用者使用時在可信執行環境中解密,而可信執行環境外無法獲得敏感資料明文。同時,可信執行環境的遠端證明保證合約邏輯不被篡改。如此,達到敏感資料在區塊鏈上的可用不可見,而資料處理流程仍然可以在區塊鏈上公開驗證的效果。
長安鏈支援Intel SGX作為執行隱私合約的硬體基礎。目前Intel SGX相對於其他可信計算硬體,具有相容性好、文件完善等優勢。
- 隱私合約設計方案
隱私合約功能由一個基於可信執行環境的隱私合約環境提供。這個隱私合約環境由可信執行環境Enclave和隱私計算閘道器組成。其中Enclave是執行在可信執行環境的邏輯,負責對合約進行驗證、編譯、執行,敏感資料密文只能在Enclave中解密。長安鏈的Enclave中實現了一套WASM邏輯,可以對任意資料處理邏輯進行編譯、執行。隱私計算閘道器負責將使用者、Enclave發出的資訊打包成區塊鏈的交易payload,並轉發給區塊鏈存證。
整個流程分為三個階段:可信執行環境的遠端證明、隱私合約的部署、隱私合約的呼叫。
遠端證明動作可以是一次性的。案例開發I35模式7O98詳細O7I8,在該階段,由使用者發起對隱私合約環境中Enclave的遠端證明,驗證該Enclave是否執行於可信執行環境中,以及該Enclave中的邏輯是否在部署後被篡改過。
隱私合約的部署發生在遠端證明之後,每個不同的隱私合約需要單獨進行一次部署。在這個階段中,使用者可以部署經區塊鏈共識接受的任意資料處理邏輯作為隱私合約,隱私合約會被存在區塊鏈上,其邏輯受到公開監管。不同於普通合約使用者直接將合約程式碼上傳到區塊鏈節點的部署方式,隱私合約需要使用者將合約上傳到隱私計算環境初始化後,由隱私計算環境透過閘道器將處理好的合約上傳到區塊鏈賬本中。
隱私合約的呼叫發生在部署之後。一個隱私合約部署後,使用者可以用相同或不同的資料為入參進行多次呼叫。
- 可信執行環境與遠端證明
可信執行環境是CPU的一個安全加固區域,可以保證其中的軟體邏輯和資料在機密性和完整性上得到保護。該區域的軟硬體環境可以看做是與外界隔離的一個反沙箱環境。在這個環境中執行的程式,外部包括作業系統無法讀取或寫入其記憶體,也無法干擾其程式碼執行邏輯。
遠端證明可以使驗證者辨別被驗證的可信執行環境上的軟體邏輯是否有變更。通常,遠端證明的被驗證方透過可信硬體生成一個證書,這個證書包含一個report資訊,這個資訊描述當前執行在可信執行環境中的軟體(程式碼度量)。驗證者透過驗證這個證書的合法性來驗證可信硬體上的軟體程式是否被修改過。
- Intel DCAP遠端證明(暫不支援,需搭配新款伺服器)
Intel提供的遠端證明機制。
信任Intel。在DCAP遠端證明模式中,Intel會作為根CA為SGX硬體提供認證。
需要在網路中維護一個PCCS服務提供對網路中的SGX硬體認證。PCCS服務是將Intel為SGX下發的類似二級證書的資訊快取到一個區域網路中。
5.自定義信任根的遠端證明(v1.2.0開始支援)
自定義信任根的遠端證明對DCAP做了一些改動,將對Intel的信任轉移到對任意選定的CA機構的信任上。
在可信執行環境初始化階段,可信硬體基於硬體固有金鑰生成一對簽名公私鑰對和一對加密公私鑰對,並向一個選定的CA機構申請證書。該證書中包含簽名公鑰和加密公鑰。這個過程類似於硬體出廠時向Intel註冊資訊。
在使用者發起對Enclave的遠端證明時:
使用者生成一個隨機挑戰(任意隨機字串),將其傳送到隱私合約環境,由隱私計算閘道器轉發到Enclave中。
Enclave對收到的隨機挑戰製作一個遠端證明。Enclave收到隨機挑戰後,呼叫SGX EREPORT指令獲取report。這個report包含當前執行中的軟體的程式碼度量和Enclave的其他資訊。Enclave將隨機挑戰與report拼接後,用簽名私鑰對其簽名,製作出包含隨機挑戰、report、Enclave簽名、Enclave證書4個元件的遠端證明。
Enclave透過隱私計算閘道器輸出遠端證明(包括隨機挑戰、report、Enclave簽名、Enclave證書)。
隱私計算閘道器會呼叫系統合約將遠端證明寫入區塊鏈存證。系統合約中包含驗證遠端證明合法性的邏輯,透過驗證的遠端證明會被寫入區塊鏈存證。
隱私計算閘道器會返回一份遠端證明給發起證明流程的使用者,使用者可以線下自行驗證遠端證明。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69956839/viewspace-2936100/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- DAPP區塊鏈商城開發(多語言)丨DAPP區塊鏈商城系統開發(海外版)及案例原始碼APP區塊鏈原始碼
- 區塊鏈商城開發正式版丨區塊鏈商城系統開發技術原理丨區塊鏈商城原始碼平臺區塊鏈原始碼
- 區塊鏈眾籌商城系統開發實現技術方案丨區塊鏈眾籌商城開發原始碼部署區塊鏈原始碼
- 區塊鏈眾籌互助商城dapp系統開發合約技術詳情區塊鏈APP
- 泰山&眾籌互助區塊鏈商城dapp系統開發功能詳情區塊鏈APP
- 商城dapp系統開發技術分析丨商城dapp開發案例及原始碼APP原始碼
- DAPP商城開發詳細丨DAPP商城系統開發(方案及規則)丨DAPP商城原始碼部署APP原始碼
- 區塊鏈積分商城開發運營版丨區塊鏈積分商城系統開發(案例及詳細)區塊鏈
- 區塊鏈拼團挖礦商城dapp系統開發詳情(模式定製)區塊鏈APP模式
- 區塊鏈商城系統開發區塊鏈
- 區塊鏈dapp開發公司 | dapp開發技術團隊區塊鏈APP
- DAPP區塊鏈即時通訊系統開發(功能詳情)丨DAPP即時通訊系統開發(原始碼專案)APP區塊鏈原始碼
- 區塊鏈即時通訊DAPP系統開發詳情介紹丨即時通訊DAPP系統開發(案例功能)/原始碼專案區塊鏈APP原始碼
- 區塊鏈泰山眾籌商城開發原始碼版丨區塊鏈泰山眾籌系統開發(方案及功能)區塊鏈原始碼
- 區塊鏈趣步DAPP智慧合約合約系統技術開發詳情區塊鏈APP
- NFT區塊鏈遊戲系統開發技術方案丨NFT區塊鏈遊戲系統開發原始碼詳解區塊鏈遊戲原始碼
- Demo區塊鏈DAPP合約系統開發技術講解理念方案丨(原始碼搭建)區塊鏈APP原始碼
- 區塊鏈泰山眾籌DAPP系統技術開發(程式碼示例)區塊鏈APP
- 區塊鏈去中心化DAPP系統開發技術(成熟技術)區塊鏈中心化APP
- 區塊鏈數字藏品開發原理丨區塊鏈數字藏品系統開發(技術詳細)及原始碼案例區塊鏈原始碼
- 廈門區塊鏈公鏈系統開發及DAPP開發區塊鏈APP
- 區塊鏈DApp開發 | 跨鏈智慧合約技術搭建開發區塊鏈APP
- 區塊鏈多商戶商城開發上線版丨區塊鏈多商戶商城系統開發(專案及方案)區塊鏈
- 區塊鏈DAPP去中心繫統開發技術程式碼流程區塊鏈APP
- 區塊鏈DAPP技術開發擴充模式方案區塊鏈APP模式
- 促進區塊鏈交易所繫統開發技術概念丨區塊鏈交易所原始碼系統開發部署方案區塊鏈原始碼
- 區塊鏈DAPP智慧合約質押專案系統開發(原始碼部署)區塊鏈APP原始碼
- 區塊鏈投票系統開發方案,區塊鏈投票系統開發原始碼區塊鏈原始碼
- 區塊鏈趣步DAPP合約模式系統開發丨去中心化DAPP系統開發方案區塊鏈APP模式中心化
- 區塊鏈遊戲系統開發(Gamefi鏈遊開發案例)丨Gamefi鏈遊系統開發詳細及原始碼區塊鏈遊戲GAM原始碼
- JAva智慧合約DAPP系統開發(區塊鏈)JavaAPP區塊鏈
- 區塊鏈多鏈錢包開發詳情版丨區塊鏈多鏈錢包系統開發實現技術方案及邏輯區塊鏈
- DApp區塊鏈公鏈智慧合約質押挖礦系統開發丨Solidity技術搭建APP區塊鏈Solid
- 區塊鏈專案技術開發(公鏈、礦機、交易所、DAPP)成熟技術系統開發區塊鏈APP
- 區塊鏈DApp開發模式詳情 | 去中心化應用開發原始碼規則解析區塊鏈APP模式中心化原始碼
- 馬蹄鏈dapp開發規則丨馬蹄鏈dapp系統開發(案例開發)丨馬蹄鏈原始碼功能APP原始碼
- 區塊鏈/趣步DAPP/智慧合約系統開發/合約跟單/python技術詳情區塊鏈APPPython
- DAPP馬蹄鏈智慧合約系統開發(案例)丨DAPP馬蹄鏈開發原始碼APP原始碼