Pages:
Author

Topic: Angebot: BTC (2-aus-3) Multisig Escrow (Treuhandabwicklung) (Read 7846 times)

legendary
Activity: 2730
Merit: 1263
Guter Punkt, denn inzwischen unterstützen die Tools komprimierte Schlüssel (Compressed Keys). Diese sehen etwas anders aus, das Prinzip bleibt gleich. Ich habe den Text entsprechend angepasst.
member
Activity: 96
Merit: 10
ich kapier den ersten step nicht mal Roll Eyes
egal wo ich eine neue adresse generiere coinbin oder bitadress:
er will mir kein Format 5 Teil ausspucken.
legendary
Activity: 2730
Merit: 1263
2 Monate Übergangszeit sollten ausreichend sein. Ich habe daher meinen alten öffentlichen Anteil des Escrow Schlüssel aus dem Eingangsposting entfernt.

Alle aktuell noch laufende Transaktionen mit dem alten, unkomprimierten Schlüssel sind selbstverständlich weiterhin abgesichert. Ich habe den privaten Anteil gesichert und werde ihn auch weiterhin dauerhaft aufbewahren. Wer als Referenz den öffentliche Anteil benötigt, darf sich gerne an mich wenden.
legendary
Activity: 2730
Merit: 1263
Ich habe nun einen zusätzlichen neuen Schlüssel für das Multisig-Escrow generiert. Hier der öffentliche Anteil:

Code:
02a4b5d388eac33c8065474f101cd7b969b3e18818a741f8900d4cb97f43cc646a

Der Eingangsbeitrag wurde entsprechend angepasst. Den bisherige Schlüssel besitze ich selbstverständlich ebenfalls, d.h. mein alter öffentlicher Anteil ist weiterhin gültig und kann benutzt werden.

Der neue komprimierte Schlüssel führt zu kleineren Redeem Scripts und sollte daher in Zukunft bevorzugt werden. Ich werde den alten Anteil irgendwann aus dem Thread entfernen, behalte aber den Schlüssel dazu weiterhin. Das heisst ich kann natürlich auch weiterhin die Escrow Rolle für die damit durchgeführten Geschäfte erfüllen!
legendary
Activity: 1036
Merit: 1005
Na, da ist mir wohl jemand zuvor gekommen mit meiner genialen Idee^^ (zumindest wenn FIAT gegen BTC getauscht werden sollen)
https://bitcointalk.org/index.php?topic=915666.0;topicseen
legendary
Activity: 2730
Merit: 1263
Bei grösseren Geschäften, bei denen vor der Abwicklung schon Investitionen/Vorleistungen getätigt werden müssen (Immobilien), wäre sowas schon vorstellbar. Beim häufiger genutzten Kauf/Verkauf in kleinerem Rahmen ist es wohl eher nicht notwendig.
legendary
Activity: 1036
Merit: 1005
Ich habe es so Verstanden, dass beide erst mal gleichzeitig(!) in Vorleistung gehen. Damit hat jeder eine Sicherheitsleistung ins das geschäft investiert und kann den anderen (bei Verlust des Escrow Key) nicht erpressen, ohne im Ernstfall auch selbst einen Verlust zu erleiden.
Achso. Naja, dann aber mal viel Spass dabei einen Verkäufer zu finden, der neben dem Versand der Ware auch
noch mit einem BTC-Betrag in Vorleistung geht. Wink
legendary
Activity: 2730
Merit: 1263
Daneben habe ich keine Ahnung, wie weit mein Angebot überhaupt genutzt wird. Die
Rückmeldungen sind minimal und als Treuhänder musste ich, neben der Bereitstellung
des Public-Key, bisher noch nie tätig werden (was idealerweise auch so sein soll).
Ich glaube (wie schon gesagt) dass dich fast jeder kontaktiert der dein Angebot nutzt (ausser vielleicht
für Tests). Dem letzten Teil stimme ich nicht zu, weisst du noch wie du mir helfen musstest mit
outcasts script? Cheesy

Das war aber nur technischer Support und gehört für mich eher zu den Rückmeldungen. Als Treuhänder (Nutzung meines Private-Key wegen Ausfall des Käufer/Verkäufer) musste ich dabei nicht tätig werden.

Käufer und verkäufer können beide einen BTC Betrag auf die Multisig adresse schicken, und zwar gleichzeitig und trustless, indem es in derselben Tx passiert.
Dann kann hinterher nicht einer dne anderen erpressen mit "gib mir einen teil der BTC oder du siehst garnichts davon" falls der escrow den key verloren hat.
Das verstehe ich nicht. Was passiert dann wenn der escrow den key verloren hat? Kannst
du das detaillierter erklären?

