具有動態簽名的支付渠道
談到單資支付渠道,想法很簡單:Alice 將 10 個比特幣放入與 Bob 簽署的多重簽名中,然後他們各自更新狀態以相互發送資金。
現在,想像一下第三個人加入了畫面,Carol 說。愛麗絲想給她寄一些比特幣。可以用別人的公鑰更新頻道狀態嗎?
我想了解這樣的事情是否可行。如果沒有,我想知道為什麼這是不可能的(我肯定錯過了一些關於支付渠道如何工作的東西,我想了解什麼)。也許使用像這樣的通道工廠是可能的?
這裡的主要思想是有人可以為新人預留資金,而無需創建新渠道,而是將資金用於已創建的渠道。
請注意,這與路由無關。它只是將頻道內的資金用於另一個人,而不僅僅是頻道的兩方。
編輯
也許有可能使用其他參與者創建與主分支有一定聯繫的“鏈下通道”(也許這是通道工廠?)。我想強調的是,在這個例子中,Carol 從未參與過鏈上渠道——她是使用“鏈下渠道”參與的新參與者:
Alice 和 Bob 可以在他們之間同意向 Carol 和任意數量的其他收款人付款(受交易規模的限制)。但是,Carol 和其他其他接收者不可能通過支付通道構造以 Alice 和 Bob 可以使用的相同的去信任安全性來接收這些付款。
Alice 和 Bob 通過將資金投入到一個需要雙方簽名才能進行支出的多重簽名地址來打開一個通道。對於愛麗絲來說,這保證了任何花費資金的交易都需要她的同意才能有效。Bob 收到同樣的保證,即需要他的同意。
雙向支付渠道(包括但不限於閃電網路使用的渠道)的創新之處在於,接收方可以撤銷渠道中的每筆付款,從而允許後續付款取而代之。
保護可撤銷付款的產權負擔(贖回腳本)大於普通的比特幣產權負擔,因此支付渠道最理想的結束是相互關閉,其中最後一次可撤銷的付款被撤銷並轉換為不可撤銷的付款,看起來像正常的比特幣 2-of-2 多重簽名支出。
唯一已知的可撤銷付款的工作方式是讓每一方都有一份完整的清單,列出每筆付款以及(如果已被撤銷)撤銷它所需的數據。這就是阻止 Carol 擁有完整的支付渠道安全性的原因。
Alice 和 Bob 都可以相互同意向 Carol 付款,並且他們可以將這筆付款告訴 Carol。如果包含該付款的交易被廣播,Carol 就會得到她的錢。但是因為最初存入資金的多重簽名地址只需要 Alice 和 Bob 的相互同意來創建其他支付,他們可以從 Carol 秘密創建其他支付。
如果 Alice 和 Bob 之間創建的秘密支付之一被廣播,Carol 就沒有必要的數據在區塊鏈上證明它是欺詐性的。因此,Alice 和 Bob 在雙方同意的情況下可以竊取 Carol 的資金。
一種更概念化的看待它的方式是將區塊鏈設想為支付渠道的信任錨。您需要對該錨點進行一定程度的控制,以便您能夠信任生成的頻道。Alice 和 Bob 之所以這樣做,是因為使用錨點需要他們的同意;Carol 對錨點沒有任何控制權,因此無法信任它。