- 區塊鏈社會:區塊鏈助力國家治理能力現代化
- 王煥然等
- 710字
- 2021-03-23 16:36:33
5.3 隱私保護及探索方向
對于交易的匿名和隱私保護方面,達世幣(DASH)、門羅幣(XMR)、大零幣(ZEC)分別在混幣技術、環簽名和零知識證明技術上進行了嘗試和探索。
隱私保護的另外一個領域是智能合約的隱私保護,以防止針對智能合約的攻擊。目前有幾個方向的探索:
代碼混淆(Code Obfuscation):隱藏程序中的私有數據,降低攻擊風險。不可分辨性混淆(Indistinguishability Obfuscation)是正在努力的方向。
預言機(Oracle):智能合約與鏈外數據源之間的信息載體,有助于隱私信息的保護。
可信執行環境(Trusted Execution Environment,TEE):保證內部加載的代碼和數據在保密性和完整性上得到保護。
代碼混淆亦稱花指令,是將計算機程序的代碼轉換成一種功能上等價、但是難以閱讀和理解的形式的行為。代碼混淆可以用于程序源代碼,也可以用于程序編譯而成的中間代碼。執行代碼混淆的程序被稱作代碼混淆器。目前已經存在許多種功能各異的代碼混淆器。
黑箱混淆器(Black Box Obfuscator)是理論上非常理想的混淆器,但早在十多年前就被證明是不可能的。2013年,美國加州大學洛杉磯分校的A. Sahai教授及其合作者們提出了一種不可分辨性混淆技術,其基本思想是把一個程序轉換為一種被稱為多線性拼圖(Multilinear Jigsaw Puzzle)的游戲,從而將混淆技術的安全性轉化為一類與格(Lattice)有關的數學難題。與理想的黑箱混淆器相比,這種混淆技術具備了黑箱混淆器的大多數特性。不僅如此,這一技術自提出以來,已經經受住了領域內一大批專家(包括提出者)的第一輪攻擊。
代碼混淆器也會帶來一些問題。主要的問題包括:
被混淆的代碼難以理解,因此調試及除錯也變得困難起來。開發人員通常需要保留原始的未混淆的代碼用于調試。
代碼混淆并不能真正阻止反向工程,只能增大其難度。因此,對于對安全性要求很高的場合,僅僅使用代碼混淆并不能保證源代碼的安全。
- R語言數據分析從入門到精通
- JavaScript+jQuery網頁特效設計任務驅動教程(第2版)
- 編程珠璣(續)
- HBase從入門到實戰
- 數據結構簡明教程(第2版)微課版
- Learning FuelPHP for Effective PHP Development
- C#應用程序設計教程
- Kotlin編程實戰:創建優雅、富于表現力和高性能的JVM與Android應用程序
- 好好學Java:從零基礎到項目實戰
- Visual Studio Code 權威指南
- C++編程兵書
- SQL Server 2008 R2數據庫技術及應用(第3版)
- Advanced UFT 12 for Test Engineers Cookbook
- 交互式程序設計(第2版)
- Vue.js光速入門及企業項目開發實戰