Sidechains

在將資產移回 2-way pegged 側鏈時,如何驗證 SPV 證明?

  • July 28, 2018

我已經看到到處張貼類似的問題,但還沒有找到我能理解的答案。

好的,所以2路掛鉤的過程是:

  1. 我將一些硬幣移動到父區塊鏈上的 OP_SPVPROOFVERIFY。
  2. 我等待一段時間(例如 1 天)
  3. 我在側鏈上獲得硬幣,進行交易。
  4. 現在,我想將其中一些代幣移回父/主區塊鏈。
  5. 我將它們發送到側鏈上的一個特殊地址,它們現在被鎖定在該鏈上。
  6. … 魔法魔法
  7. 現在我可以“SPV 證明”代幣在側鏈上完成,現在可以免費在主鏈上進行交易。

第 6 步如何工作?

假設

  • 只有父鏈礦工和 spv 和完整節點的一個子集知道這個側鏈甚至存在
  • 側鏈可能使用完全不同的工作證明、塊格式、地址方案(或者更確切地說:與比特幣相比,側鏈可以改變什麼,什麼是固定的?)

在這些假設下,執行父鏈的完整節點如何辨識代幣真的從側鏈中消失了(他們沒有明確意識到這一點)?請記住,父完整節點不知道發生在側鏈上的工作證明類型(如果有的話),地址方案,實際上它只知道和說比特幣的語言,而不是側鏈。那麼第 6 步是如何工作的呢?

您的問題很明確,並提出了側鏈介面的主要問題:如何向某個鏈(稱為“主鏈”)證明事件(例如存款)發生在遠端鏈上(稱為“側鏈”) )。

據我所知,目前還沒有確切的具體說明它是如何工作的,但是可以採取幾種方法。這里通常採取的方法是允許一組“工作人員”或“漁民”觀察側鏈上的交易,等待它在那裡得到確認,然後通過簽署聲明來保證它發生的事實(“證書”)證明側鏈中的交易確實發生了。如果對工作人員有一些誠實的假設,例如,他們中的大多數人是誠實的,那麼這可能會很好地工作。在這種情況下,實際上,提款實際上可以是多重簽名檢查。這種方法適用於現有的比特幣實現。等離子,波卡,元素。

如果您不想停留在比特幣領域,可以實現具有不同信任假設的更優雅的解決方案。如果你不喜歡中心化的一組工作人員(或其“聯盟”)的威脅模型,並且你想完全去信任,你需要以去中心化的方式生成遠端事件的證明。該證明需要採用簡單字元串的形式,以證明遠端鏈上發生了某些事情,即使本地礦工沒有連接到該遠端鏈並且不知道其共識是如何工作的。

如果側鏈具有工作量證明共識,那麼這些證明會提出一個聲明,證明發生了足夠的工作量證明以將交易隱藏在遠端鏈上。當它們證明工作量證明發生時,它們就是“工作量證明”(PoPoWs)。對此類證明的驗證並非易事,比特幣目前沒有操作碼來執行此操作,也沒有計劃提供任何支持。因此,當主鍊是圖靈完備的區塊鍊或支持 PoPoW 操作碼(不太可能)時,這種模式是可能的。

另一方面,側鏈也必須支持這些證明的生成。這可以內置到鏈中,如ERGOWebDollarNimiq。沒有 PoPoW 支持的區塊鏈可以通過執行適當的天鵝絨分叉來添加它,而無需軟分叉和礦工批准。

最後,這些 PoPoW 必須由側鏈維護者在“一次性”嘗試中生成一個簡單的字元串,並且它們不應該需要互動,即它們應該是非互動工作證明(NIPoPoW)。鑑於這些成分,您可以以完全無需信任的方式進行操作。

上述所有結構都預先假設側鍊和主鏈獨立安全地生存。例如,如果側鍊是基於 PoW 的,則需要具有誠實的多數計算能力。

總而言之,比特幣目前無法以無需信任的方式完成您所要求的事情,但有聯合/聯合的方式來做到這一點。如果您願意在新系統上工作,您可以以分散的方式進行。

免責聲明:我是非互動式工作證明論文的合著者之一。

引用自:https://bitcoin.stackexchange.com/questions/43445