向產權機構證明發生了比特幣交易?
向產權機構證明發生了特定比特幣交易並且地址確實屬於交換產權的各方的最佳方式是什麼?
需要證明的東西:
所有權
地址 A 屬於第 1 個人
- 第 1 個人控制允許從地址 A 支出的私鑰
地址 B 屬於第 2 個人
- 第 2 個人控制允許從地址 B 支出的私鑰
交易 T 將金額從地址 A 轉移到地址 B
發生了
被傳送
被接受
已經被證實
被包含在一個塊中
- 該塊是最長鏈的一部分,即區塊鏈。
證明地址的所有權
所有權更容易證明,前提是法官(所有這一切都被證明)接受:經濟活動或數字簽名作為私鑰控制的證明。
經濟活動
不幸的是,證明經濟活動需要時間和/或價值成本。
法官可以
- 要求每個證明者在給定時間重現交易,但數量可以忽略不計:1 satoshi 加上足夠的交易費用。原始交易可以在僅更改金額的情況下進行複制,並且還可以執行交易的反向操作,這足以證明每個人都充分控制了私鑰以從事經濟活動。
- 要求每個證明者向同一地址發送 2 satoshi 加上足夠的交易費用的兩倍:由法官提供的地址,然後返回一半發送的內容,以證明他們自己控制了 2 satoshi 交易發送到的地址。這表明第 1 個人、第 2 個人和法官都控制著他們所說的足以從事經濟活動的地址。
其中任何一項的成本都是顯而易見的,但通常可以忽略不計,不會對任何相關方造成重大負擔。可以省略交易費用,前提是轉移的金額足夠大,既可以在沒有交易費用的情況下進行處理*,又*可以被接收方退回。
這些交易的信任可以通過法官為每筆交易分配一個隨機的兩位數的聰,或者基於一個商定的、尚未發生的事件以及一個預期的時間段來增加交易必須傳送給法官。尚未發生的事件的一個例子是報紙頭條或只是在某個日期和時間的第 10 個最舊的區塊中最左邊的兩個數字。
另一種更複雜但更值得人類信賴的方式是讓法官為每個證明者提供一個私鑰。然後,證明者將金額傳輸到可由該私鑰控制的地址,然後使用提供的私鑰立即返回相同的金額。不過,法官有臨時控制權,因此對法官的信任是必要的。
如果各方無法將交易廣播到網路或交易確認所需的時間太長,則此方法不可行。
數字簽名
如果法官熟悉數字簽名的工作原理,或者可以確信它們的有效性,那麼這是一種選擇。一些努力可能是值得的,因為此選項沒有經濟支出,並且不需要網路確認上述證明交易所需的時間。
法官為每個證明者提供一個獨特的文本。這個片語可以是合理的或隨機生成的。隨機可能更好,主要是因為生成所需的時間更少。或者,將文本基於商定的尚未發生的事件,並在預期時間段內將簽名傳輸給法官。尚未發生的事件的一個例子是報紙頭條或只是在某個日期和時間的第 10 個最舊的區塊中最左邊的兩個數字。
簽名應該在各方之間發送,以便所有對抗方都可以驗證簽名。
請記住,本練習的目的是展示對私鑰的控制。這樣做的一個缺點是並非所有的錢包軟體都支持簽名數據,最常見的原因是支持錢包的私鑰不會以任何方式暴露給使用者,除非是為了簽署交易。如果一個證明者聲稱他們的軟體沒有這個功能,那麼這種方法是不可行的。可以說服證明者使用其他軟體,但如果他們可能被誘騙使用惡意軟體,如果控制的誤報證明是不可取的,那麼這可能會損害他們的地位。
兩者的結合
這些方法中的每一種都有優點和缺點,因此兩者的組合可能會提供最有信心的私鑰控制,從而控制地址。
證明交易發生
法官驗證任何給定交易是否發生的最簡單方法是使用受信任的區塊鏈瀏覽器程序,因為很少有錢包程序公開允許使用者按地址、交易或區塊搜尋區塊鏈的功能。
法官可以使用資源管理器驗證每個有問題的地址的活動,以及交易本身。由法官來驗證交易是否是允許數量塊的最長鏈的一部分。一個區塊深度足以抵禦大多數會取消交易的攻擊,但每個額外的區塊深度都會進一步鞏固交易。
如果交易發生在足夠遠的過去,法官自己的區塊鏈副本可以被探索,則這不一定需要網路連接。
如果法官無法訪問區塊鏈的副本,則無法確定獲得所需的證據。鑑於原始交易,法官可以使用數字簽名方法來驗證人 1 控制地址 A,因為原始交易將包含可驗證的簽名。然而,原始交易本身並沒有任何內容可以讓法官驗證人 2 對地址 B 的控制。