bezpieczna wymiana local z escrow
: wtorek, 28 stycznia 2014, 18:39
jest taki pomysl na szybko, jak go oceniacie?
Mamy grupę 3 ludzi: A-sprzedawca z BTC, B-nabywca z PLN, C-escrow.
A sprzedaje np 1000 jakichś coinów COIN... za 1000 PLN.
B generuje adresy a1, a2, a3 i podaje je do A i C
A wymyśla sobie hasła p1,p2,p3 i je ukrywa (np. "wiadro" "opona" "las123")
A liczy hashe z tych haseł h1,h2,h3 np sha1 z "wiadro" to 4829eb60f126df6b3a86c7a2356b2fc9802a4774 (opis poniżej)
A przekazuje te hashe do B i C
A przekazuje fundusze do C na przechowanie wraz z warunkami transakcji - max. czasem po którym ma oddać fundusze i adresem zwrotnym exit1
Spotkanie!
A ma hasła.
B ma PLN oraz laptopa lub komórkę gdzie ma kontakt do escrow C
A bierze płatność 100 PLN i od razu podaje hasło p1, B sprawdza czy hasło jest dobre - czy sha1 z p1 == h1
jeżeli NIE to mamy konflikt na miejscu, B może złapać złodzieja za rękę, escrow trzyma fundusze itd - więc jest tak dobrze jak się da.
jeżeli TAK to wszystko ok, B już wie że ma dobre hasło i wie że C mu wypłaci z escrow, lub że będzie mógł udowodnić że C go oszukuje.
Tak samo dla pozostałych transzy.
A bierze 400 PLN i daje hasło p2, sha1(p2)==h2. C obiecał że gdy podasz mu hasło pasujące do h2 to wypłaci 400 COIN.
A bierze 500 PLN i daje hasło p3, sha1(p3)==h3. C obiecał że gdy podasz mu hasło pasujące do h3 to wypłaci 500 COIN.
Nikt nikogo nie może oszukać bardziej niż chwytanie za rękę (weryfikacja w 1 sekundę - czy jest suma dobra czy nie)
tylko mieć pod ręką komputer z komendą: echo -n "......" | sha1sum -
np linux.
Dla pewności że i C nie oszuka (bezkarnie), C może podpisać np. w PGP takie oświadczenie:
-----------------------------------------------------
Ja, <nick/nazwa> obiecuję iż:
odnośnie krypto waluty ............ zwanej dalej COIN,
o ile do daty ........... odbiorę wpłatę escrow na adres:
ESCROW: .................................
to obiecuję iż jeżeli otrzymam hasło którego suma kontrolna sha1 (bez \n na końcu) da w wyniku dany hash zwany "hash",
to wpłacę daną ilość COIN zwaną "kwota" na podane konto zwane "out;"
Transze:
0) kwota ...... COIN stanowi moją prowizję i o ile wykonam postanowienia niniejszego tekstu to mam do niej
prawo i wypłace ją gdzie chcę.
1) mając hash=.......................... wpłacę kwota=..... COIN na konto out=.................
2) mając hash=.......................... wpłacę kwota=..... COIN na konto out=.................
3) mając hash=.......................... wpłacę kwota=..... COIN na konto out=.................
4) mając hash=.......................... wpłacę kwota=..... COIN na konto out=.................
Gdy do daty ................ nie otrzymam niektórych haseł, to pozostałe nie wypłacone fundusze (oprócz prowizji)
zamiast tego zwrócę w całości, na następujący adres bitcoin:
ADRES EWAKUACJI: ....................................
Gdy nie dostanę ani jednego hasła, do tej samej daty, to wówczas wszystko razem z prowizją zwrócę na "ADRES EWAKUACJI"
i nie pobiorę jednal żadnej prowizji.
Hasła będą sprawdzał na: .................. oraz awaryjnie na ....................
Koniec oświadczenia.
-----------------------------------------------------
Publiczny kanał komunikacji to może być wątek na forum. Albo na IRC, tam nie dało by się ocenzurowac po fakcie usunąć wysłanych wiadomości
albo tu i tu.
Liczenie hash to komenda:
echo -n "wiadro" | sha1sum -
4829eb60f126df6b3a86c7a2356b2fc9802a4774 -
Pamiętaj o -n bo inaczej źle wyjdzie gdyż dopisze znak końca linii w hash!
Mamy grupę 3 ludzi: A-sprzedawca z BTC, B-nabywca z PLN, C-escrow.
A sprzedaje np 1000 jakichś coinów COIN... za 1000 PLN.
B generuje adresy a1, a2, a3 i podaje je do A i C
A wymyśla sobie hasła p1,p2,p3 i je ukrywa (np. "wiadro" "opona" "las123")
A liczy hashe z tych haseł h1,h2,h3 np sha1 z "wiadro" to 4829eb60f126df6b3a86c7a2356b2fc9802a4774 (opis poniżej)
A przekazuje te hashe do B i C
A przekazuje fundusze do C na przechowanie wraz z warunkami transakcji - max. czasem po którym ma oddać fundusze i adresem zwrotnym exit1
Spotkanie!
A ma hasła.
B ma PLN oraz laptopa lub komórkę gdzie ma kontakt do escrow C
A bierze płatność 100 PLN i od razu podaje hasło p1, B sprawdza czy hasło jest dobre - czy sha1 z p1 == h1
jeżeli NIE to mamy konflikt na miejscu, B może złapać złodzieja za rękę, escrow trzyma fundusze itd - więc jest tak dobrze jak się da.
jeżeli TAK to wszystko ok, B już wie że ma dobre hasło i wie że C mu wypłaci z escrow, lub że będzie mógł udowodnić że C go oszukuje.
Tak samo dla pozostałych transzy.
A bierze 400 PLN i daje hasło p2, sha1(p2)==h2. C obiecał że gdy podasz mu hasło pasujące do h2 to wypłaci 400 COIN.
A bierze 500 PLN i daje hasło p3, sha1(p3)==h3. C obiecał że gdy podasz mu hasło pasujące do h3 to wypłaci 500 COIN.
Nikt nikogo nie może oszukać bardziej niż chwytanie za rękę (weryfikacja w 1 sekundę - czy jest suma dobra czy nie)
tylko mieć pod ręką komputer z komendą: echo -n "......" | sha1sum -
np linux.
Dla pewności że i C nie oszuka (bezkarnie), C może podpisać np. w PGP takie oświadczenie:
-----------------------------------------------------
Ja, <nick/nazwa> obiecuję iż:
odnośnie krypto waluty ............ zwanej dalej COIN,
o ile do daty ........... odbiorę wpłatę escrow na adres:
ESCROW: .................................
to obiecuję iż jeżeli otrzymam hasło którego suma kontrolna sha1 (bez \n na końcu) da w wyniku dany hash zwany "hash",
to wpłacę daną ilość COIN zwaną "kwota" na podane konto zwane "out;"
Transze:
0) kwota ...... COIN stanowi moją prowizję i o ile wykonam postanowienia niniejszego tekstu to mam do niej
prawo i wypłace ją gdzie chcę.
1) mając hash=.......................... wpłacę kwota=..... COIN na konto out=.................
2) mając hash=.......................... wpłacę kwota=..... COIN na konto out=.................
3) mając hash=.......................... wpłacę kwota=..... COIN na konto out=.................
4) mając hash=.......................... wpłacę kwota=..... COIN na konto out=.................
Gdy do daty ................ nie otrzymam niektórych haseł, to pozostałe nie wypłacone fundusze (oprócz prowizji)
zamiast tego zwrócę w całości, na następujący adres bitcoin:
ADRES EWAKUACJI: ....................................
Gdy nie dostanę ani jednego hasła, do tej samej daty, to wówczas wszystko razem z prowizją zwrócę na "ADRES EWAKUACJI"
i nie pobiorę jednal żadnej prowizji.
Hasła będą sprawdzał na: .................. oraz awaryjnie na ....................
Koniec oświadczenia.
-----------------------------------------------------
Publiczny kanał komunikacji to może być wątek na forum. Albo na IRC, tam nie dało by się ocenzurowac po fakcie usunąć wysłanych wiadomości
albo tu i tu.
Liczenie hash to komenda:
echo -n "wiadro" | sha1sum -
4829eb60f126df6b3a86c7a2356b2fc9802a4774 -
Pamiętaj o -n bo inaczej źle wyjdzie gdyż dopisze znak końca linii w hash!