Author

Topic: Utilisation du bitcoin comme Escrow (Read 5763 times)

legendary
Activity: 2002
Merit: 1113
January 31, 2016, 06:35:15 PM
#13
je pense avoir compris le concept s'en pour autant saisir le coté technique, ce qui pose réellement problème, mais je pense qu'avec un bon tuto détaillé et des étapeS en image c'est jouable.

Par contre le problème reste la parti "C" qui ne pourra rien résoudre ou vérifié en cas de litige donc les coins seront perdu à jamais, d'OU l'intérêt que ce soit une personne physique et neutre.

Donc ma question est : est il possible d'ajouté un 3èm tiers (physique) à la transaction, ce qui donnera 3 of 3 mutisig, seulement la ou je sèche, c'est par qui est crée l'adresse P2sh (escrow) ? c'est la clé privé de l'adresse P2sh qui libère les fond ou les signatures de la transaction ?

en faite pour faire simple il faudrait qu'une transaction soit bloqué en escrow sur un soft, que celui qui envoi les fonds récupère l'email du receveur et éventuellement de l'arbitre, et envoi les fonds, sur une adresse privé héberger sur un serveur ou tourne le soft.

ensuite le soft divise la clé en 3 et envoi un bout à chaque tiers, puis que tous confirme et débloque les fonds une fois la transaction ok.

en cas de litige 2 of 3 pourront tout de même libérer les fonds si un des tiers se barre ou tente de scam, bien surs toutes les conditions devront être explicite avant la transaction d'ou l'intérêt d'un 3 tiers neutre (physique) qui jouera le rôle d'arbitre.

bon je résume le fonctionnement d'un escrow sur le net là me direz vous, oui sauf que la on agit en p2p et que l'arbitre n'a pas de lien avec l'escrow.  

edit : on a un semblant d'explication ici du fonctionnement pour les néophyte : https://en.bitcoin.it/wiki/Multisignature

il y a un sujet qui ressemble beaucoup à ce topic ici : http://cryptorials.io/how-to-create-and-use-a-multi-sig-bitcoin-address/k

et le soft pour crée l'escrow multisig ici : https://thebrowserbank.com/#home

j'avoue que c'est un peu compliqué, peut être qu'un bon traducteur fera l'effort de faire un bon tuto fr  Undecided

Quote
j'avoue que c'est un peu compliqué

..en faite pas tant que ça, mais je recommande de s'exercé avant de passé à l'entiercement de masse  Grin

hero member
Activity: 623
Merit: 500
CTO, Ledger
April 03, 2014, 06:06:45 AM
#12
pour info, le truc dont je causais hier c'était ça https://bitcointalksearch.org/topic/new-paper-securing-bitcoin-wallets-via-threshold-signatures-550299

pour le point le plus intéressant

Quote
On the plus side it's much more efficient in the blockchain, esp with high N, and the transactions are indistinguishable from non-multisig which is good for privacy.
legendary
Activity: 1918
Merit: 1190
March 31, 2014, 01:11:00 PM
#11
Vraiment rien a voir , ils utilise pas la technologie bitcoin mais font une surcouche Smiley
Je viens de tester un truc comme je le pensai  Smiley

On peut bien faire du multisign avec 3 addresse et seulement 2 sont nécessaire pour utilisé l'argent.


La transaction de depense faites avec seulement 2 signature :
http://explorerino.com/rawtx/2f24948edbc4cd37a2fc5a5dd0b042946a13857dddbb25128420bd4a50caeb18
legendary
Activity: 1918
Merit: 1190
March 27, 2014, 05:11:23 PM
#10
Sauf erreur, cela ne semble pas être le même mécanisme qui est utilisé .
Elle n'utilise pas les fonctionnalité interne du bitcoin et je la trouve bien plus lourde .

L'utilisation d'une troisième partis permet d'arbitrer en cas de désaccord du vendeur et de l'acheteur .
full member
Activity: 152
Merit: 100
March 25, 2014, 11:06:29 AM
#9
https://bitescrow.org/
Cela résume bien? :p
legendary
Activity: 2156
Merit: 1131
March 20, 2014, 05:00:04 AM
#8

Super tuto.

J'avais déjà vu ça sur un thread en Anglais mais je ne sais plus où.
Il est dommage que cela ne soit pas compréhensible par les non-initiés.
Il faudrait automatiser tout ça dans une interface claire.
legendary
Activity: 1918
Merit: 1190
March 18, 2014, 05:25:56 PM
#7
Je te donne une première réponse et j essayerai expliciter plus en détail les procéder cryptographique plus tard.

1.) personne à la clef prive de adresse p2sh et si par brute force quelqu'un avait elle ne servirai à rien. ( a vérifier )
Une adresse p2sh et la combinaison unique de l'assemblage de deux clefs public .

2.) Ne pas confondre crée/écrire une transaction avec signe une transaction.

Le bitcoin a pour simplifier au moins 2 méthode pour valider une dépense .
1.) vérifier que la dépense est bien signer avec la clef prive de l'adresse.
2.) vérifier que la dépense est bien signer avec les clefs prive correspondant au adresse public ayant servit à créer l'adresse.

P2sh on utilise le deuxième type de vérification.

Écrit de mon iPhone en edge
newbie
Activity: 23
Merit: 0
March 18, 2014, 02:15:06 PM
#6
Bonjour Perl,

Ca a l'air très intéressant, mais j'avoue fair parti des 99% qui n'ont rien, ou pas tout compris.

Premier truc que je n'ai pas compris, comment faire une "address bitcoin a deux clefs privées"?

2) Drac et Ula font chacun une adresse bitcoin puis se partage la clef publique qui leur servira à créer l'adresse p2sh.
"Maintenant Drac et Ula peuvent créer une adresse p2sh que l'on utilisera comme escrow"?
Comment est créée cette adresse?
Qui a la clef privée de cette nouvelle adresse?

3) "Il est temps que Drac reçoit les BTC qui lui revient a son adresse" (celle dont il a partagé la clef publique avec Ula).

"Drac-ou-Ula>createrawtransaction "[{ \"txid\":\"86b1d46b8d41003545c0fc503b1ea7d8b23c6d773de246651138264c271f5fac\",\"vout\":1}]" "{\"pDLcpc17zyPZ3DQZPHG6x6XBJVvCXPpsXz\":14}"
0100000001ac5f1f274c2638116546e23d776d3cb2d8a71e3b50fcc0453500418d6bd4b18601000 00000ffffffff01004e7253000000001976a914557e336f0b585a2a4cba0475e9ed745279de40b5 88ac00000000"

Là je n'ai rien compris. Ula est censée créer une transaction pour virer le montant de l'adresse p2sh (dont elle n'a pas la clef privée?) vers l'adresse de Drac.
Comment?

P.S. les liens vers cryptocoinmania.com sont morts.
sr. member
Activity: 298
Merit: 250
February 24, 2014, 06:55:04 PM
#5
Où peut-on trouver tes tutos Perl ?
legendary
Activity: 1918
Merit: 1190
February 24, 2014, 11:59:55 AM
#4
Comprehensible par beaucoup de personne connaisant un peu le bitcoin.
Et la dedans, il suffit que 1 seul maîtrise le sujet .

Et que l'autre personne comprenne les grandes ligne et sache décoder une transaction avant de signer.
Et la je pense que 80% des personnes ici peuvent le faire.

Je peut servir intermédiaire a la limite pour aider ceux qui veule le faire.
La seul chose reelment complique est le createrawtransaction pour depenser l'argent de l'address p2sh.

Edit:
Un tuto sur la création adresse dépendante de la principal intéresse du monde ?
Je pense que le prochain tuto, sera comment donnée 1BTC a son fils pour le jours ou il aura 18 ans a peu prêt.


legendary
Activity: 2114
Merit: 1693
C.D.P.E.M
February 24, 2014, 11:38:23 AM
#3
Ca doit être génial mais c'est incompréhensible pour 99% de la population française....

Surement que beaucoup comprennent ici mais moi c'est du chinois...

a choisir je passerais par un escrow reconnu avec des fees, plus simple mais pas gratuit.
legendary
Activity: 3209
Merit: 1187
February 23, 2014, 01:47:57 AM
#2
Génial, tu réinventes la banque mais juste pour les nerds  Grin
legendary
Activity: 1918
Merit: 1190
February 22, 2014, 07:29:51 PM
#1
Je voulai expliquer une utilisation que beaucoup de personne ferait bien de ce servir quand il achète avec des BTC.

En utilisant un tiers de confiance qui prend l'argent de B et le garde tant que A et B sont pas d'accord pour verser l'argent .

B ne peut pas récupérer sont argent sans A
A ne peut pas prendre l'argent sans l'accord de B

L'argent est bloque tant que les deux personnes ne sont pas d'accord.

A n'envoie jamais le produit. Alors oui B ne recupere pas son argent mais A ne l'a pas non plus. Personne n'a d’intérêt a cette situation
B n'a aucun intérêt a mentir sur la réception du produit car il ne pourra pas récupérer son argent sans que A soit d'accord.

Comment on fait ? Simple on fait une address bitcoin a deux clef privé.

Exemple concret ( fait avec le PENG me coûte pas de frais en BTC pour la demo )
Ha oui si vous voulez le faire aussi pour vous amuser ne pas le faire avec le même client et wallet.
Vous signeriez tous en une seul fois et ne pourriez pas bien comment cela fonctionne par vous même. Il suffit de lancer un autre wallet avec option datadir ailleurs.




DRAC veux vendre 100.000.000 Mint a ULA pour 14BTC ( Il sont très cher mais on a affaire a des vampires quand même surtout que 1 en réalité paye avec des penguins)

DRAC et ULA  de leur cote crée une nouvelle addresse bitcoin et se partage la clef public (Hexa).

drac>getnewaddress drac-addr-for-ula
p6NcLbi7CEFYeH13MsLhzkVoTporyFCjEM
drac>validateaddress pBZ6W5vCt9cD63LJtNaePqtSjyGuaCzuUR
{
"isvalid" : true,
"address" : "p6NcLbi7CEFYeH13MsLhzkVoTporyFCjEM",
"ismine" : true,
"isscript" : false,
"pubkey" : "021d9fed57c479fff257edda0062897de513bc2b75859a8d8c47bc55450ab59884",
"iscompressed" : true,
"account" : "drac-addr-for-ula"
}

ula>getnewaddress ula-addr-for-drac
pGgNjqQ9c6p1TCxTwZJ1G4buFarakPB3V6
ula>validateaddress pGgNjqQ9c6p1TCxTwZJ1G4buFarakPB3V6
{
"isvalid" : true,
"address" : "pGgNjqQ9c6p1TCxTwZJ1G4buFarakPB3V6",
"ismine" : true,
"isscript" : false,
"pubkey" : "0255afc11c2d39865ff98c354a0995a6359cc74b4e5d56e8fa5b6880e19d6f0bfe",
"iscompressed" : true,
"account" : "ula-addr-for-drac"
}


Maintenant Drac et Ula peuvent créer une adresse p2sh que l'on utilisera comme escrow
Drac et Ula>addmultisigaddress 2 "[\"021d9fed57c479fff257edda0062897de513bc2b75859a8d8c47bc55450ab59884\",\"0255afc11c2d39865ff98c354a0995a6359cc74b4e5d56e8fa5b6880e19d6f0bfe\"]" escrow-drac-ula
3L7CYCndvLerdocprNdhe4x5s8vMHrAXxL

Maintenant Ula envoie 14BTC a l'addresse p2sh(escrow) 3L7CYCndvLerdocprNdhe4x5s8vMHrAXx et on note id de la transaction pour plus tard
sendtoaddress 3L7CYCndvLerdocprNdhe4x5s8vMHrAXxL 24    
86b1d46b8d41003545c0fc503b1ea7d8b23c6d773de246651138264c271f5fac

Maintenant Drac et Ula voient la transaction en payement escrow-drac-ula dans leur wallet-qt et qu'il sont validé
Drac étant rassurer il peut envoyer les 100.000.000 Mint a Ula normalement ou pour encore plus de sécurité de la même façon sur une adresses p2sh MINT qui serra résolu après les BTC.

Maintenant que Drac et Ula ont d'accord sur le payement des Mint .
Il est temps que Drac reçois les BTC qui lui revient a son adresse pDLcpc17zyPZ3DQZPHG6x6XBJVvCXPpsXz

Drac-ou-Ula>createrawtransaction "[{ \"txid\":\"86b1d46b8d41003545c0fc503b1ea7d8b23c6d773de246651138264c271f5fac\",\"vout\":1}]" "{\"pDLcpc17zyPZ3DQZPHG6x6XBJVvCXPpsXz\":14}"
0100000001ac5f1f274c2638116546e23d776d3cb2d8a71e3b50fcc0453500418d6bd4b18601000 00000ffffffff01004e7253000000001976a914557e336f0b585a2a4cba0475e9ed745279de40b5 88ac00000000
Edit:Attention tous les coins non depensée sont conciderer comme des frais ( dans le cas présent 10PENG de fees )
Donc ne vous amuser pas a faire cele n'importe comment utiliser toujours une transaction id que vous aurez fait exprès pour cette opération. Et le vout=1 correspond au numero de sortis dans la transaction source.



Il ne reste plus que a la faire signer par les deux partis
Attention ne signer rien sans savoir de quoi il sagit
la commande "decoderawtransaction" est la pour cela.
Cela serait con de signer une transaction disant de migrer les 2000BTC de votre addresse principal vers l'addresse de quelqu'un d'autre.
En voulant signer la transaction de 14BTC depuis addresse p2sh.



ula>signrawtransaction 0100000001ac5f1f274c2638116546e23d776d3cb2d8a71e3b50fcc0453500418d6bd4b18601000 00000ffffffff01004e7253000000001976a914557e336f0b585a2a4cba0475e9ed745279de40b5 88ac00000000
{
"hex" : "0100000001ac5f1f274c2638116546e23d776d3cb2d8a71e3b50fcc0453500418d6bd4b18601000 0009200483045022100b7c1204f3b331e4149522e9a4467f7f3b48aa8014bbd1d9c5db67dfc0475 7e7202203d478c83d51018683360027308897c003a5ac3226b8976bf7514a64ac05078570147522 1021d9fed57c479fff257edda0062897de513bc2b75859a8d8c47bc55450ab59884210255afc11c 2d39865ff98c354a0995a6359cc74b4e5d56e8fa5b6880e19d6f0bfe52aeffffffff01004e72530 00000001976a914557e336f0b585a2a4cba0475e9ed745279de40b588ac00000000",
"complete" : false
}
drac>signrawtransaction "0100000001ac5f1f274c2638116546e23d776d3cb2d8a71e3b50fcc0453500418d6bd4b18601000 0009200483045022100b7c1204f3b331e4149522e9a4467f7f3b48aa8014bbd1d9c5db67dfc0475 7e7202203d478c83d51018683360027308897c003a5ac3226b8976bf7514a64ac05078570147522 1021d9fed57c479fff257edda0062897de513bc2b75859a8d8c47bc55450ab59884210255afc11c 2d39865ff98c354a0995a6359cc74b4e5d56e8fa5b6880e19d6f0bfe52aeffffffff01004e72530 00000001976a914557e336f0b585a2a4cba0475e9ed745279de40b588ac00000000""
{
"hex" : "0100000001ac5f1f274c2638116546e23d776d3cb2d8a71e3b50fcc0453500418d6bd4b18601000 000da00473044022011a02a556efd252d0f977224b984731edcab381f5eac1f459c0bebdef0c2f2 b702204e78a765e80928e2f1556b4a3cda42178da5281fbc059c0aa3a735996cbb6700014830450 22100b7c1204f3b331e4149522e9a4467f7f3b48aa8014bbd1d9c5db67dfc04757e7202203d478c 83d51018683360027308897c003a5ac3226b8976bf7514a64ac050785701475221021d9fed57c47 9fff257edda0062897de513bc2b75859a8d8c47bc55450ab59884210255afc11c2d39865ff98c35 4a0995a6359cc74b4e5d56e8fa5b6880e19d6f0bfe52aeffffffff01004e7253000000001976a91 4557e336f0b585a2a4cba0475e9ed745279de40b588ac00000000",
"complete" : true
}


Voila il ne reste plus qu'a l'envoyer sur le reseau Smiley
Drac-ou-Ula>sendrawtransaction  "0100000001ac5f1f274c2638116546e23d776d3cb2d8a71e3b50fcc0453500418d6bd4b18601000 000da00473044022011a02a556efd252d0f977224b984731edcab381f5eac1f459c0bebdef0c2f2 b702204e78a765e80928e2f1556b4a3cda42178da5281fbc059c0aa3a735996cbb6700014830450 22100b7c1204f3b331e4149522e9a4467f7f3b48aa8014bbd1d9c5db67dfc04757e7202203d478c 83d51018683360027308897c003a5ac3226b8976bf7514a64ac050785701475221021d9fed57c47 9fff257edda0062897de513bc2b75859a8d8c47bc55450ab59884210255afc11c2d39865ff98c35 4a0995a6359cc74b4e5d56e8fa5b6880e19d6f0bfe52aeffffffff01004e7253000000001976a91 4557e336f0b585a2a4cba0475e9ed745279de40b588ac00000000"
8d785ff164144207be55d03284a26cbab799f1d730bcbb2eaa24be6d933ccca8

Terminé Smiley

getrawtransaction 8d785ff164144207be55d03284a26cbab799f1d730bcbb2eaa24be6d933ccca8 1
{
"hex" : "0100000001ac5f1f274c2638116546e23d776d3cb2d8a71e3b50fcc0453500418d6bd4b18601000 000da00473044022011a02a556efd252d0f977224b984731edcab381f5eac1f459c0bebdef0c2f2 b702204e78a765e80928e2f1556b4a3cda42178da5281fbc059c0aa3a735996cbb6700014830450 22100b7c1204f3b331e4149522e9a4467f7f3b48aa8014bbd1d9c5db67dfc04757e7202203d478c 83d51018683360027308897c003a5ac3226b8976bf7514a64ac050785701475221021d9fed57c47 9fff257edda0062897de513bc2b75859a8d8c47bc55450ab59884210255afc11c2d39865ff98c35 4a0995a6359cc74b4e5d56e8fa5b6880e19d6f0bfe52aeffffffff01004e7253000000001976a91 4557e336f0b585a2a4cba0475e9ed745279de40b588ac00000000",
"txid" : "8d785ff164144207be55d03284a26cbab799f1d730bcbb2eaa24be6d933ccca8",
"version" : 1,
"locktime" : 0,
"vin" : [
{
"txid" : "86b1d46b8d41003545c0fc503b1ea7d8b23c6d773de246651138264c271f5fac",
"vout" : 1,
"scriptSig" : {
"asm" : "0 3044022011a02a556efd252d0f977224b984731edcab381f5eac1f459c0bebdef0c2f2b702204e7 8a765e80928e2f1556b4a3cda42178da5281fbc059c0aa3a735996cbb670001 3045022100b7c1204f3b331e4149522e9a4467f7f3b48aa8014bbd1d9c5db67dfc04757e7202203 d478c83d51018683360027308897c003a5ac3226b8976bf7514a64ac050785701 5221021d9fed57c479fff257edda0062897de513bc2b75859a8d8c47bc55450ab59884210255afc 11c2d39865ff98c354a0995a6359cc74b4e5d56e8fa5b6880e19d6f0bfe52ae",
"hex" : "00473044022011a02a556efd252d0f977224b984731edcab381f5eac1f459c0bebdef0c2f2b7022 04e78a765e80928e2f1556b4a3cda42178da5281fbc059c0aa3a735996cbb670001483045022100 b7c1204f3b331e4149522e9a4467f7f3b48aa8014bbd1d9c5db67dfc04757e7202203d478c83d51 018683360027308897c003a5ac3226b8976bf7514a64ac050785701475221021d9fed57c479fff2 57edda0062897de513bc2b75859a8d8c47bc55450ab59884210255afc11c2d39865ff98c354a099 5a6359cc74b4e5d56e8fa5b6880e19d6f0bfe52ae"
},
"sequence" : 4294967295
}
],
"vout" : [
{
"value" : 14.00000000,
"n" : 0,
"scriptPubKey" : {
"asm" : "OP_DUP OP_HASH160 557e336f0b585a2a4cba0475e9ed745279de40b5 OP_EQUALVERIFY OP_CHECKSIG",
"hex" : "76a914557e336f0b585a2a4cba0475e9ed745279de40b588ac",
"reqSigs" : 1,
"type" : "pubkeyhash",
"addresses" : [
"pDLcpc17zyPZ3DQZPHG6x6XBJVvCXPpsXz"
]
}
}
]
}


J'ai ouvert le bal mais je pense que cela serait pas mal si on mettait des topic comme cela pour que l'on utilise le bitcoin pour ce qu'il est . Un formidable moyen de payement.

Transaction de depot sur address p2sh
http://iceblock.cryptocoinmania.com:44444/tx/86b1d46b8d41003545c0fc503b1ea7d8b23c6d773de246651138264c271f5fac
Transaction de payement a drac depuis p2sh
http://iceblock.cryptocoinmania.com:44444/tx/8d785ff164144207be55d03284a26cbab799f1d730bcbb2eaa24be6d933ccca8


P.S Utiliser cette méthode permet d’éviter de ce faire voler 10BTC  par un chat.
Jump to: