Author

Topic: Plăți silențioase (Read 124 times)

legendary
Activity: 1680
Merit: 6524
Fully-fledged Merit Cycler|Spambuster'23|Pie Baker
September 22, 2024, 03:18:15 AM
#4
Postarea facuta in topicul original a fost de bun augur, intrucat si fillippone a confirmat ca portofelul Cake suporta atile silentioase.

In plus, acesta a facut si o lista cu portofelele care ofera aceasta facilitate. Conform lui fillippone, beneficiem de plati silentioase daca folosim aceste portofele: Cake wallet, Blue wallet, Silentium si Dana wallet.
legendary
Activity: 1680
Merit: 6524
Fully-fledged Merit Cycler|Spambuster'23|Pie Baker
September 21, 2024, 02:49:21 AM
#3
Merci pentru interventie, Razvan! Ma bucur sa vad ca urmaresti acest topic. Nu stiam despre implementarea facuta de Cake Wallet...

Am sa adaug informatia de la tine si in topicul original, pentru mai multa vizibilitate.
copper member
Activity: 11
Merit: 13
CRYPTO EXCHANGER
September 17, 2024, 08:11:38 AM
#2
Cake Wallet a implementat deja sistemul de "Silent Payments"

https://cakewallet.com/
legendary
Activity: 1680
Merit: 6524
Fully-fledged Merit Cycler|Spambuster'23|Pie Baker
July 17, 2024, 01:32:39 AM
#1
Autor: witcher_sense
Topic original: Silent payments




Introducere

Aș dori să discut în acest topic despre o propunere interesantă a lui Ruben Somsen, numită “Plăți silențioase”, aceasta fiind o tehnică de îmbunătățire a anonimității și are ca scop reducerea transparenței plăților pe blockchain realizate între două părți. Propunerea se bazează pe concepte precum “adrese ascunse” și “coduri de plată reutilizabile” și, în esență, încearcă să rezolve aceeași problemă, însă intr-o manieră mai elegantă.

Ideea de bază

Ideea de bază este următoarea: utilizatorul A publică un identificator (de obicei, o cheie publică), iar utilizatorul B combină cheia sa privată cu cheia publicată de către A și creează o adresă unică din care doar A poate cheltui. Utilizatorul C poate, de asemenea, să trimită bani către utilizatorul A, combinând cheia sa privată cu o adresă a lui A și derivând o altă adresă unică. Utilizatorul A va ști că ambii utilizatori B și C i-au trimis bani, dar B și C nu vor ști unul de celălalt. Prn urmare, utilizatorul A va putea primi plăți la adrese complet separate, utilizând o singură adresă publică.

Cum funcționează

Să presupunem că Bob dorește să îi trimită o plată silențioasă lui Alice.

1) Alice creează un identificator unic (adică o cheie publică) utilizând metoda curbei eliptice standard:

A = a*G, unde

A – cheia publică a lui Alice (un punct de pe curba eliptică),
a – cheia privată a lui Alice (un număr aleator care ar trebui să fie păstrat secret), și
G - punctul generator (un punct predefinit de pe curba eliptică).

2) Alice creează acest identificator public A astfel încât Bob (dar și alți utilizatori, precum Carol) pot ști unde să trimită plățile.

3) Bob alege o intrare pe care o controlează și care conține o cheie publică

B = b*G, unde

B – cheia publică a lui Bob (un punct de pe curba eliptică),
b – cheia privată a lui Bob (un număr întreg aleator, pe care îl cunoaște doar Bob), și
G - punctul generator.

4) Bob preia cheia publică A a lui Alice și construiește o nouă cheie publică folosind formula:

A' = hash(b*A)*G + A, unde

A' – o cheie publică unde Bob realizează plata.

5) Bob efectuează o plată către Alice, creând o ieșire asociată cu o cheie publică A', anterior contruită.

6) Dat fiind că b*A = b*a*G = a*b*G = a*B, Alice poate reconstrui aceeași cheie publică A' folosind cheia sa privată a, cu formula următoare:

A' = (hash(a*B) + a)*G, unde

hash(a*B) + a – noua cheie privată a lui Alice, care îi permite să cheltuie bani din ieșirea corespunzătoare cheii publice A'.

Totuși, problema este aceea că, pentru a-și detecta plata, Alice trebuie să știe cheia publică B a lui Bob, motiv pentru care ea scanează continuu blockchain-ul, încercând să depisteze care cheie publică poate fi combinatăcu cheia sa privată a, pentru a reconstrui adresele bitcoin existente.


Aspecte pro:

1) Nu este necesară nicio interacțiune între emitenți și destinatari. Pentru ca un emitent să poată realiza o plată, acesta are nevoie doar să construiască o adresă din cheia publică silențioasă a destinatarului.

2) Plățile silențioase utilizează mai eficient spațiul din blocuri, întrucât nu este nevoie de tranzacții “de anunțare”, cum este în cazul BIP47. Prin urmare, o tranzacție este egală cu o plată, ceea ce este ideal pentru donații realizate o dată.

3) Tranzacțiile silențioase nu se pot distinge între cele normale (ex. nu există ieșiri OP_RETURN care să partajeze chei publice efemere, cum se întâmplă în cazul "Adreselor ascunse"), ceea ce înseamnă că utilizatorii nu mai au nevoie să se ascundă în mulțime – anonimitatea creată constă în intregul blockchain.

4) Adresele derivate din cheia publică silențioasă inițială sunt mereu unele determinate și unice, deoarece fiecare emitent folosește propria lui cheie unică pentru a ajusta cheia publică silențioasă a destinatarului.

5) Plățile sliențioase încurajează destinatarul să își ruleze propriul lui nod Bitcoin, ceea ce conduce în mod automat la o rețea mai descentralizată.

6) Cu excepția emitentului și destinatarului, nimeni nu va ști că plata a avut loc.

7) Plățile silențioase îmbunătățesc mult fungibilitatea tranzacțiilor cu bitcoin.

Aspecte contra:

1) Cel mai mare dezavantaj al aceste tehnici constă în costul de validare relativ mare. Dat fiind că un destinatar al unei plăți nu cunoaște în avans care sunt adresele Bitcoin de unde poate cheltui cu ajutorul cheii sale private, el trebuie să verifice fiecare intrare a fiecărei tranzacții, calculând și comparând chei publice.

2) Potențialul emitentului de a reutiliza o adresă. Când un emitent are mai multe intrări care sunt asociate cu aceeași cheie publica, fiecare din aceste intrări va conduce la aceeași adresă calculată. Reutilizarea adresei este considerată a nu fi benefică pentru anonimitate și ar trebui evitată cu orice preț. Situația ar putea fi evitată prin includerea unei informații adiționale în procesul de calcul, dar aceasta dă naștere altei dificultăți, în special pentru clienții simpli. Alternativ, un emitent poate consuma toate intrările într-o singură tranzacție, dar aceasta dezvăluie posesia comună, ceea ce afecteaza anonimitatea.


Referințe:

1] https://gist.github.com/RubenSomsen/c43b79517e7cb701ebf77eec6dbb46b8
2] https://github.com/genjix/bips/blob/master/bip-stealth.mediawiki
3] https://github.com/bitcoin/bips/blob/master/bip-0047.mediawiki
4] https://en.m.wikipedia.org/wiki/Elliptic-curve_Diffie%E2%80%93Hellman
5] https://bitcoinops.org/en/newsletters/2022/04/06/
6] https://bitcoinmagazine.com/technical/bitcoin-silent-payments-secret-keys
7] https://bitcoinmagazine.com/technical/improving-bitcoin-privacy-with-silent-payments
8] https://gist.github.com/w0xlt/72390ded95dd797594f80baba5d2e6ee



Traducere realizată la inițiativa:

Jump to: