最理想的隱私保護智能合約應該能夠對除了提供它的人之外的所有人隱藏輸入數據,在不透露任何狀態的情況下執行任意計算,並按照程序規範返回輸出。目前能做到隱私保護智能合約的方式有以下三種:
1. 可信執行環境 (#TEE)

可信執行環境(#TEE) 是設備主處理器上與主操作系統分離的隔離區域。它確保數據在受信任的環境中存儲、處理和保護。迄今為止最流行的 TEE 是 Intel SGX,許多的 Intel 芯片都包含這個元件。
#TEE 對於計算機的所有者來說就是個黑盒。計算機的所有者無權查看其中的數據,這也就保證了加密數據不會被洩漏,但計算可以安全的進行。程序的狀態完全隱藏,任何人都無法訪問。使用這種方法的項目有 @SecretNetwork ($SCRT),@OasisLabs ($ROSE) 和 @PhalaNetwork ($PHA)。
這種私有計算的通用方法是當今最具擴展性的方法。許多計算機都啟用了 Intel SGX,並且使用黑盒運行程序不會有太明顯的性能降低。
2. 安全多方計算 (#sMPC)

隱私智能合約的第二種方法是使用安全多方計算的加密技術(#sMPC)。在 #sMPC 中,我們可以以特定的方式將數據拆分為多個部分,然後讓單獨個體對這些部分進行運算,從而不會透露任何有關原始數據的信息。然後再重新組合這些部分以產生最終結果。
假設我們想在不透露 A 和 B 的情況下計算 A + B。我們可以將A分為 A₁,A₂,A₃,B分為 B₁,B₂ ,B₃ 使得 Aₓ+Bₓ = Cₓ。我們將數據的份額分發給三個人,他們自己的份額是完全沒有意義的。在計算出各自的Cₓ值後,將他們的Cₓ值組合起來,產生最終結果C。他們中的任何一個都不知道完整的 A 和 B 。
#sMPC 的隱私保護智能合約的兩個項目是 @keep_project#Enigma (@SecretNetwork 的前身)。最初的 Enigma 白皮書提出了一個使用 #sMPC 的去中心化私有計算平台的設計,但後來他們改變了路線圖,改為使用 #TEE,這說明了在短期內使用 #TEE 代替 #sMPC 的實用性。
3. 零知識證明 (#ZKP)

最後一種方法是使用零知識證明(#ZKP),是麻省理工學院研究員提出的加密方案。在這種方法中,一方(證明者)可以證明特定陳述對另一方(驗證者)是真實的,而無需披露任何附加信息。零知識加密可確保除了您(甚至服務商或應用程序開發機構)之外的任何人都無法訪問您的安全數據。
最常見的 #ZKP 類型是指交互式零知識證明和非交互式零知識證明。交互式 #ZKP 涉及證明者必須完成的一系列操作,以說服驗證者關於特定事實。交互式 #ZKP 中的一系列動作與數學概率的概念相關。
另一方面,非交互式 #ZKP 不涉及任何交互式過程。在非交互式 #ZKP 的情況下,證明者可以將所有挑戰組合在一起,驗證者可以在稍後階段做出響應。儘管非交互式 #ZKP 可以減少串通的可能性,但它們需要額外的軟件和機器來識別實驗序列。
最後是 #zk_SNARKs,一種簡潔的非交互式的零知識論證。 zk-SNARK是零知識證明替代方案中最受歡迎的技術。它可以幫助定義利用公共數據、私有數據和輸入生成證明的二次方程。然後,驗證者可以驗證完成交易的證明。
#ZKP 的項目包括有 @MantaNetwork($MANTA),@AleoHQ@aztecnetwork@penumbrazone
總結

不同的項目使用不同的技術來實現隱私保護智能合約,每種方法都有其優點和缺點。但是,我確信這三種技術在未來可以以連貫的方式結合起來。
#sMPC 的最大缺點之一是該協議不能容忍對抗行為。如果其中一個節點計算出錯,結果將變得毫無意義。我們可以設想一種新協議,其中 #sMPC 協議中的每個節點也需要提交零知識證明,證明他們誠實地執行了計算。我們也可以在 #TEE 中運行這些 #sMPC 協議。這樣如果計算節點串通,它們仍然無法發現私有數據。
然而,這些方法中的每一種本身都是需要花費大量的開發時間和成本,需要完整的團隊來構建。#ZKP#sMPC 技術也還處於起步階段,頂級密碼學家正在進行大量前沿研究,以提高這些協議在現實生活中的效率和可用性。@TorBair @FINT1121 @antoniayly

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Cloud Antelope

Cloud Antelope Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(