Signature

原子多方承諾

  • August 9, 2018

AliceBob公開選擇消息 $ M_A $ 和 $ M_B $ 並獨立簽署(愛麗絲私下簽署 $ M_A $ , 鮑勃標誌 $ M_B $ ).

現在AliceBob正在尋找一種允許他們:

  1. 確保對方的簽名有效*(在惡意對手模型中)*
  2. 僅在協議保證他們也學習對方的簽名時才顯示自己的簽名*(原子顯示)*
  3. 不依賴值得信賴的經銷商

有沒有可能建構這樣的協議?它可以擴展到N方而不是 2 方嗎?它可以與 ECDSA 簽名方案一起使用嗎?

**編輯:**在對主題進行了更多研究並感謝以下答案後,我發現這通常被稱為(強)公平交換協議,並且在沒有受信任的第三方的兩方設置中是不可能的。然而,樂觀的公平交換協議是可能的,並且如果其中一個參與者試圖作弊,它們只依賴於受信任的一方。

我相信這是不可能的。(編輯:以下主要編輯)

讓我們假設這是通過 Alice 和 Bob 互相發送消息來實現的,它需要多少條消息。

我們將展示如果 n 條消息是可能的,那麼 n-1 條消息一定是可能的。

如果有 n 條消息是可能的,不失一般性,讓最後一條消息是從 Alice 到 Bob 的。此時,Alice 不再收到任何資訊,因此她必須已經擁有她需要透露的所有資訊,因此她可以選擇不發送最後一條消息。如果 Bob 仍然能夠揭示,那麼可以使用 n-1 條消息來解決。

通過歸納,可以使用 0 條消息,這顯然是不可能的。

編輯:我的上述答案在技術上是正確的。這是最糟糕的謊言。正如 Dragos 和 Alpha Baravo 所指出的,有很多關於公平交換協議的文獻。

那麼我們如何解決不可能的問題呢?有幾個選項,但我認為最接近問題的一個選項是更靈活地了解擁有需要揭示的一切意味著什麼。

證明假設您可以或不能透露,而實際上,一旦您做出承諾,您就可以通過足夠的計算來揭示底層。如果我們對計算能力設置一個硬門檻值,上述證明就成立了。如果我們提出一個較弱的要求,如果 Alice 可以通過一些工作來揭示 Bob 可以揭示而無需更多工作,那麼問題就可以解決了:

每一方都有一個隨機密鑰來保護要揭示的內容,每一方都提供一個零知識證明來證明擁有這樣的密鑰。密鑰逐漸顯露,每次 ZK 證明前綴都是正確的。如果證明在一次迭代中沒有成功,那麼第一個分歧方在暴力破解剩餘密鑰方面只有有限的優勢。

引用自:https://crypto.stackexchange.com/questions/61386