Hoe werken bitcoin-transacties?

Tegenwoordig is het moeilijk om iemand te vinden die er nog nooit van heeft gehoord Bitcoin. Het niveau van begrip van de principes en mechanismen varieert echter sterk. Veel mensen zijn tevreden met de wetenschap dat het genoeg is om een ​​portemonnee te krijgen, te ontvangen, te verzenden cryptogeld aan een andere persoon of verkopen. Voor sommige gebruikers is deze informatie voldoende. Niettemin, voor cryptocurrency investeerders een dieper begrip van Bitcoin’s aard is verplicht omdat het veel vragen kan oplossen en problemen met het gebruik van cryptocurrency kan voorkomen.

Eens hebben we al een overzicht gegeven van wat Bitcoin is, maar zijn niet in details gegaan. In dit artikel zullen we proberen op een toegankelijke en gedetailleerde manier te beschrijven hoe Bitcoin werkt.

Netwerk

Zoals veel bronnen ons vertellen, is Bitcoin een peer-to-peer betaalsysteem / netwerk, is de cryptocurrency met dezelfde naam de afwikkelingseenheid van operaties in dit netwerk.

Een peer-to-peer netwerk is een computernetwerk met als principe gelijke rechten van alle deelnemers. Elke peer of node, zoals ze ook worden genoemd, vervult de functies van zowel de client als de server. Met een dergelijke organisatie kunt u de bruikbaarheid van het netwerk behouden voor elk aantal en elke combinatie van beschikbare knooppunten, de som verandert niet van het herschikken van de plaatsen van de termen. Netwerkdeelnemers zijn allemaal peers, dus het belangrijkste kenmerk van het systeem is volledige decentralisatie: er is geen centrale beheerder of server. In plaats van de term ‘peer-to-peer’ kunt u definities gebruiken als: een decentraal of p2p-netwerk.

Blockchain

De basis van bitcoin, en onderweg, het “register” van transactieboekhouding is een geordende reeks (keten) van een dataset (blokken), of gewoon een blockchain. Elk blok van het bitcoin-netwerk kan maximaal 1 MB aan gegevens bevatten, het wordt gemiddeld 10 minuten gevormd en bevat informatie over alle transacties die erin zijn geplaatst en informatie die het verbindt met het vorige blok.

Elk blok in de keten is cryptografisch verbonden met het vorige en het volgende. Deze relatie beschermt het netwerk tegen het in de toekomst vervangen of wijzigen van bestaande blokken, waardoor de blockchain onveranderlijk en transacties onomkeerbaar worden.

Werkingsprincipe

Voor een beter begrip van de basisprincipes van het Bitcoin-netwerk, stel je een hypothetische crypto-enthousiasteling voor, laten we hem Tony noemen, die een bitcoin-portemonnee heeft met per saldo 2 BTC.

Laten we aannemen dat Tony 1 BTC aan zijn vriendin Cindy wil geven, en daarvoor heeft hij haar unieke bitcoin wallet-adres nodig – een analoog van het rekeningnummer in een traditionele bank. Tony plaatst dit adres in het juiste invoerveld van zijn portemonnee en in het andere veld geeft hij het overboekingsbedrag aan – 1 BTC. Dan gaat Tony verder met het instellen van de hoogte van de transactiekosten, en hier zullen we wat meer bij stilstaan.

Transacties en netwerkbelasting

Zoals in elk ander betalingssysteem, vinden transacties plaats in bitcoin, dat wil zeggen dat activa van de ene klant naar de andere worden overgedragen. Voor bitcoin-transacties wordt een commissie in rekening gebracht die als beloning wordt verzonden naar de miners die deze transacties bevestigen. Hoe hoger de commissie en hoe lager de netwerkbelasting, hoe sneller transacties worden bevestigd.

Netwerkbelasting betekent het totale aantal deelnemers dat hun vertaling tegelijkertijd verzendt.

In wezen is een transactie een verzameling informatie die aan netwerkdeelnemers aangeeft welke waarde het saldo van de afzender is afgenomen en welke waarde het saldo van de ontvanger is toegenomen..

mijnwerkers

Om een ​​transactie met succes te voltooien, moeten miners deze bevestigen of valideren. Tegenwoordig zijn dit meestal gespecialiseerde boerderijen die krachtige computerapparatuur, ASIC’s, gebruiken om transacties te verifiëren op “juistheid”, ze verzamelen deze transacties in blokken en de blokken worden sequentieel met elkaar verbonden. Het netwerkalgoritme heeft 10 minuten nodig om 1 blok te vormen, waarbij de miners elke seconde hetzelfde soort rekenwerk uitvoeren op zoek naar één unieke oplossing. Dit is niet moeilijk, het is geen wiskundig probleem, maar het is een zeer grote hoeveelheid werk, wat moeilijk is om snel en efficiënt met een kleine rekenkracht te doen.

Mijnwerkers ontvangen een beloning in de vorm van BTC voor het verrichte werk. Deze beloning bestaat uit de commissies die gebruikers hebben betaald voor transacties en nieuwe bitcoins die het netwerk zelf genereerde toen een nieuw blok was voltooid en bevestigd uit de transacties. We zullen meer praten over miners en het genereren van nieuwe bitcoins in een apart artikel.

Commissies

Laten we teruggaan naar onze crypto-enthousiasteling. Bij het bepalen van de hoogte van de transactiekosten, laat Tony zich leiden door het feit dat hij voor elke byte aan informatie een bepaald bedrag aan Satoshi moet betalen – een fractioneel deel van bitcoin. Aangezien Tony niet weet hoeveel data zijn transactie in beslag zal nemen, besluit hij de prijs op te slaan en in te stellen op 1 Satoshi per byte.

Voor u, lezers, zullen we vertellen hoe het gewicht en de kosten van een Tony-transactie zullen worden gevormd.

Die 2 BTC, die hij op de balans heeft staan, verschenen niet voor niets in de portemonnee. Tony verdiende ze – 1 BTC in 2017, 1 BTC in 2018. Nu wil hij de helft naar zijn vriendin sturen. In zijn transactie zal, naast informatie over het aantal munten, informatie worden opgenomen over de adressen waarvan de munten bij hem kwamen (ze worden inputs genoemd), informatie over de adressen van de ontvangers (ze worden outputs genoemd) en informatie over zijn eigen adres zal ook worden opgenomen.

  • Elke ingang waarvan munten zijn ontvangen, weegt 148 bytes
  • Elke uitgang waar de munten naar toe gaan is 34 bytes
  • De transactie zelf weegt 10 bytes, ongeacht het aantal adressen of het bedrag van de overdracht.

We beschouwen: 148*2 + 34*2 + 10 = 374 bytes. Nu weten we dat onze “hebzuchtige” Tony 374 Satoshi zal betalen voor transactie.

Verandering

U vraagt, waarom vermenigvuldigen we 34 (het gewicht van het adres van de ontvanger) met 2, terwijl de ontvanger er maar één is? Feit is dat wanneer je een deel van je saldo naar iemand stuurt, dan niet een deel, maar het hele bedrag, je saldo verlaat, en na validatie, dwz opname van de transactie in het blok, het saldo minus de netwerkcommissie wordt teruggestort naar uw portemonnee. Daarom wordt naast informatie over het adres van de ontvanger ook informatie over het adres van de afzender, dat wil zeggen uw adres, in de transactie opgenomen. Dit rendement wordt verandering genoemd.

Mempool

Nadat hij een minuscule commissie van 374 satoshi heeft ingesteld, bevestigt Tony het verzenden van 1 BTC en wacht tot de mijnwerkers deze transactie bevestigen.

Het is gewoon dat de mijnwerkers geen haast hebben om het te bevestigen, de transactie valt in de mempool – het boek van de wachtrij voor bevestiging. Waarom? Omdat de miners geld willen verdienen en niet alleen hun apparatuur willen bedienen, want voor de bevestiging van Tony’s transactie krijgen ze slechts 374 satoshi. Speciaal voor zulke zeer goedkope transacties is er een mempool met zijn sorteersysteem.

Allereerst “nemen” miners lichtere transacties met een hogere commissie uit de mempool, omdat het bevestigen ervan winstgevender is en er veel meer in hun blok wordt geplaatst.

Trouwens, als de afzender SegWit-technologie gebruikt, wegen zijn uitgaande transacties minder dan normaal, wat ook miners aantrekt.

Maar je moet niet denken dat de transactie eenmaal in de mempool een soort volgnummer krijgt toegewezen. Nee. Deze wachtrij is dynamisch, elke seconde komen er veel transacties met verschillende tarieven en gewichten in, dus onze Tony’s-transactie kan lang wachten op bevestiging. En, belangrijker nog, terwijl het in mempool is, kan Tony het wisselgeld niet weggooien.

In een dergelijke situatie worden de tegoeden van de afzender zelfs “bevroren”. Het is dit mechanisme dat het netwerk beschermt tegen spamtransacties – situaties waarin een spammer veel goedkope transacties creëert, waardoor het netwerk wordt overbelast.

Terwijl Tony’s transactie in mempool is, wordt deze niet als bevestigd beschouwd en niet als opgeschort. Tegelijkertijd kan het vrij lang in de wachtrij staan ​​- totdat het wordt bevestigd of totdat het wordt verwijderd door knooppunten uit de mempool te valideren. Volgens statistieken is de maximale wachttijd van een wachtrij ongeveer 3 dagen, maar in tijden van hoge netwerkactiviteit kan deze periode met een week of langer worden verlengd.

Ben het ermee eens dat de snelheid van overboekingen in onze tijd een van de belangrijkste kenmerken is bij het gebruik van betalingssystemen, en dergelijke wachtrijen zijn op zijn zachtst gezegd niet erg prettig.

Er zijn veel manieren om een ​​transactie door de mempool te duwen. Ze zijn allemaal vrij moeilijk te begrijpen en te implementeren voor de gemiddelde gebruiker, en sommige grenzen aan zo’n frauduleuze manier als "dubbele uitgaven", of herhaalde uitgaven. Desalniettemin is er één geweldige functie die iedereen kan gebruiken, en we zullen erover praten. Het heet “Replacement Commission” (Replace-by-Fee of RBF).

Vervangen tegen vergoeding (RBF)

Tegenwoordig heeft niet elke bitcoin-portemonnee vergelijkbare geavanceerde functionaliteit. RBF is bezig met het bewerken van een bestaande transactie die in de mempool staat.

Bewerken betekent dat de nieuwe ingangen dezelfde ingangen zullen gebruiken als de oude, maar de commissie zal worden gewijzigd. Een dergelijke bewerkte transactie wordt niet als dubbele uitgave beschouwd, omdat het gebruik van de optie Vervangen tegen vergoeding dit voorkomt. De knooppunten van het bitcoin-netwerk zien de bewerkte transactie als oud en wordt in de wachtrij van de mempool overgebracht naar aantrekkelijkere posities voor miners.

Dus als de commissie te klein is, is het normaal om deze te verhogen als u de operatie wilt versnellen. Negeer de RBF-functie niet en schakel deze in voordat u transacties uitvoert, hierdoor kunt u op veilig spelen als de overdracht in de wachtrij wordt vertraagd.

De bevestiging

Tony realiseerde zich op tijd dat Cindy vanwege zijn hebzucht misschien helemaal geen geschenk zou ontvangen, dus maakte hij tijdig gebruik van de RBF-functie en verhoogde de commissie. De transactie werd, zoals verwacht, aantrekkelijker voor miners en ze namen het op in het volgende blok – de transactie ontving 1 bevestiging. Bij elk volgend gevonden blok krijgt deze transactie 1 extra bevestiging. Wanneer er 6 of meer van dergelijke bevestigingen zijn, wordt de transactie als bevestigd beschouwd.

Transactietarief:

Over de snelheid van overdrachten gesproken, het moet duidelijk zijn dat er geen definitieve waarde is. Maar laten we het berekenen op basis van Tony’s transactie en de gegevens die we hebben.

Voorwaarde:

  • de grootte van één blok is 1 Mb (1048576 bytes);
  • elk blok gevuld met transacties wordt eenmaal per 10 minuten (600 seconden) gevormd;
  • onze Tony’s transactie heeft een gewicht van 374 bytes.

Beslissing:

  • 1048576 bytes: 374 bytes = 2803,6 transacties in een blok van 10 minuten.
  • 2803,6 transacties: 600 seconden = 4,6 transacties per seconde.

Antwoord: Elke seconde bevestigen miners 5 transacties, vergelijkbaar met Tony’s transactie.

Dit zijn natuurlijk allemaal geschatte waarden, aangezien de verwerkingssnelheid elke seconde verandert en van veel factoren afhangt. Het belangrijkste is dat uw transactie zo snel mogelijk uit de mempool wordt gehaald, en als dit gebeurt, bereikt uw overschrijving de ontvanger binnen 1-600 seconden.

Nadat de transactie in het blok is opgenomen, kan de ontvanger namelijk niet alleen het geld op zijn balans zien, maar onder bepaalde voorwaarden ook beheren. Snel, toch? Ja, maar hoe zit het met de regel van 6 bevestigingen? 6 blokken, elk 10 minuten, totaal – 1 uur…

Bitcoin-clients

Het draait allemaal om de software die houders van cryptocurrency gebruiken. Klassieke Bitcoin-portefeuilles zullen de transactie als “onbevestigd” weergeven totdat deze 6 bevestigingen (blokken) ontvangt.

Services die BTC als betaling accepteren, kunnen hun limieten instellen voor het aantal blokken dat nodig is voor bevestiging (7, 10, 45, 214).

BTC, die door het netwerk wordt gegenereerd als beloning voor het vinden van een blok, kan alleen worden gebruikt na 100 bevestigingen, maar klassieke bitcoin-portefeuilles zullen geen munten weergeven die zijn ontvangen voor het vinden van een blok totdat 120 bevestigingen zijn verzameld.

Het nummer "6" niet toevallig gekozen. Met elk nieuw blok wordt de transactie minder kwetsbaar voor spoofing of verandering. Om iets te doen met een reeds bevestigde transactie in een blok, moet je alle volgende blokken “herschrijven”, en dit vereist een enorme rekenkracht en miljoenen investeringen. En hoe meer bevestigingen een transactie ontvangt, hoe veiliger deze zal zijn.

Maar in zo’n krachtige en stabiele blockchain als Bitcoin is het waarschijnlijker de eis van de ontvanger van de transactie, en niet een regel van het protocol.

Daarom gebruiken onze Cindy en Tony geen klassieke, maar een zeer geavanceerde en functionele Bitcoin-portemonnee. Dankzij de functie van het gebruik van niet-bevestigde transacties die erin is geactiveerd, wordt de uitgaande transactie van Tony, nadat deze in het blok is opgenomen, onmiddellijk weergegeven op de portemonnee van Cindy. In dit geval kan Tony onmiddellijk over het wisselgeld beschikken en kan Cindy het geschenk in ontvangst nemen.

Met de link “SegWit + RBF + gebruik van onbevestigde transacties” kunt u de maximale snelheid uit de BTC-blockchain persen, wat belangrijk is voor niet-bewaardiensten.

Gevolgtrekking

Bitcoin is zeer complex en zeer technologisch geavanceerd. In één artikel is het onmogelijk om alle subtiliteiten en nuances van zijn werk te beschrijven, maar we hebben je toch over de basis verteld. Nu weet je welke moeilijke reizen je munten maken binnen slechts één enkele transactie tussen twee portemonnees en met welke snelheid. Hoe en op welke manier het netwerk zichzelf beschermt tegen hacking, spamaanvallen, fraude of onbezonnen acties van beginners.

De stabiele werking van bitcoin hangt in gelijke mate af van zowel mijnwerkers als gewone gebruikers, en hoe meer deelnemers er op het netwerk zijn, hoe veiliger en gedecentraliseerder het zal worden.

Auteur: Kate Solano voor Сrypto-Rating.com