【區塊鏈】基於TLSNotary的中心化預言機第三方可信證明——原理介紹

2020-10-23 12:00:50

【區塊鏈】基於TLSNotary的中心化預言機第三方可信證明——原理介紹

在中心化的預言機(比如以太坊上的Oraclize)中,為了防止鏈下獲取到的資料被篡改,TLSNotary利用了TLS1.1協定的機制,引入第三方作為稽核方,預言機作為被稽核方,從而提高資料的可信性。

TLS1.1協定流程

TLSNotary是基於TLS1.1協定的流程來實現的,先簡單瞭解一下整體過程,下圖是流程圖:

TLS1.1協議流程

協定的大體流程是協商金鑰生成演演算法然後通過亂數生成祕鑰,最終雙向驗證祕鑰達成握手,詳細流程可以參見文末連結。

協定最終的效果是在使用者端和伺服器端各生成了一組祕鑰,用於通訊內容加解密驗證資料是否被篡改

  • 對稱加密祕鑰
    加密封包內容(在HTTP協定裡面就是網頁資料),防止在傳輸的過程中被他人讀取。
  • 驗證祕鑰
    加密資料傳輸的過程中還是有可能會被截獲並且篡改,最終導致解密的資料出現錯誤。所以需要使用者端和伺服器端用同樣的演演算法和祕鑰進行HMAC計算(具體演演算法取決於協商階段的結果),最終結果一致的話,就證明資料沒有被篡改。

TLSNotary流程

我根據官網內容和白皮書,整理了一下大體流程,如果有誤歡迎指正。
TLSNotary流程

TLSNotary協定可以理解為把TL1.1S協定中的驗證祕鑰託管到第三方稽核伺服器,讓它進行HMAC計算並且確認資料是否被篡改,從而增強可信性。

具體的祕鑰聯合生成演演算法,可以對照底部參考連結的白皮書。

關於TLS1.3

TLS1.3化簡了握手流程,在一次握手後直接實現了協商和祕鑰生成,並且合併了資料解密和HMAC計算環節,所以稽核方無法控制驗證祕鑰,最終導致無法採用TLSNotary的方案進行資料可信性驗證。

參考連結
白皮書地址
TLS1.1
TLS1.3


作者:脆皮豬
來源:CSDN
授權:著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。