Trustodial:本體論困境
最近,由於 LightspARk 最近的“Spark”系統的整合,Satoshi 錢包宣布即將重返美國,此後引發了大量批評,主要集中在信任模型問題以及新版 Satoshi 錢包是否構成非託管錢包。
Spark 是一個基於(詳見文章)的系統。 狀態鏈缺乏最清晰的信任模型。 Spark 本質上是狀態鏈的通道工廠版本,眾多狀態鏈嵌套在基於單個鏈上 UTXO 構建的交易樹中。
狀態鍊是一個第二層系統,允許整個 UTXO 自由地在鏈下轉移,不受流動性限制,但需要接受一些信任權衡。 你必須相信,運營商(本質上是服務提供商)會在每次狀態鏈轉移時刪除私鑰信息。
那麼讓我們看看什麼構成了非監護權。
- 用戶對其資金擁有單方面控制權,或有能力重新獲得資金。
- 任何其他方(或多方)均無權阻止用戶花費其資金,或恢復其資金使用能力,或在未經用戶參與的情況下阻止其花費資金。
第一個特性絕對適用於狀態鏈。 就像閃電通道一樣,用戶能夠在一定時間鎖定期後使用預簽名交易取回資金,以確保誠實結算。 第二個特性在適用與否方面則不那麼明確。
狀態鏈協議要求運營者和原始用戶協作生成一個雙方都無法完全知曉的密鑰。 他們可以利用各自的份額協作對用戶的提現交易進行預簽名。 當原始用戶將交易轉移給其他人時,原始用戶、新用戶和運營者都會協作“重新生成”相同的密鑰,但新用戶和運營者持有的份額不同。
在簽署新用戶的提現交易後,運營者應該刪除其與原用戶產生的份額。 這將阻止運營者與原用戶簽署新的交易,而新用戶交易的較短時間鎖定也確保了新用戶能夠在原用戶之前使用其份額。
如果運營商不刪除舊的密鑰份額,那麼他們就有可能與任何保留其密鑰份額的過去用戶合作竊取狀態鏈中的資金。
操作員
如果運營者按規定行事,每次轉移狀態鏈時都刪除舊的密鑰份額,那麼他們就不是一個託管系統。 他們實際上無法與狀態鏈當前合法所有者以外的任何人合作簽署任何交易。 預簽名交易的遞減時間鎖機制保證了當前所有者可以總是在任何前任所有者之前確認其提款交易。
操作員甚至可以在 SGX 安全區域或其他安全計算環境中運行他們的軟件,並讓該安全區域強制執行軟件的正確行為。 它甚至可以提供證明(前提是你相信該環境不會被破壞),供其他人驗證。
他們也有強烈的動機誠實地操作該協議,因為這樣做他們不需要遵守作為持有他人資金的託管服務所帶來的規定。
用戶
最終用戶擁有單邊提現交易。 該交易可在其所有權的時間鎖到期後,以及前任所有者的時間鎖到期前的任何時間使用。 如果運營商停止響應或消失,他們也可以選擇使用此選項。
但他們必須相信運營商正在誠實地操作協議,並刪除過去的密鑰共享。 他們沒有辦法真的驗證這一點。 如上所述,類似 SGX 飛地之類的系統可以處理運營商軟件的安全性,並簽署證明其正在運行誠實軟件的證明。 但這樣做只會將信任點從運營商轉移到 SGX 飛地的製造商英特爾身上。
即使與真正誠實的操作員打交道,該操作員只運行誠實的軟件並且從未欺騙過任何用戶,用戶也永遠無法真正知道他們是誠實的操作員。 他們只看到操作員已經誠實,並希望他們能繼續保持這種誠實。
所以…。 ?
沒有真正明確的答案。 在操作員實際上說實話,它符合我上面列出的所有非託管標準。 用戶可以不受阻礙地完全訪問自己的資金,其他人無法阻止他們這樣做或竊取他們的資金。
問題是無法驗證.
沒有任何方法可以以無需信任的方式驗證用戶是否對自己的資金擁有無需信任的控制權。 即使你確實擁有。
因此,將其標記為非託管存在問題,因為即使它是,用戶也不可能真正驗證它。 但將其稱為託管也存在問題,因為運營商無法在不與其他用戶合作的情況下轉移資金,並且當前用戶擁有單邊提現交易。 這在工具分類方面造成了困境。
我不知道解決方案是什麼,但我認為第一步是承認正在發生的技術現實,而不是因為自己的動機而貿然給事物貼上標籤(為什麼不創建一個新的類別呢?)。 這類問題,尤其是在比特幣協議更新極其緩慢的環境下,隨著開發者們在比特幣現有局限性的權衡中掙扎,將會變得更加頻繁。
比特幣是一種可編程貨幣,人們對其進行編程的方式並不總是符合我們預先定義的框架。