Ich habe es so Verstanden, dass beide erst mal gleichzeitig(!) in Vorleistung gehen. Damit hat jeder eine Sicherheitsleistung in das Geschäft investiert und kann den anderen (bei Verlust des Escrow Key) nicht erpressen, ohne im Ernstfall auch selbst einen Verlust zu erleiden.
legendary
Activity: 1036
Merit: 1005
Ich habe den Private-Key, der übrigens nur für dieses Escrow genutzt wird, ebenso wie meine
anderen Daten in redundanten und örtlich getrennten Backups gespeichert. Der sollte also
nicht verloren gehen.
Das meinte ich auch gar nicht so sehr auf dein Angebot bezogen. Ich glaube schon dass du
den Key sicher verwahrst. Trotzdem würde ich, wenn ich in ein paar Wochen den Service
nutzen will, dir (wie jedem anderen multisig-escrow) vorher eine PM schreiben ob alles noch aktuell ist.
Ich denke das würden die meisten machen wenn es um mehr als einen einstelligen Eurobetrag geht.

Ein weiterer Vorteil ist, dass die Geschäftspartner diesen Key, bzw. den Escrower, in den
meisten Fällen gar nicht benötigen, da sie gemeinsam ebenfalls über die Escrow-Summe
entscheiden können.
Das ist doch, wenn ich alles richtig verstanden habe, einer der wesentlichen multisig-Escrow-
Eigenschaften. Daran will ich ja gar nicht rütteln. In der Mehrzahl der Fälle muss der escrower
nichts tun, so ist es ja gedacht..

Man könnte sich hier so etwas in der Richtung M-aus-N Key-Sharing vorstellen, sodass im
Ernstfall eine bestimmte Anzahl an Treuhändern gemeinsam den Part des Treuhänders
einnimmt. Die Gefahr die ich dabei sehe ist, dass der Server hier einen zentralen Angriffspunkt
darstellen könnte.
Ja, der Server wäre ein Angriffspunkt. Allerdings kein wirklich ergiebiger, denn selbst wenn ein
Angreifer den 2-of-3 privkey bekommt, gibt es ja praktisch keine Gelegenheit dass er sich
bereichern kann. Es sei denn er bekommt einige Käufer/Verkäufer auf seine Seite, die mit
ihm zusammen Transaktionen signieren.
Jedenfalls kein Vergleich zu z.B. Exchanges, wo man eine Hot Wallet plündern kann. Sowas
gäbe es hier ja nicht. Natürlich muss es trotzdem vernünftig abgesichert werden.

Es geht mir vor allem darum, dass multisig-escrow kaum genutzt wird, da es de facto aufwändiger
als normales escrow ist. Ich denke es wäre lohnenswert, es einfacher zu machen, auch wenn das
eine zentrale Instanz erschafft. Mir schwebt da halt eine Paypal-ähnliche Instanz vor, die natürlich
auch Nachteile mitbringt (Zentralisierung), aber Bequemlichkeit scheint der Weg zur Akzeptanz
zu sein.

Es lässt sich ja auch so implementieren (mit 3-of-n) dass entweder ein Escrower über das Portal
oder zwei Escrower zusammen (bei komplettem Ausfall des Portals) eine vom (Ver)käufer
vorsignierte Transaktion fertigsignieren können. Dann wäre das Vertrauen in das Portal
minimiert. Ideal wäre wenn entweder Käufer und Verkäufer oder (Ver)Käufer und zwei
Escrows notwendig sind um eine Tx zu signieren. Lässt sich das technisch machen?
Also im Prinzip 3-of-n aber zwei der n Adressen sind derartig ausgezeichnet dass sie
zu zweit signieren können?

Daneben habe ich keine Ahnung, wie weit mein Angebot überhaupt genutzt wird. Die
Rückmeldungen sind minimal und als Treuhänder musste ich, neben der Bereitstellung
des Public-Key, bisher noch nie tätig werden (was idealerweise auch so sein soll).
Ich glaube (wie schon gesagt) dass dich fast jeder kontaktiert der dein Angebot nutzt (ausser vielleicht
für Tests). Dem letzten Teil stimme ich nicht zu, weisst du noch wie du mir helfen musstest mit
outcasts script? Cheesy

Käufer und verkäufer können beide einen BTC Betrag auf die Multisig adresse schicken, und zwar gleichzeitig und trustless, indem es in derselben Tx passiert.
Dann kann hinterher nicht einer dne anderen erpressen mit "gib mir einen teil der BTC oder du siehst garnichts davon" falls der escrow den key verloren hat.
Das verstehe ich nicht. Was passiert dann wenn der escrow den key verloren hat? Kannst
du das detaillierter erklären?
legendary
Activity: 2730
Merit: 1263
Käufer und verkäufer können beide einen BTC Betrag auf die Multisig adresse schicken, und zwar gleichzeitig und trustless, indem es in derselben Tx passiert.
Dann kann hinterher nicht einer dne anderen erpressen mit "gib mir einen teil der BTC oder du siehst garnichts davon" falls der escrow den key verloren hat.

Das wäre sozusagen die Hinterlegung einer Sicherheit. Wenn es nur als Absicherung gegen einen Private-Key Verlust des Escrower dienen soll, ist vermutlich eine Anfrage an den Escrower die einfachere Möglichkeit.

Ich habe diesen Ablauf noch nicht durchgespielt, aber die Tools müssten diese zusätzliche Hinterlegung durchaus hergeben, indem einer der beiden die Transaktion zur Hinterlegung der Sicherheitsleistung erstellt und beide die Transaktion signieren. Der Ersteller muss dafür allerdings die Informationen zur Unspent Transaction vom Geschäftspartner bekommen.

Das Verfahren wird aber, selbst bei weiterer Automatisierung, durch den notwendigen Austausch von Informationen immer einen erhöhten Aufwand erfordern. Da im Augenblick bei den meisten Geschäften - nicht nur in der Bitcoin-Welt sondern auch bei Fiat - immer eine Partei in Vorleistung geht, ist alleine schon der Escrow Prozess ein deutlicher Schritt nach vorne. Wie man in der Vergangenheit im Biete/Suche Bereich gesehen hat, meiden Betrüger den Escrow (egal ob Multisig oder nicht) wie der Teufel das Weihwasser.
legendary
Activity: 1734
Merit: 1015
Das ist alles schon auf einem guten Weg.. Ich sehe allerdings noch Bedarf nach einer zentralen
Stelle wo die potentiellen Escrows verwaltet werden. Was man ja wirklich will, ist dass Käufer und
Verkäufer den Deal sofort durchziehen können, ohne auf die Übernahmebestätigung eines Escrows
zu warten. Und nur weil irgendwo ein 2-of-3 public key steht von jemand der irgendwann mal
angeboten hat, Escrow zu machen, heisst das leider noch nicht dass das alles aktuell ist (zumindest
würde ich mich nicht darauf verlassen).

Im einfachsten Fall wäre das ein Thread im Forum, der immer aktuell gehalten wird. Das löst aber
auch nicht alle Probleme, z.B. könnte ein Escrow den PrivKey verlieren und es erst bemerken wenn
er in eine 2-of-3 Transaktion eingebaut wurde. Am besten
würde mir eine Paypal-ähnliche Seite gefallen, d. h. es gibt einen öffentlichen Anteil der von
einer zentralen Stelle verwaltet wird, und Escrows können sich im Streitfall dort einloggen und
entsprechende Transaktionen signieren: nicht weil sie den privaten Anteil haben sondern über das
Portal. Da könnte man dann auch eine Escrow-Fee verankern, die nur im Streitfall anfällt und zu
x% an den schlichtenden Escrow und zu y% an das Portal gezahlt wird. Auch könnten sich Käufer
und Verkäufer einigen, ob sie einen bestimmten Escrow bevorzugen oder im Streitfall ein beliebiger
Escrow aus einem ganzen Pool von vertrauenwürdigen Leuten die Schlichtung übernimmt. Am Anfang
sollte man sicher die bekannten Escrows aus diesem Forum übernehmen, aber weiterlaufen könnte
es ja mit einer Bewertungsfunktionalität für Escrows etc.

Gibt es sowas schon oder hat jemand Interesse etwas in der Richtung zu entwickeln? Mich würde
es schon reizen..

Käufer und verkäufer können beide einen BTC Betrag auf die Multisig adresse schicken, und zwar gleichzeitig und trustless, indem es in derselben Tx passiert.
Dann kann hinterher nicht einer dne anderen erpressen mit "gib mir einen teil der BTC oder du siehst garnichts davon" falls der escrow den key verloren hat.
legendary
Activity: 2730
Merit: 1263
Das ist alles schon auf einem guten Weg.. Ich sehe allerdings noch Bedarf nach einer zentralen
Stelle wo die potentiellen Escrows verwaltet werden. Was man ja wirklich will, ist dass Käufer und
Verkäufer den Deal sofort durchziehen können, ohne auf die Übernahmebestätigung eines Escrows
zu warten. Und nur weil irgendwo ein 2-of-3 public key steht von jemand der irgendwann mal
angeboten hat, Escrow zu machen, heisst das leider noch nicht dass das alles aktuell ist (zumindest
würde ich mich nicht darauf verlassen).

Ich habe den Private-Key, der übrigens nur für dieses Escrow genutzt wird, ebenso wie meine
anderen Daten in redundanten und örtlich getrennten Backups gespeichert. Der sollte also
nicht verloren gehen.

Ein weiterer Vorteil ist, dass die Geschäftspartner diesen Key, bzw. den Escrower, in den
meisten Fällen gar nicht benötigen, da sie gemeinsam ebenfalls über die Escrow-Summe
entscheiden können.

Im einfachsten Fall wäre das ein Thread im Forum, der immer aktuell gehalten wird. Das löst aber
auch nicht alle Probleme, z.B. könnte ein Escrow den PrivKey verlieren und es erst bemerken wenn
er in eine 2-of-3 Transaktion eingebaut wurde. Am besten
würde mir eine Paypal-ähnliche Seite gefallen, d. h. es gibt einen öffentlichen Anteil der von
einer zentralen Stelle verwaltet wird, und Escrows können sich im Streitfall dort einloggen und
entsprechende Transaktionen signieren: nicht weil sie den privaten Anteil haben sondern über das
Portal. Da könnte man dann auch eine Escrow-Fee verankern, die nur im Streitfall anfällt und zu
x% an den schlichtenden Escrow und zu y% an das Portal gezahlt wird. Auch könnten sich Käufer
und Verkäufer einigen, ob sie einen bestimmten Escrow bevorzugen oder im Streitfall ein beliebiger
Escrow aus einem ganzen Pool von vertrauenwürdigen Leuten die Schlichtung übernimmt. Am Anfang
sollte man sicher die bekannten Escrows aus diesem Forum übernehmen, aber weiterlaufen könnte
es ja mit einer Bewertungsfunktionalität für Escrows etc.

Gibt es sowas schon oder hat jemand Interesse etwas in der Richtung zu entwickeln? Mich würde
es schon reizen..

Man könnte sich hier so etwas in der Richtung M-aus-N Key-Sharing vorstellen, sodass im
Ernstfall eine bestimmte Anzahl an Treuhändern gemeinsam den Part des Treuhänders
einnimmt. Die Gefahr die ich dabei sehe ist, dass der Server hier einen zentralen Angriffspunkt
darstellen könnte.

Daneben habe ich keine Ahnung, wie weit mein Angebot überhaupt genutzt wird. Die
Rückmeldungen sind minimal und als Treuhänder musste ich, neben der Bereitstellung
des Public-Key, bisher noch nie tätig werden (was idealerweise auch so sein soll).
legendary
Activity: 1036
Merit: 1005
Das ist alles schon auf einem guten Weg.. Ich sehe allerdings noch Bedarf nach einer zentralen
Stelle wo die potentiellen Escrows verwaltet werden. Was man ja wirklich will, ist dass Käufer und
Verkäufer den Deal sofort durchziehen können, ohne auf die Übernahmebestätigung eines Escrows
zu warten. Und nur weil irgendwo ein 2-of-3 public key steht von jemand der irgendwann mal
angeboten hat, Escrow zu machen, heisst das leider noch nicht dass das alles aktuell ist (zumindest
würde ich mich nicht darauf verlassen).

Im einfachsten Fall wäre das ein Thread im Forum, der immer aktuell gehalten wird. Das löst aber
auch nicht alle Probleme, z.B. könnte ein Escrow den PrivKey verlieren und es erst bemerken wenn
er in eine 2-of-3 Transaktion eingebaut wurde. Am besten
würde mir eine Paypal-ähnliche Seite gefallen, d. h. es gibt einen öffentlichen Anteil der von
einer zentralen Stelle verwaltet wird, und Escrows können sich im Streitfall dort einloggen und
entsprechende Transaktionen signieren: nicht weil sie den privaten Anteil haben sondern über das
Portal. Da könnte man dann auch eine Escrow-Fee verankern, die nur im Streitfall anfällt und zu
x% an den schlichtenden Escrow und zu y% an das Portal gezahlt wird. Auch könnten sich Käufer
und Verkäufer einigen, ob sie einen bestimmten Escrow bevorzugen oder im Streitfall ein beliebiger
Escrow aus einem ganzen Pool von vertrauenwürdigen Leuten die Schlichtung übernimmt. Am Anfang
sollte man sicher die bekannten Escrows aus diesem Forum übernehmen, aber weiterlaufen könnte
es ja mit einer Bewertungsfunktionalität für Escrows etc.

Gibt es sowas schon oder hat jemand Interesse etwas in der Richtung zu entwickeln? Mich würde
es schon reizen..
legendary
Activity: 2730
Merit: 1263
Anmerkung zu meinem letzten Post: Inzwischen hat OutCast3k das Tool überarbeitet und die Seite, wie auch seine API, funktionieren wieder. Ausserdem hat real1510 das Tool auf die blockchain.info API angepasst, sodass eine völlig unabhängige Alternative zur Verfügung steht. Beide Tools arbeiten bis auf die das Lesen der Unspent Transaktionen und des Broadcast von Transaktionen lokal im Browser. Der vollständige Sourcecode (HTML, CSS und Javascript) wird jeweils vom Webserver ausgeliefert und steht in beiden Fällen auch auf GitHub zur Verfügung.

Etwas weniger komfortabel kann der gesammte Ablauf auch mit dem Bitcoin-Core Client vollständig durchgeführt werden. Gavin Andresen hat den Ablauf in einem GitHub Gist dokumentiert: https://gist.github.com/gavinandresen/3966071.

Damit stehen nun 3 unabhängige Werkzeuge zur Verfügung. Diese sind alle untereinander kompatibel, d.h. jeder Schritt der Abwicklung kann mit einem beliebigen Werkzeug durchgeführt werden. Die gesammte Abwicklung nutzt ausschliesslich Standardmechanismen des Bitcoin-Systems. Damit kann jeder vollständige Bitcoin-Client diese Schritte ebenfalls durchführen können. SPV Clients wie die Schildbach-Wallet können allerdings nur Teilschritte - wie die Überweisung an die Multisig-Adresse - durchführen. Durch die Web basierten Tools sollte aber jeder Internet- und Bitcoin-Nutzer in der Lage sein, das Verfahren zu nutzen.
legendary
Activity: 2730
Merit: 1263
Leider gibt es nicht nur mit HTTPS Probleme: In einem aktuellen Fall wird leider die (bereits vorhandene) Transaktion nicht erkannt und das Generieren der Auszahlungsadresse verweigert.

Da hier Bitcoin Standardfunktionen genutzt werden, kann man auf bitcoin-cli createrawtransaction ... ausweichen, aber schön und bequem geht anders.  Sad

Allerdings sind die Multisig Scripte öffentlich. Mit etwas Zeit könnte man das Frontend auf einen eigenen Server mit laufendem Client aufsetzen. Eine bitcoin-core Instanz ohne Wallet ist ausreichend. Man benötigt die Blockchain um die richtige TXout ("vout") zu selektieren, und um die signierte Auszahlung der Multisig Adresse ins Bitcoin Netzwerk zu übertragen.
sr. member
Activity: 330
Merit: 250
Gibt es eigentlich schon Multisig Escrows?
Coinb.in ist leider down? Wem gehört die Seite? Gibt wohl mit der SSL Version probleme, aber wer braucht schon SSL Cheesy
legendary
Activity: 826
Merit: 1000
So, hab das gerade mal aus aktuellem Anlass ausprobiert. Hört sich komplizierter an als es ist!  Smiley

Danke mezzomix!
legendary
Activity: 2730
Merit: 1263
Selbstverständlich kann man das prüfen!

Im Redeem Script steckt die gesammte Information. Auf https://coinb.in/multisig/ kann man das Script unter Verify überprüfen. Dort sieht man dann die Multisig Adresse, die zugrundeliegenden öffentlichen Anteile der Schlüssel und wieviele Schlüssel für eine Überweisung benötigt werden.

Damit kann man sicherstellen, dass der eigene Schlüssel dazugehört und eine Transaktion die erwartete Anzahl an Signaturen benötigt. Ich habe den Punkt in die Liste im Eingangspost mit aufgenommen.

Ihr könnt das auf der Seite gerne mal mit Wegwerfadressen (einfach unter New -> Bitcoin Keys drei Stück generieren) bis zu diesem Punkt durchspielen, dann wird der Prozess schnell klar.
sr. member
Activity: 330
Merit: 250
Sehr gute Idee!

Kann man anhand des Redeem Scriptes und der erzeugten Multisig Addresse herausfinden welche Addressen zur Generierung verwendet wurden?
Ansonsten bräuchte es wieder eine Vertrauenswürdige Person die alles zusammen bringt...
yxt
legendary
Activity: 3528
Merit: 1116
sollte man mal oben anpinnen,
gute Arbeit mezzomix Smiley
Pages:
Jump to: