Micropayment-Kanäle, nm-Adressen, Interoperabilität

Ich habe gerade BitcoinJs Tutorial zum Arbeiten mit Verträgen gelesen und bin verwirrt, als:

  1. Es scheint mir, dass nm-Adressen in Bitcoinj mit einfachem Multisig implementiert werden (wie in diesem Teil des Entwicklerhandbuchs definiert und hier besprochen ) .

  2. Ich habe mit pybitcointools (Tutorial dazu hier ) und im Wiki von libbitcoin nach Implementierungen von Adressen gesucht, die von mehr als einem privaten Schlüssel gesteuert werden . Es scheint mir, dass diese beiden Bibliotheken P2SH verwenden.

Die meisten Bibliotheken scheinen P2SH zu verwenden, aber BitcoinJ hat den anderen Weg gewählt, als es scheint (oder ist es?) ...

In einer Implementierung eines Mikrozahlungskanals mit bitcoinJ auf der einen Seite und beispielsweise libbitcoin auf der anderen Seite; Werden die beiden Seiten in der Lage sein, zusammenzuarbeiten?

(edit: ich rede hier nur von unidirektionalen Zahlungskanälen)

Danke

Antworten (1)

Nicht unbedingt interoperabel.

Erstens müssen sich Bibliotheken darüber einigen, welche Art von Parametern ausgetauscht werden sollen und wie sie ausgetauscht werden. Es gibt keine Garantie dafür, dass die von bitcoinjund benötigten Parameter libbitcoingleich sind.

Zweitens gilt es jetzt als Standardpraxis, P2SH-Transaktionen zu erstellen, unabhängig davon, welche Art von Transaktion Sie einrichten, es sei denn, es handelt sich um P2PKH. Im Falle von P2SH-Transaktionen müssen Sie dann behaupten, dass das Zahlungskanalprotokoll auch das vom Dienstanbieter des Zahlungskanals bereitgestellte Einlöseskript parsen/erkennen/verstehen könnte (vorausgesetzt, Sie sprechen von einer einzigen Richtung Zahlungskanal).

Thx für diese Antwort. In Bezug auf Ihren Beitrag zu den von jeder Bibliothek erforderlichen Parametern ...: Ist es richtig zu sagen, dass es einen Standard in Bezug auf das Transaktionsprotokoll selbst gibt (dh was auf bitcoin.org), aber nicht für seine Implementierung in APIs von Bibliotheken? Ist es nicht ein erhebliches Problem für ein P2P-Netzwerk wie Bitcoin, bei dem nicht erwartet werden kann, dass Knoten dieselben Clients verwenden?
Eine Norm für Zahlungswege ist mir meines Wissens nicht bekannt. Ich erinnere mich jedoch, dass ich in der Bitcoin-Entwickler-E-Mail einen Versuch gesehen habe, einen Standard für Zahlungskanäle zu formalisieren, aber ich habe ihn noch in Form eines BIP geschrieben gesehen. Darüber hinaus ist Payment Channels eher ein Anwendungsschichtprotokoll auf Bitcoin, daher ist es nicht konsenskritisch.