Author

Topic: Multisig möglichst einfach für Newbie machbar die traden wollen? (Read 3066 times)

legendary
Activity: 2702
Merit: 1261
@mezzomix
Danke,  leider ist das nicht mein Problem, es läuft die v 11.2 mit dem addrindex patch.

Dann ist der Weg über "listunspent" falsch. Mit Address Index Patch heisst das entsprechende Kommando "searchrawtransactions
". Die Ergebnisse müssen dann noch über "gettxout "txid" n ( includemempool )" gefiltert werden, da in der Liste auch Spent TX enthalten sind.
member
Activity: 116
Merit: 11
@mezzomix
Danke,  leider ist das nicht mein Problem, es läuft die v 11.2 mit dem addrindex patch.
Über die Console funktioniert es ja, ich habe nur eben das Problem, das der RPC Call einfach nicht über den PHP jsonClient läuft.

Normalerweise müsste mein Ergebniss so in etwa aussehen:

Code:
 {
        "txid" : 3ab995cc059740bc483fe9ce8dcbc2b16449010213c33453gdfg2d5dd6ecca3c0b3",
        "vout" : 0,
        "address" : "38xEMgDsgqDfbobnpBWnqkF2wUfmGDccqocUA",
        "scriptPubKey" : "cf4d9b28bb976a9144e71ac4bfdd2fe3443097ab8f794e88ac",
        "amount" : 12.34000,
        "confirmations" : 647,
        "spendable" : false
    },


Damit weiter über "createrawtransaction" die Transaktion ausführen kann.
Ich benötige ja den Hex String für die Signatur, um wieder weiter "signrawtransaction" auszuführen.

Code:
createrawtransaction [{"txid":"id","vout":n},...] {"address":amount,...} 

Mit dem Ergebnis habe ich dann alles, um mit meinem privaten Schlüssel als erster die Transaktion zu signieren.
Code:
signrawtransaction  [{"txid":txid,"vout":n,"scriptPubKey":hex},...] [,...] [sighash="ALL"]
legendary
Activity: 2702
Merit: 1261
Ohne einen entsprechenden Patch, der in der aktuellen Core Version nicht mehr funktioniert, kann man keine Unspent Outputs für beliebige Adressen bekommen. Dafür wäre ein UTXO Address Index notwenig, aber es gibt ungepatcht aber nur einen UTXO Transaktion Index.

Der einzige Patch der noch funktioniert ist ein Address Index über die gesammte Blockchain. Damit muss man dann noch die Spent Outputs herausfiltern um tatsächlich die Unspent Outputs zu bekommen.
hero member
Activity: 838
Merit: 534
@Queenvio
Ich habe für einen Kunden einen Multivendor Market in Perl und PHP geschrieben.
Da er unabhängiger im Bereich Payment Schnittstellen werden möchte, soll ich zusätzlich zum Escrow noch die Multisignatur Transaktion in PHP implementieren.

Um eine neue Transaktion mit "createrawtransaction" zu erzeugen, muss ich doch vorher die benötigten Parameter wie txid, vout, ScriptPubKey usw. ermitteln.

Nach meiner Meinung ist die Abfrage über listunspent(adresse) der richtige Weg !?

Danke

Hat er denn die Adresse dessen unspend er haben will in der wallet?
weil
Code:
listunspent
listet die unspend von allen Adressen die du in der wallet hast.
member
Activity: 116
Merit: 11
@Queenvio
Ich habe für einen Kunden einen Multivendor Market in Perl und PHP geschrieben.
Da er unabhängiger im Bereich Payment Schnittstellen werden möchte, soll ich zusätzlich zum Escrow noch die Multisignatur Transaktion in PHP implementieren.

Um eine neue Transaktion mit "createrawtransaction" zu erzeugen, muss ich doch vorher die benötigten Parameter wie txid, vout, ScriptPubKey usw. ermitteln.

Nach meiner Meinung ist die Abfrage über listunspent(adresse) der richtige Weg !?

Danke
 


hero member
Activity: 838
Merit: 534
Also so weit ich weiss gibt es nur das commenad "listunspend" welches sich dann auf deine gesammte wallet bezieht, nicht auf eine Adresse.

Von irgendwelchen Adressen die unspend zu bekommen ist mit dem core nicht möglich, zumindest habe ich es noch nicht hinbekommen.
Evtl kannst du die API von blockchain.info nutzen.


P.S. an was für einem Projekt arbeitest du denn, wenn man fragen darf
member
Activity: 116
Merit: 11
Hallo,
 
Ich habe mal ein Frage zum Thema Multisignatur Transaktionen und PHP jsonClient.
Vielleicht gibt es jemanden der sich hier mit der Materie etwas auskennt!?

Nachdem ich über "createmultisig" die Adresse und das Redeemscript ermittelt habe, muss ich ja im nächsten Schritt um eine Transaktion zu erzeugen die offenen Transaktionsausgänge wie vout, ScriptPubKey usw. ermitteln.
Über die Console würde ich das mit "listunspent adresse" machen.

Jetzt aber die Frage, wie ist die Syntax für ein Array "listunspent".

Egal wie ich die Parameter anordne, ich komme einfach nicht durch, mit der Fehlermeldung(Unable to connect) kann ich auch nichts gerade anfangen, siehe am ende..

Code:
$bitcoin->listunspent(adresse);

Wird das überhaupt von der Klasse unterstützt?

Hat jemand einen Tipp..Danke



Code:
Fatal error: Uncaught exception 'Exception' with message 'Unable to connect to http://bitcoinrpc:change_me@localhost:8332' in D:\Server\www\payment\classes\jsonRPCClient.php:74 Stack trace: #0 D:\Server\UniServerZ\www\bitpayment\index.php(30): jsonRPCClient->__call('listunspent', Array) #1 D:\Server\www\payment\index.php(30): jsonRPCClient->listunspent('38xEMgsfMa12pUr...') #2 {main} thrown in D:\Server\www\payment\classes\jsonRPCClient.php on line 74

hero member
Activity: 838
Merit: 534
Diese Seite hier ... macht es eigentlich recht einfach.

Gerade ausprobiert - genauer ich wollte es ausprobieren. Da ist gar nichts einfach. Ich verstehe nicht mal genau, was die mir jetzt konkret anbieten wollen.


Habs jetzt auch noch nie benutzt, sah aber einfach aus.
Denke mal einfach eine Transaktion starte , brauchst halt 2 andere Partien zum testen, oder noch 2 Accounts machen
legendary
Activity: 2702
Merit: 1261
Diese Seite hier ... macht es eigentlich recht einfach.

Gerade ausprobiert - genauer ich wollte es ausprobieren. Da ist gar nichts einfach. Ich verstehe nicht mal genau, was die mir jetzt konkret anbieten wollen.
hero member
Activity: 838
Merit: 534
Diese Seite hier https://www.bitrated.com/ macht es eigentlich recht einfach. Bleibt allerdings das problem des Hack, Scam, da alle Keys so wie ichs verstehe dort gespeichert sind.
hero member
Activity: 838
Merit: 534
Richtig, für den Treuhänder ist der Aufwand nicht größer.

Idee die mir gerade kam:
Eine Seite die ein paar Punkte übernimmt.
Sowas wie:

Die 3 Parteien habe dort jeweils ihren pubkey hinterlegt (evtl privatekey SICHERHEIT!!)
Man eröffnet dort einen "Fall", muss dazu die Namen,Userid, was auch immer der 2 anderen angeben.

Die Seite erstellt ein Script, Adresse,... überprüft die Adressen und teilt den anderen mit, dass etwas eröffne wurde.

Man kann dann dort Transaktion erstellen von der Adresse, die dann von den anderen signiert werden können, einfach mit Eingabe des private Keys.


Ist jetzt etwas durcheinander geschrieben, aber ihr wisst was ich meine denke ich.


legendary
Activity: 2702
Merit: 1261
Ja, das ist so ungefähr der Ablauf. Person 3 (nennen wir mal Treuhänder) muss (ausser im Treuhandfall) gar nichts machen, sofern der Public Key des Treuhänders bereits publiziert ist.

Wenn man berücksichtigt, dass die Kommunikation sowieso stattfindet, dann ist die Treuhandabwicklung kaum Zusatzaufwand. Wenn wir Annehmen, dass wir es mit Käufer, Verkäufer und Treuhänder zu tun haben, dann sind das die Nachrichten:
  • 1. Verkäufer an Käufer (oder umgekehrt): Geschäftsbeschreibung, Treuhänder, Public Key.
  • 2. Käufer an Verkäufer (oder umgekehrt): Zahlungsinfo, Redeem Script.
  • 3. Käufer: Info über den Erhalt der Ware und signierte Transaktion.

Menschen die schon mal einen Online Einkauf getätigt haben, sollten sowas ohne grosse Probleme hinbekommen. Bei vielen Händlern ist die Abwicklung komplizierter und an der Kreditkarte scheitere ich und damit der geplante Einkauf inzwischen regelmässig (an der zwingenden Aktzeptanz der Beweislastumkehr im Betrugsfall).

Wenn Du Ideen hast, wie man den Ablauf bequemer machen kann, ohne allzuviel Sicherheit aufzugeben - her damit!
hero member
Activity: 838
Merit: 534
Problem, auf das ich gestoßen bin, sind die "Massen" an keys,.. dir übertragen werden müssen.
Müsste meiner Meinung ja so sein:

Person 1:
  • Einsammeln aller Pubkeys
  • Erstellen eines Scripts
  • Script an alle senden

Person 2+3:
  • Überprüfen ob das Script richtig ist (sonst könnte ja Person 1 betrügen)

Zahlung erfolgt, Ware wird geliefert (an Person 2),....

Person 2:
  • Erstellt eine Transaction mit dem Script und Privkey
  • TX an alle senden

Person 1 und/oder 3:
  • Müssen die Transaction überprüfen und signieren/pushen

Dazu noch das übliche "Escrowgelaber" (Kannst du übernehmen,...)
legendary
Activity: 2702
Merit: 1261
Glaube das einfachste für Noobs ist so etwas in der Art blockchain.info-Wallet nur halt mit multisig.
Noobs bzw 85% der Endanwender wollen gar nicht wissen was der Public key oder private key ist. Die wollen einfach dass es funktioniert.

Ideen zur Umsetzung sind willkommen! Im Augenblick funktioniert es nicht ganz einfach ohne das geringste Nachdenken, oder der Noob wird über den Tisch gezogen.

Eigentlich wie VISA, weiß auch keiner wies geht, ist aber einfach.

VISA ist kompliziert (ich muss mir so eine komische PIN merken, aufpassen dass die Karte nicht kopiert wird, soll mich beim Online-Einkauf irgendwo registrieren um eine Beweislastumkehr zu aktzeptieren) oder ich bin bequem und habe in der Folge haufenweise Ärger am Hals (gesperrte Karte, Zurückweisung der Schäden, polizeiliche Vorladung).

Daneben reguliert am Ende VISA, die sich gut dafür bezahlen lassen, die Schäden. Müssen sie auch, da sie sonst juristischen Ärger bekommen. Zahlungsdienstleister gibt es bei Bitcoin auch, eine Bank lässt sich ebenfalls machen. Da diese dann jedoch abseits der Gesetze operieren bzw. die Behörden keine Zeit und Lust haben diese durchzusetzen, gibt es hier kaum Sicherheit für die Nutzer.
hero member
Activity: 838
Merit: 534
Glaube das einfachste für Noobs ist so etwas in der Art blockchain.info-Wallet nur halt mit multisig.
Noobs bzw 85% der Endanwender wollen gar nicht wissen was der Public key oder private key ist. Die wollen einfach dass es funktioniert.
Eigentlich wie VISA, weiß auch keiner wies geht, ist aber einfach.
legendary
Activity: 2702
Merit: 1261
mezzomix

Das ist bei Electrum kein Problem da alle drei Beteiligten alle drei Pubkeys haben und bekommen. Die daraus erzeugten Adressen sind in allen drei Wallets dann gleich. Damit ist klar dass die Adresse stimmt.

In diesem Fall ja, da die Adresse letztendlich aus dem (Redeem) Script Hash erstellt wird. Es wäre trotzdem günstig, wenn man irgendwie an das Redeem Script herankommt, da man sonst eine reine Electrum Lösung hat, die zu keinem anderen Tool kompatibel ist.
legendary
Activity: 2674
Merit: 1083
Legendary Escrow Service - Tip Jar in Profile
Queenvio


Was meinst du mit  Mnemonic Code?
Man kann immer den gleichen master-public-key benutzen. Somit muss man sich auch nur einen seed "merken".
Soweit ich das verstanden habe

Der Mnemonic Code ist die Folge von Wörtern die Electrum als Seed benutzt. Mit dem Seed sind normale Electrumwallets dann deterministisch und wenn das beim Public Key eines Electrum Multisig wallets auch wirkt dann ist das gut. Ich dachte bisher es wäre mit Electrum nicht möglich den gleichen pubkey noch mal zu benutzen da man den bei der Erstellung ja nicht verändern kann. Hätte auch gleich an den Seed denken können. Cheesy



mezzomix


Das ist bei Electrum kein Problem da alle drei Beteiligten alle drei Pubkeys haben und bekommen. Die daraus erzeugten Adressen sind in allen drei Wallets dann gleich. Damit ist klar dass die Adresse stimmt.
legendary
Activity: 2702
Merit: 1261
Wichtig ist auch, dass die beiden anderen Parteien das Redeem Script prüfen können. Eine 2-aus3 Multisig Adresse bringt nichts, wenn sie nicht exakt aus den drei Public Keys der Beteiligten besteht und das Script tatsächlich ein 2-aus- Multisig Script ist.

hero member
Activity: 838
Merit: 534
Wenn der BIP32 Master Public Key die einzige Möglichkeit ist, in Electrum Multisig zu nutzen, dann halte ich Electrum als Lösung für Multisig-Escrow für ungeeignet. Man kann zwar für jeden Escrow Vorgang eine neue Wallet aufmachen, aber erstens ist das unnötig viel Aufwand und zweitens funktioniert dieser Mechanismus ausschliesslich in Electrum. Wenn es in Electrum keine anderen Möglichkeiten gibt, als in dieser Anleitung skizziert, dann wurde diese für einen anderen Anwendungszweck als Multisig-Escrow gebaut.


Also soweit wir geschaut hatten scheint Electrum wirklich trotzdem noch die Einfachste Möglichkeit zu sein weil da immer noch das Meiste automatisiert wird. Mehr als bei anderen Möglichkeiten die noch weniger für Noobs geeignet sind.

Aber hat jetzt schon mal jemand getestet ob man den Mnemonic Code dafür benutzen kann um den gleichen Pubkey wieder zu benutzen? Das wäre zumindest wichtig wenn man in Betracht ziehen würde Escrow auf automatisierten Seiten anzubieten. Die benutzen immer den selben Pubkey des Escrow.

Obwohl das natürlich immer wie ein Risiko klingt da man nie wirklich voll ausschließen kann dass der Webseitencode nicht irgendwann vom Besitzer oder einem Hacker geändert wird. Weshalb es Sinn machen würde jeden Deal manuell einzuleiten oder zumindest eine Warnung vor jedem Deal anzubieten.

Was meinst du mit  Mnemonic Code?
Man kann immer den gleichen master-public-key benutzen. Somit muss man sich auch nur einen seed "merken".
Soweit ich das verstanden habe
legendary
Activity: 2674
Merit: 1083
Legendary Escrow Service - Tip Jar in Profile
Wenn der BIP32 Master Public Key die einzige Möglichkeit ist, in Electrum Multisig zu nutzen, dann halte ich Electrum als Lösung für Multisig-Escrow für ungeeignet. Man kann zwar für jeden Escrow Vorgang eine neue Wallet aufmachen, aber erstens ist das unnötig viel Aufwand und zweitens funktioniert dieser Mechanismus ausschliesslich in Electrum. Wenn es in Electrum keine anderen Möglichkeiten gibt, als in dieser Anleitung skizziert, dann wurde diese für einen anderen Anwendungszweck als Multisig-Escrow gebaut.


Also soweit wir geschaut hatten scheint Electrum wirklich trotzdem noch die Einfachste Möglichkeit zu sein weil da immer noch das Meiste automatisiert wird. Mehr als bei anderen Möglichkeiten die noch weniger für Noobs geeignet sind.

Aber hat jetzt schon mal jemand getestet ob man den Mnemonic Code dafür benutzen kann um den gleichen Pubkey wieder zu benutzen? Das wäre zumindest wichtig wenn man in Betracht ziehen würde Escrow auf automatisierten Seiten anzubieten. Die benutzen immer den selben Pubkey des Escrow.

Obwohl das natürlich immer wie ein Risiko klingt da man nie wirklich voll ausschließen kann dass der Webseitencode nicht irgendwann vom Besitzer oder einem Hacker geändert wird. Weshalb es Sinn machen würde jeden Deal manuell einzuleiten oder zumindest eine Warnung vor jedem Deal anzubieten.
member
Activity: 116
Merit: 11
Falls noch nicht bekannt, ich werfe mal ein Javascript Script in die Runde was Open Source ist.
Das ganze Script besteht eigentlich nur aus der bekannten "bitcoinjs-min.js" lib mit ein paar zusätzlichen Boostrap Formularen.

An einer Demo kann der ganze Transaktion Ablauf getestet werden.

Hier mal die URL:

http://coinb.in/multisig/

hero member
Activity: 838
Merit: 534
Nach dem mich das Thema irgendwie gepackt hat, habe ich mal meine nicht gerade großen Python kenntnisse ausgepackt und ein bischen programmiert.

Das ganze Thema ist doch etwas aufwendiger als ich anfangs dachte. Und evtl sogar gar nicht für Noobs geeigenet.

Wie auch immer, hier mal ein paar Screenshots von meinem "Tool". Eure Meinung würde mich sehr interessieren. Ist alles natürlich noch im frühen Beta stadium, ob es das jemals verlässt weiss ich noch nicht.








Grüße
legendary
Activity: 2702
Merit: 1261
Es müsste ein Tool sein, dass alles für einen übernimmt, mit Ausnahme das Privat key (kann man ja über seine wallet machen).
Man sammelt quasi 3 Adressen (Käufer,verkäufer,Escrow) setzt alles in Tool ein, bekommt dann das script,....
Am ende gibt man dann das script ein und signiert, leitet weiter,...
Denke ihr wisst was ich meine.

Exakt das machen die beiden Web-Tools. Den Escrow Key muss man dabei nicht mal angeben, zumindest nicht für die Treuhänder, die bereits hinterlegt sind.
hero member
Activity: 838
Merit: 534
Wenn der BIP32 Master Public Key die einzige Möglichkeit ist, in Electrum Multisig zu nutzen, dann halte ich Electrum als Lösung für Multisig-Escrow für ungeeignet. Man kann zwar für jeden Escrow Vorgang eine neue Wallet aufmachen, aber erstens ist das unnötig viel Aufwand und zweitens funktioniert dieser Mechanismus ausschliesslich in Electrum. Wenn es in Electrum keine anderen Möglichkeiten gibt, als in dieser Anleitung skizziert, dann wurde diese für einen anderen Anwendungszweck als Multisig-Escrow gebaut.


Sehe ich auch so, gerade für N00bs wird das alles zu kompliziert und sie werden davon Abstand nehmen.

Es müsste ein Tool sein, dass alles für einen übernimmt, mit Ausnahme das Privat key (kann man ja über seine wallet machen).
Man sammelt quasi 3 Adressen (Käufer,verkäufer,Escrow) setzt alles in Tool ein, bekommt dann das script,....
Am ende gibt man dann das script ein und signiert, leitet weiter,...
Denke ihr wisst was ich meine.
hero member
Activity: 704
Merit: 559
online justice
Ich bin auch auf der Suche nach einer N00B-Lösung.

Ich habe einen ähnlichen Thread gestartet:
https://bitcointalksearch.org/topic/escrowplus-als-default-1381179

Ich denke, ohne zumindest ein Plugin für die bestehenden Wallets und einer Art Infrastruktur hintendran wird das nichts.
legendary
Activity: 2702
Merit: 1261
Wenn der BIP32 Master Public Key die einzige Möglichkeit ist, in Electrum Multisig zu nutzen, dann halte ich Electrum als Lösung für Multisig-Escrow für ungeeignet. Man kann zwar für jeden Escrow Vorgang eine neue Wallet aufmachen, aber erstens ist das unnötig viel Aufwand und zweitens funktioniert dieser Mechanismus ausschliesslich in Electrum. Wenn es in Electrum keine anderen Möglichkeiten gibt, als in dieser Anleitung skizziert, dann wurde diese für einen anderen Anwendungszweck als Multisig-Escrow gebaut.
hero member
Activity: 838
Merit: 534
Kurze Anmerkung:

Eben diese Tut gefunden: https://www.deepdotweb.com/2015/03/21/multi-signature-transactions-electrum-2-0/
im DeepWeb scheint das ganze wohl schon mehr verbreitet zu sein.
legendary
Activity: 2702
Merit: 1261
Electrum erzeugt einen Publickey am Anfang wenn man ein Multisigwallet erstellt. Den kann man aber nicht ändern. Ich denke daher dass man pro Trade immer einen neuen Publickey braucht und bekommt. Oder kann man den alten wiederverwenden um ihn mit anderen pubkeys zu kombinieren?

Theoretisch müsste Electrum für ein 2-aus-3 Multisig in der Lage sein, ein Public/Private Key Paar zu erzeugen. Sobald eine Escrow Transaktion angestossen wird, muss man aus diesem Public Key und den Public Keys der beiden Geschäftspartner eine Multisig Adresse (bzw. ein Redeem Script), speziell für diese Transaktion, erzeugen können. Die Private Keys müssen dabei zwingend beim jeweiligen Teilnehmer (Escrower, Geschäftspartner 1, Geschäftspartner 2) bleiben.

Da ich Electrum nicht kenne, weiss ich allerdings nicht ob man damit sinnvoll sowas durchführen kann. Ich habe bisher Bitcoin Core (per bitcoin-cli bzw. Kommandozeile), https://coinb.in/ und https://multisig.btcnet.eu/ genutzt. Mit allen drei Tools funktioniert die Abwicklung problemlos.
copper member
Activity: 1904
Merit: 1874
Goodbye, Z.
Wenn dann müssten alle Parteien Electrum nutzen, da man zum erstellen einer multisign-wallte den "master public key" aller Personen braucht, und die bekommt man ja nur von Electrum, oder sehe ich das falsch?
Bzw geht es wohl auch mit dem xPub-Key, was die sache aber nicht gerade erleichtert.
Das wäre die einfachste Option, alle Parteien nutzen Electrum, erstellt wird mit den xpub keys.
Wir wollten das ganze auch noch mit anderen Kombinationen testen, sind aber da noch nicht zu gekommen.

Man kann den key wieder benutzen, über "Restore Wallet", aber bisher nicht getestet. Am besten mal 2 wallets aufsetzen und selbst testen.
Das testen wir dann bei Gelegenheit auch gleich mal.
hero member
Activity: 838
Merit: 534
Mir ist eben noch ein "Problem" aufgefallen:

Wenn dann müssten alle Parteien Electrum nutzen, da man zum erstellen einer multisign-wallte den "master public key" aller Personen braucht, und die bekommt man ja nur von Electrum, oder sehe ich das falsch?

Bzw geht es wohl auch mit dem xPub-Key, was die sache aber nicht gerade erleichtert.

Im Prinzip ist es egal wer welches Tool nutzt. Ich hoffe mal Electrum ist kompatibel mit Core und den Webtools, sodass jeder das für ihn passende Tool nutzen kann. Im Prinzip müssen die Tools ja alle nur mit Public Keys, Redeem Script und P2SH - also Standardmechanismen - umgehen können.


Electrum erzeugt einen Publickey am Anfang wenn man ein Multisigwallet erstellt. Den kann man aber nicht ändern. Ich denke daher dass man pro Trade immer einen neuen Publickey braucht und bekommt. Oder kann man den alten wiederverwenden um ihn mit anderen pubkeys zu kombinieren?

Man kann den key wieder benutzen, über "Restore Wallet", aber bisher nicht getestet. Am besten mal 2 wallets aufsetzen und selbst testen. Werde die Tage auch mal mit rumspielen.
legendary
Activity: 2674
Merit: 1083
Legendary Escrow Service - Tip Jar in Profile
Im Prinzip ist es egal wer welches Tool nutzt. Ich hoffe mal Electrum ist kompatibel mit Core und den Webtools, sodass jeder das für ihn passende Tool nutzen kann. Im Prinzip müssen die Tools ja alle nur mit Public Keys, Redeem Script und P2SH - also Standardmechanismen - umgehen können.


Electrum erzeugt einen Publickey am Anfang wenn man ein Multisigwallet erstellt. Den kann man aber nicht ändern. Ich denke daher dass man pro Trade immer einen neuen Publickey braucht und bekommt. Oder kann man den alten wiederverwenden um ihn mit anderen pubkeys zu kombinieren?
legendary
Activity: 2702
Merit: 1261
Im Prinzip ist es egal wer welches Tool nutzt. Ich hoffe mal Electrum ist kompatibel mit Core und den Webtools, sodass jeder das für ihn passende Tool nutzen kann. Im Prinzip müssen die Tools ja alle nur mit Public Keys, Redeem Script und P2SH - also Standardmechanismen - umgehen können.
legendary
Activity: 2674
Merit: 1083
Legendary Escrow Service - Tip Jar in Profile
nicklink483


Electrum macht das ganze total einfach! Das das cosign Plugin nicht funktioniert ist blöd. Ich dachte das liegt an meiner älteren Version, tat es aber nicht. Muss nach her mal googeln ob es da irgendwie eine Lösung gibt. Die TX File zu verschicken oder die TX als Hex kopieren macht es allerdings ziemlich einfach. Hatte mir mezzos post damals schonmal angeschaut, da klang das alles sehr kompliziert. Electrum gat das meiner Meinung nach sehr gut und sehr gut gerade für Einsteiger gelöst. Das würde auch im Prinziep die Escrows entlasten wenn die Leute 2 aus 2 Transaktionen machen. Mit 2 aus 3 und dem Escrow als Mediator finde ich allerdings immer noch besser.

Erinner mich gerade an den Post aus dem Topic von Mr.Lehmanns Mitarbeiter. Sollte Sebastian ja dann jetzt wissen wie das mit dem Mutlisig Escrow klappt Smiley

Ja das klappt recht gut. Na MrLehmann hatte nicht wirklich Interesse an Multisig wegen der damit verbundenen Arbeit. Von daher würde nur ein 2 aus 2 Escrow gehen was es wieder sinnlos macht und unsicher.



mezzomixx


Ich denke da prinzipiell wie du. Allerdings ist es ja eben nicht mal eben machbar das Skript durchzugehen. Das ist erstens sehr groß und zweitens macht es nur Sinn für jemanden der sich damit auskennt. Und die allermeisten Trader wissen gerade mal dass Multisig ein Schlagwort für mehr Sicherheit ist. Den Code durchzugehen ist daher nicht machbar.

Zweite Sache ist dass Electrum von vielen benutzt wird und der Code sicher ab und zu durchgegangen wird. Bei Skripten bin ich mir nicht so sicher, zumal eine Änderung im Code sofort viele Leute betrifft während eine Änderung bei Electrum nur langsam den Weg zum User findet.

Die nächste Sache ist die dass man das Ganze erklären muss. Electrum macht es zumundest dahingehend einfach dass die Trader sofort die Transaktionsdetails sehen können und verstehen was passiert. Bei Skripten oder der Nutzung von Core ist das nicht unbedingt so.
newbie
Activity: 7
Merit: 0
Electrum macht das ganze total einfach! Das das cosign Plugin nicht funktioniert ist blöd. Ich dachte das liegt an meiner älteren Version, tat es aber nicht. Muss nach her mal googeln ob es da irgendwie eine Lösung gibt. Die TX File zu verschicken oder die TX als Hex kopieren macht es allerdings ziemlich einfach. Hatte mir mezzos post damals schonmal angeschaut, da klang das alles sehr kompliziert. Electrum gat das meiner Meinung nach sehr gut und sehr gut gerade für Einsteiger gelöst. Das würde auch im Prinziep die Escrows entlasten wenn die Leute 2 aus 2 Transaktionen machen. Mit 2 aus 3 und dem Escrow als Mediator finde ich allerdings immer noch besser.

Erinner mich gerade an den Post aus dem Topic von Mr.Lehmanns Mitarbeiter. Sollte Sebastian ja dann jetzt wissen wie das mit dem Mutlisig Escrow klappt Smiley
legendary
Activity: 2702
Merit: 1261
Selbst wenn man das Skript runterläd und offline verteilen will an diejenigen die teilnehmen, dann muss man wieder demjenigen vertrauen der das Skript liefert. Was Multisig wieder irgendwie sinnlos macht. Genauso mit selbst hosten des Skripts.

Was unterscheidet ein Script von einer Software, die eventuell auch noch vorkompiliert verteilt wird? Mir ist da ehrlich gesagt das (einfache) Script lieber, dessen Code ich schnell mal anschauen kann. Wer sich gar nicht mit Software auskennt, der muss sich sowieso auf die Entwickler verlassen und die Kommentare zur Software bewerten.
hero member
Activity: 838
Merit: 534
dort wird auf das Plug-in Cosigner Pool Plugin hingewiesen, welches mit electrum ausgeliefert wird. Macht es evtl sogar noch etwas einfacher.
Wenn das ganze funktionieren würde, was es bei uns im Test leider nicht getan hat, könnte aber auch an irgendwelchen Fehlern von uns gelegen haben (der Rest hat allerdings blendend funktioniert).
Die kleine .txn Datei ist aber ja auch schnell verschickt, daher war das für uns im Test kein großes Problem, das auch ohne den Pool abzuwickeln.

Eben auch mal getestet, hat auch nicht funktioniert.
Habe dann einfach die Transaction kopiert (einfach auf kopieren drücken). Denke mal das ist für hier der beste weg, dann einfach per PM senden.

Hat soweit auch alles top funktioniert. Denke mal mit ner kleinen Anleitung sollten das 99% der Leute hinbekommen, und zur not gitbs ja noch google, das zu dem thema "Electrum multisig" auch jede menge ausspückt.
copper member
Activity: 1904
Merit: 1874
Goodbye, Z.
dort wird auf das Plug-in Cosigner Pool Plugin hingewiesen, welches mit electrum ausgeliefert wird. Macht es evtl sogar noch etwas einfacher.
Wenn das ganze funktionieren würde, was es bei uns im Test leider nicht getan hat, könnte aber auch an irgendwelchen Fehlern von uns gelegen haben (der Rest hat allerdings blendend funktioniert).
Die kleine .txn Datei ist aber ja auch schnell verschickt, daher war das für uns im Test kein großes Problem, das auch ohne den Pool abzuwickeln.
hero member
Activity: 838
Merit: 534
Denke auch das einfachste ist Elecrum dafür. Das Problem, dass die Version nicht kompromittiert wurde hast du da natürlich auch, aber das hast du immer und bislang scheint mir electrum sicher und die einfachste "non-chain" wallet.

Bin beim lesen über diesen Artikel gestoßen: http://docs.electrum.org/en/latest/multisig.html  dort wird auf das Plug-in Cosigner Pool Plugin hingewiesen, welches mit electrum ausgeliefert wird. Macht es evtl sogar noch etwas einfacher.
legendary
Activity: 2674
Merit: 1083
Legendary Escrow Service - Tip Jar in Profile
Anmerkung zu den Webseiten: Die beiden Seiten https://coinb.in/ und https://multisig.btcnet.eu/ laufen für die kritischen Aktionen Offline. Eine Onlineverbindung wird nur für zwei Aktionen benötigt: Eine neue Transaktion erstellen (dafür werden UTXO benötigt) und die signierte Transaktion veröffentlichen (Broadcast). Für die kritische Aktionen signieren funktionieren beide Seiten (bzw. deren Javascript) Offline.


Die Frage ist ob man dem Ganzen als Escrow, oder auch als Privatmann der Multisig benutzen will, vertrauen kann. Es ist eine dritte Partei und der Webserver liefert den Code aus. Wenn der Server also gehackt wurde und kompromittierter Code ausgeliefert wird dann wird man im normalen Gebraucht davon gar nichts bemerken weil alles normal aussieht. Man muss also vertrauen dass der Besitzer der Webseite (.in) macht da nicht wirklich selbstsicher, in Ordnung ist und der Server nicht gehackt wurde.

Selbst wenn man das Skript runterläd und offline verteilen will an diejenigen die teilnehmen, dann muss man wieder demjenigen vertrauen der das Skript liefert. Was Multisig wieder irgendwie sinnlos macht. Genauso mit selbst hosten des Skripts.

Oder ist es unmöglich dass mit Adressen und privkeys manipuliert wird? Ich denke das wäre nur möglich wenn die Adresserzeugung immer offline passiert. Nur wer läd die Erstellungsseite schon runter, beendet die Internetverbindung, erzeugt, schließt die Webseite und verbindet dann wieder zum Internet. Ich denke das würde ein Problem für Newbies sein. Obwohl... Electrum Wallets muss man ja auch erzeugen...

Ansonsten, wieso hat ein Electrum multisig wallet eigentlich einen mnemonic code wenn die Adressen danach mit mehreren Pubkeys erzeugt werden? Das Wallet kann doch ohne die pubkeys nur mit mnemonic code gar nicht wiederhergestellt werden. Oder sind die Pubkeys alleine zu unsicher? Kann ich mir kaum vorstellen.
legendary
Activity: 2702
Merit: 1261
Anmerkung zu den Webseiten: Die beiden Seiten https://coinb.in/ und https://multisig.btcnet.eu/ laufen für die kritischen Aktionen Offline. Eine Onlineverbindung wird nur für zwei Aktionen benötigt: Eine neue Transaktion erstellen (dafür werden UTXO benötigt) und die signierte Transaktion veröffentlichen (Broadcast). Für die kritische Aktionen signieren funktionieren beide Seiten (bzw. deren Javascript) Offline.
legendary
Activity: 2674
Merit: 1083
Legendary Escrow Service - Tip Jar in Profile
Ok, würde dass dann mal mit Electrum testen wollen obwohl ich schade finde dass man jedes mal ein neues Wallet erstellen muss. Das Tracking der Escrowtrades ist damit ziemlich unmöglich außer man kopiert alle Daten in ein Excelsheet.

Ich schau mir mal die Anleitung an, werde so ein Wallet erstellen (wäre ja ein ziemliches Wirrwarr wenn es Electrum nicht auch portabel gäbe... Roll Eyes ) und dann schau ich mal ob das klappt und wie leicht verständlich das ist.

Am Ende muss ja jeder Tradingpartner dann auch verstehen was er machen muss. Ich nehme an jeder muss ein portables Electrum installieren um die Multisig zu unterschreiben? Oder wenigstens einer. Aber man, das klingt wie wenn das richtig Aufwand ist, nicht nur für den Escrow.

Und die Überprüfbarkeit wird dann vermutlich auch durch die Wallets der Trader sichergestellt.

Ok, wenn es sicherer ist und die User das wollen dann gut.

Oh man, wenn ich überlege wie lang der Text von meinem Standard-Escrowvertrag mittlerweile ist und welche Punkte ich noch dazufügen will dann wird das langsam ein halbes Buch. Cheesy
hero member
Activity: 838
Merit: 534
https://coinb.in
Kommt mir in dem Zusammenhang in den Sinn.

Ich sehe das Problem auch in der Komplexität (mir fällt gerade kein passendes Wort ein) bei multisig.


Edit: Evtl wäre auch erst mal ein allgemeines Tut für Newbies sinnvoll, also meine nicht die hier gelandet sind, die haben sich ja schon mal en bissel damit beschäftigt.
Sondern sowas wie : Bitcoin für Dummies

also für Leute die noch nie was davon gehört haben. Alles ganz einfach, so nach dem Motto: Hier Wallet eröffnen, hier kann man kaufen,..   
Nix von wegen: eine Transaktion wird dann in die Chain geschrieben,.... ist ja für den "Endverbraucher" eigentlich uninteressant.
 Bei VISA weiss ja auch keiner wie genau das im Hintergrund funktioniert.
hero member
Activity: 756
Merit: 501
Ist gerade recht spät, schreibe gern noch mehr dazu.

Will nur kurz einwerfen:

Wegen Webseite könnte ich die Domain "Multiescrow.de" hinzufügen. Dann wäre die mal ordentlich genutzt.
Würde auch ein Logo erstellen. Kleinkram mit Grafiken oder so machen.

So ne Infoseite wäre ja ne gute Idee denke ich. Mit Tutorial z.B. auch.
Ich muss ins Bett...
copper member
Activity: 1904
Merit: 1874
Goodbye, Z.
ich hab das mal mit lutpin und electrum getestet ist eigentlich verdammt simpel.
Kann ich nur bestätigen, war einfacher als gedacht und dauerte auch nur minimal länger als ne normale tx.

Wir spielen das gerne mal testhalber mit dir durch.
Melde dich einfach kurz, wenn ich Zeit hab, bin ich dabei.

Ja du musst für jeden trade ein neues wallet erstellen, ist richtig sonst machts aber auch kein sinn Smiley
Bei electrum geht das ja realtiv schnell. Außerdem dienen die einzelnen Wallets nebenbei auch der Übersicht.
Seh ich also nicht als großen Minuspunkt.
legendary
Activity: 1078
Merit: 1042
www.explorerz.top
moin sebastian,

ich hab das mal mit lutpin und electrum getestet ist eigentlich verdammt simpel. Die Anleitung hier http://docs.electrum.org/en/latest/multisig.html is recht gut. Einfach das wallet entsprechend erstellen, die pub keys austauschen und importieren, addressen vergleichen (alle sollten die selben haben) und dann kanns losgehen. cosign hat bei lutpin und mir nicht geklappt aber das versenden der tx als datei. einfach importieren, selbst signen und die coins gehen auf die reise. wir spielen das gerne mal testhalber mit dir durch.

Ja du musst für jeden trade ein neues wallet erstellen, ist richtig sonst machts aber auch kein sinn Smiley
legendary
Activity: 2674
Merit: 1083
Legendary Escrow Service - Tip Jar in Profile
Ich habe mir den Thread von mezzomix angeschaut (https://bitcointalksearch.org/topic/angebot-btc-2-aus-3-multisig-escrow-treuhandabwicklung-456563), mittlerweile schon ziemlich alt und ich frage mich was momentan der einfachste Weg ist um Multisigtransaktionen anzubieten UND zu vermeiden dass es in 10 PM's endet nur um zu erklären was man machen muss um Multisig zum Laufen zu bringen.

Mir scheint mittlerweile ist Multisig langsam so weit dass es immer öfter angefragt wird. Auch wenn ich persönlich mir das anschaue und verblüfft bin von der ganzen Arbeit die da dran hängt. Aber vielleicht ist es eher nur für den Anfang so bis man einen funktionierenden Ablauf hat? Oder die User nutzen Webservices, was für mich riskant klingt, da das eine dritte Partei ist und man nie sicher sein kann dass Sie nicht den Seitencode ändern damit die kommenden Coins in ihr Wallet wandern.

Ich habe geschaut aber es scheint mit Core ist es richtig Aufwand mit skripten und mit Electrum scheint es mir als wenn man für jeden Trade ein neues Wallet erzeugen muss da die Pubkeys der beteiligten Trader an der Erstellung des Wallets beteiligt sind?

Jedenfalls würde ich mir wünschen dass es ein Vorgehen gibt dass man den Tradern auch ganz einfach erklären kann. Sowas wie "Installiere Wallet XY" wird heftig Zeitaufwand bedeuten.

Ideal wäre wenn es eine Webseite gibt dessen Code man offline ausführen kann, auf dem man drei Adressen (2 of 3 Multisig) erzeugen könnte und die drei Pubkeys gesammelt werden. Bitaddress.org scheint schon mal nur den privkey und adresse rauszugeben. Weshalb man den privkey wohl erstmal in ein Wallet importieren muss um den Pubkey rauszufinden.

Die drei Pubkeys könnten dann an den Escrow gegeben werden und der erzeugt dann, idealerweise wieder einfach mit einem Offlineskript, die Multisigadresse.

Dann wäre es gut wenn die Trader ohne Aufwand prüfen könnten ob die Multisigadresse wirklich von den drei pubkeys kommt.

Wenn ja sendet der Käufer, nachdem beide über die Risiken von Multisig aufgeklärt wurden, 2 Beteiligte die in Wirklichkeit einer sind usw, die Coins an die Multisigadresse.

Dann wird eine Transaktion erstellt, wiederum mit den pubkeys? Die tradingpartner können sich mit der TID die Transaktion im Netzwerk ansehen (Obwohl, propagiert ist sie ja noch nicht oder?) und die Transaktion verifizieren so dass die propagiert wird. Da frage ich mich allerdings ob das ohne Wallet machbar ist oder ob es eine Webseite gibt die Transaktionen propagieren kann. An der Transaktion selbst sollte man ja nichts verändern können von Seiten der Seite her.

Meine Frage ist im Prinzip... wie kriege ich es hin dass Multisig ohne viel Aufwand für den Ablauf und für Erklärungen ablaufen kann?

Danke!
Jump to: