Bewerken van Transacties

Uit BitcoinWiki.nl
Waarschuwing: Je bent niet aangemeld. Je IP-adres zal voor iedereen zichtbaar zijn als je wijzigingen op deze pagina maakt. Wanneer je je aanmeldt of een account aanmaakt, worden je bewerkingen aan je gebruikersnaam toegeschreven. Daarnaast zijn er nog andere voordelen.

Deze bewerking kan ongedaan gemaakt worden. Hieronder staat de tekst waarin de wijziging ongedaan is gemaakt. Controleer voor het publiceren of het resultaat gewenst is.

Huidige versie Je tekst
Regel 1: Regel 1:
Een transactie is de verplaatsing van waarde in de vorm van Bitcoin. In de reguliere wereld zou je dit als een betaling tussen 2 personen kunnen zien. Binnen Bitcoin is het effect gelijk, maar werkt het iets anders: een transactie kent een inputwaarde (in bitcoin) en één of meer outputwaardes (in bitcoin). Toegang tot Bitcoin gaat via sleutels: een public key (publieke sleutel, het adres van de plek) en een private key (de toegang tot de desbetreffende bitcoin). Degene die de sleutel (private key) heeft van de bitcoin met de beginwaarde, neemt het initiatief en initieert de transactie die de inputwaarde verplaatst naar de nieuwe adressen (UTXO). Het resultaat is dat degene die de private key heeft van de nieuwe plek nu de toegang heeft.
===== Eenvoudige uitleg =====
Een transactie is de verplaatsing van waarde in de vorm van Bitcoin. In de reguliere wereld zou je dit als een betaling tussen 2 personen kunnen zien. Binnen Bitcoin is het effect gelijk, maar werkt het iets anders: een transactie kent een inputwaarde (in bitcoin) en één of meer outputwaardes (in bitcoin). Toegang tot Bitcoin gaat via sleutels: een public key (publieke sleutel, het adres van de plek) en een private key (de toegang tot de desbetrefferde bitcoins). Degene die de sleutel (private key) heeft van de bitcoin met de beginwaarde, neemt het initiatief en initieert de transactie die de inputwaarde verplaatst naar de nieuwe adressen (UTXO). Het resultaat is dat degene die de private key heeft van de nieuwe plek nu de toegang heeft.


Binnen het Bitcoin netwerk vinden continu transacties plaats. De transacties worden verzameld en komen in een blok terecht die grofweg elke 10 minuten aan de bitcoin blockchain wordt toegevoegd.  
Binnen het Bitcoin netwerk vinden continu transacties plaats. De transacties worden verzameld en komen in een blok terecht die grofweg elke 10 minuten in de bitcoin blockchain worden opgeslagen.  


=== Hoe werkt het ===
===== Hoe werkt het =====
Een '''transactie''' is een verplaatsing van [[Bitcoin]], die verstuurd wordt via het [[Bitcoin_node#Netwerk|bitcoinnetwerk]] en uiteindelijk in een [[Blockchain#Blokken|blok]] terechtkomt. Maar hoe werkt dat: Met het tekenen met een private key is de verzender gerechtigd om een transactie te versturen. Daarbij wordt ook een ontvanger (of de ontvangers) meegegeven: het adres/de adressen waar de waarde naar verplaatst moet worden. Alle transacties moeten uiteindelijk in een blok worden opgenomen dat aan de blockchain wordt toegevoegd. De transacties worden verzameld; je kan deze zien in de mempool ( [[Mempool.space]]). Wanneer een miner een nieuw blok mag toevoegen, voegt hij de transacties aan het blok toe.  
Een '''transactie''' is een verplaatsing van [[Bitcoin]], die verstuurd wordt via het [[Bitcoin_node#Netwerk|bitcoinnetwerk]] en uiteindelijk in een [[Blockchain#Blokken|blok]] terechtkomt.


Deze uitleg betreft transacties die direct op de [[blockchain]] worden geregistreerd: on-chain transacties. We kennen ook off-chain transacties: dit is een oplossingsrichting waarmee het aantal transacties op de blockchain kan worden beperkt. We voegen een extra laag (off-chain) toe waarin we transacties verzamelen en pas later 'on-chain' registreren. Dit is noodzakelijk want on-chain transacties zijn beperkt door de grootte van het blok, de grootte van de transactiedata EN het feit dat er gemiddeld slechts 1 blok per 10 minuten wordt toegevoegd. Kijk voor het verschil naar: [[On-chain en Off-chain (2e laag-betalingen)|on-chain en off-chain transacties]].  
Er zit een verschil tussen [[On-chain en Off-chain (2e laag-betalingen)|on-chain en off-chain transacties]]. Deze pagina gaat over transacties op de [[blockchain]]: on-chain transacties.


''Via [[OP_RETURN]] is het mogelijk om data toe te voegen aan transacties, en zo [[Timestamping]] en [[RGB smart contracts]] mogelijk te maken.''
''Via [[OP_RETURN]] is het mogelijk om data toe te voegen aan transacties, en zo [[Timestamping]] en [[RGB smart contracts]] mogelijk te maken.''


=== Transactiekosten ===
== Termen ==
[[Bestand:Screenshot Mempool.png|miniatuur|Transactiekosten op [[mempool.space]]]]
Bitcoin-transacties vereisen transactiekosten als vergoeding voor het verwerken (en bevestigen) door het netwerk. Deze kosten variëren en worden bepaald door verschillende factoren, waaronder de drukte op het netwerk en de grootte van de transactie in bytes.


De transactiekosten worden ook wel '''fees''' genoemd. Hoe hoger de fees, hoe sneller een [[Mining|Miner]] de transactie zal opnemen in een [[Blockchain|Blok]]. En als het druk is op het netwerk, kunnen blokken vol zijn en komen transacties die zijn gestart en waar een lage fee voor is ingevoerd, vrijwel niet aan bod.
=== Coinbase ===
: Dit is de eerste transactie in een blok. (Alleen) deze transactie heeft speciale regels: er mogen in deze transactie nieuwe bitcoin worden gemaakt door de [[Mining|miner]], zo lang ze zich aan de [[Bitcoin#Consensusregels|regels houden]].


Op [[Mempool.space]] zijn de huidige transactiekosten te zien.
=== Witness data ===
: Dit zijn de handtekeningen die bewijzen dat de inputs echt uitgegeven mogen worden (dat de inputs daadwerkelijk bij een persoon of [[Multisig|groep personen]] horen).


=== Fee ===
=== [[UTXO]] ===
Om een transactie een plek in een van de komende blokken te geven, dient de gebruiker die de transactie maakt (dwz Bitcoin stuurt naar een adres) een fee mee te sturen. De miners stellen een blok samen uit een deel van de transacties die in de mempool in de wacht staan.  Miner software is ingericht om de winst te maximaliseren, dus zullen transacties met de hoogste fees de grootste kans krijgen om in het aankomende blok te worden opgenomen.
: Een Unspent Transactie-output, oftewel niet-uitgegeven bitcoin. Elke transactie heeft nieuwe outputs, die later uitgegeven kunnen worden. Als ze nog niet zijn uitgegeven (dus geen input zijn van een volgende transactie), zijn het Unspent Transactie-outputs: UTXO's. Een UTXO moet altijd volledig worden uitgegeven.
In drukke tijden, als er een groot aanbod is van transacties, lopen de fees op. (Vergelijk dit met de prijzen van vliegtickets (pre/post corona)). Hier een grafiek van die een indicatie geeft van de hoogte van de fees, periode feb2020-feb2021.


[[Bestand:Mempoolsize-01mrt2020-01mrt2021.png|600px|Mempool drukte]]
=== Double spend ===
: Als één input meerdere keren uitgegeven wordt. Dit kan niet voorkomen, en Bitcoin is de eerste die dit probleem heeft opgelost.


Langs de Y-as de grootte in MB, de kleur geeft een indicatie voor de fee-hoogte.
== Inhoud transactie ==
Bron: [https://jochen-hoenicke.de/queue/#BTC,1y jochen-hoenicke.de]
 
===Fee en transactie-grootte===
We zijn gewend dat fees vaak afhangen van de ''waarde'' van de transactie. Bijv. bij credit cards betaalt de winkelier een percentage bovenop het bedrag van de aankoop door de klant.
Het is even wennen, maar bij Bitcoin werkt dat zo niet. De schaarste is gegeven door het feit dat er maar 1 blok per ongeveer 10 minuten is en dat elk blok maar zo'n 1 MB groot mag zijn ≈ 1.500 transacties.
Niet elke transactie is even groot. Eén transactie van een exchange kan bijv een flink aantal uitbetalingen aan meerdere adressen (klanten) bevatten. Zo'n transactie is omvangrijker in bytes gemeten en neemt in een blok de plaats in van meerdere enkelvoudige transacties.  Maar er wel degelijk een kostenbesparing te realiseren door een exchange door meerdere uitbetalingen te combineren.
 
Fees worden uitgedrukt in Satoshi's per (virtual) Bytes. Een typische basis-transactie heeft een omvang van ~400 bytes en bij een fee niveau van 70 Sats/Byte kost een transactie 70x400=28.000 Sats. Bij een koers van 40.000eu per Bitcoin komt dit neer op ongeveer op 40.000 / 100 miljoen * 28.000 = 11,20euro.
 
Er zijn diverse sites om fees te berekenen, bijvoorbeeld [https://www.buybitcoinworldwide.com/fee-calculator/ fee-calculator]. Wallets hebben meestal, om het de gebruiker niet te ingewikkeld te maken, een instelling met als keuze 'low', 'medium' en 'high'.  Deze waardes zijn relatief en de werkelijke fees gaan mee omhoog en omlaag met de drukte in de mempool.
 
==== Wat te doen bij hoge transactiekosten ====
 
* '''Wachten tot het rustiger is''': Als de netwerkdrukte hoog is, kan het wachten op een periode met minder activiteit leiden tot lagere transactiekosten.
* '''Kiezen voor lagere fees''': Sommige [[wallets]] bieden de optie om transactiekosten aan te passen. Gebruikers kunnen ervoor kiezen om lagere kosten te betalen, maar dit kan de verwerkingstijd beïnvloeden: lage transactiekosten betekent langer wachten.
* '''Gebruik van [[SegWit|Segregated Witness]] ([[SegWit]]):''' Transacties vanaf SegWit-adressen hebben vaak lagere kosten, en het gebruik van SegWit kan de netwerkefficiëntie verbeteren. De meeste wallets ondersteunen dit.
* '''Gebruik van Bitcoin [[Lightning]] Network''': Voor microbetalingen biedt het Lightning Network een off-chain oplossing met lagere kosten en snellere bevestiging. Lastig: om kanalen op te zetten (om Lightning te gebruiken) is het wel nodig om een on-chain (dure) betaling te doen.
* '''[[Batching]]''': Meerdere transacties samenvoegen tot één transactie.
** Particulier kan dit betekenen dat je in één betaling (bijvoorbeeld wekelijks) je bitcoin overboekt, in plaats van meerdere.
** Veel handelskantoren en bedrijven doen dit ook, ze sparen opnames van klanten op, en versturen een paar keer per dag transacties met meerdere ''outputs'' (bestemmingen)
 
==== Fees bepalen ====
De meeste mensen gebruiken [[Mempool.space]], of de ingebouwde fee-inschatting van hun wallet, om te bepalen wat de juiste fee-grootte is.
 
De grootte van je transactie is [https://bitcoinops.org/en/tools/calc-size/ hier te voorspellen].
 
=== Termen ===
{{ZieOok|Bitcoinjargon}}
{| class="wikitable"
|+Veel gebruikte termen rondom bitcointransacties
!Term
!Uitleg
|-
|Coinbase
|Dit is de eerste transactie in een blok. (Alleen) deze transactie heeft speciale regels: er mogen in deze transactie nieuwe bitcoin worden gemaakt door de [[Mining|miner]], zo lang ze zich aan de [[Bitcoin#Consensusregels|regels houden]].
|-
|Witness data
|Dit zijn de handtekeningen die bewijzen dat de inputs echt uitgegeven mogen worden (dat de inputs daadwerkelijk bij een persoon of [[Multisig|groep personen]] horen).
|-
|Fees
|Een ander woord voor transactiekosten
|-
|UTXO
|UTXO staat voor Unspent Transaction (TX) Output. Elke on-chain transactie stuurt bitcoin naar een of meerdere adressen, op het moment dat deze nog niet naar een volgend adres zijn gestuurd is dat een UTXO. Het saldo in een bitcoinwallet, is de totale waarde van alle UTXO's die door de privésleutels van de wallet beheerd worden.
Het totaal van alle UTXO's wordt ook wel de UTXO set genoemd, deze wordt bijgehouden door nodes op het bitcoin netwerk.
|-
|Double spend
|Als één input meerdere keren uitgegeven wordt. Dit kan niet voorkomen, en Bitcoin is de eerste die dit probleem heeft opgelost.
|-
|TXID
|Transactie-ID, de hash van de transactie.
|}
 
=== Inhoud transactie ===
De transactie heeft informatie over de bitcoin die worden uitgegeven (dit zijn de inputs van een transactie), en waar de bitcoin naartoe worden gestuurd (de outputs van de transactie).
De transactie heeft informatie over de bitcoin die worden uitgegeven (dit zijn de inputs van een transactie), en waar de bitcoin naartoe worden gestuurd (de outputs van de transactie).


Regel 104: Regel 51:
|}
|}


==== Coinbase ====
=== Coinbase ===
De coinbasetransactie is de enige speciale transactie in een blok. Het is de eerste transactie in het blok. In de coinbasetransactie worden de bloksubsidie en transactievergoedingen vastgelegd door de miner (of miningpool) die de juiste hash heeft gevonden. De bloksubsidie en de transactievergoeding worden verstuurd naar een bitcoinadres waar deze miner (of miningpool) de geheime sleutel van heeft. Vervolgens moet de miner minimaal 100 blokken wachten voordat de bitcoin kunnen worden verplaatst. De miner moet zich bij het maken van de coinbasetransactie houden aan de concensusregels en nooit meer claimen dan volgens de regels is toegestaan. Als hij dat wel doet, dat zal de rest van het netwerk het blok negeren.
De coinbasetransactie is de enige speciale transactie in een blok. Het is de eerste transactie in het blok. In de coinbasetransactie worden de bloksubsidie en transactievergoedingen vastgelegd door de miner (of miningpool) die de juiste hash heeft gevonden. De bloksubsidie en de transactievergoeding worden verstuurd naar een bitcoinadres waar deze miner (of miningpool) de geheime sleutel van heeft. Vervolgens moet de miner minimaal 100 blokken wachten voordat de bitcoin kunnen worden verplaatst. De miner moet zich bij het maken van de coinbasetransactie houden aan de concensusregels en nooit meer claimen dan volgens de regels is toegestaan. Als hij dat wel doet, dat zal de rest van het netwerk het blok negeren.


==== Kosten ====
=== Kosten ===
De outputs van een transactie moeten altijd kleiner zijn dan de inputs. Je mag slechts de bitcoin uitgeven die je in de inputs geeft, en geen nieuwe bitcoin creëeren in een normale transactie.  
De outputs van een transactie moeten altijd kleiner zijn dan de inputs. Je mag slechts de bitcoin uitgeven die je in de inputs geeft, en geen nieuwe bitcoin creëeren in een normale transactie.  


Regel 114: Regel 61:
[[Mining|Miners]] willen hun blokken altijd zo slim mogelijk vullen. Ze hebben maar 1 megabyte om te vullen, dus willen die megabyte zo slim mogelijk volzetten met dure transacties. Ze zullen altijd kijken naar de duurste transacties ''per byte''.
[[Mining|Miners]] willen hun blokken altijd zo slim mogelijk vullen. Ze hebben maar 1 megabyte om te vullen, dus willen die megabyte zo slim mogelijk volzetten met dure transacties. Ze zullen altijd kijken naar de duurste transacties ''per byte''.


=== Alles verplicht uitgeven (Change-adressen) ===
== Alles verplicht uitgeven (Change-adressen) ==
Een [[UTXO]] moet volledig worden uitgegeven, maar de [[UTXO]] die jouw wallet gaat uitgeven is mogelijk groter dan het bedrag dat je wil betalen. In dat geval wordt er een change-adres in je transactie gezet, een deel wordt teruggestuurd naar je eigen wallet.
Een [[UTXO]] moet volledig worden uitgegeven, maar de [[UTXO]] die jouw wallet gaat uitgeven is mogelijk groter dan het bedrag dat je wil betalen. In dat geval wordt er een change-adres in je transactie gezet, een deel wordt teruggestuurd naar je eigen wallet.
Zie het als betalen met 10 euro voor een brood van 2 euro. Je geeft in de transactie me de supermarkt het briefje van 10 euro aan de kassamedewerker. Deze houdt 2 euro en geeft je 8 euro terug.
Zie het als betalen met 10 euro voor een brood van 2 euro. Je geeft in de transactie me de supermarkt het briefje van 10 euro aan de kassamedewerker. Deze houdt 2 euro en geeft je 8 euro terug.


=== Zie ook ===
== Zie ook ==
{{ZieOok|Beginnen met Bitcoin|Aflevering 6 van Beginnen met Bitcoin|ExterneLink=0}}{{ZieOokExtern|https://trybitcoin.satsie.dev/|Zelf een transactie bouwen op satsie.dev}}
* [https://beginnenmetbitcoin.com/#ep6 Aflevering 6] van de [[Beginnen met Bitcoin]]-podcast legt het ook uit.
Let op: alle bijdragen aan BitcoinWiki.nl worden geacht te zijn vrijgegeven onder de Creative Commons Naamsvermelding-Gelijk delen (zie BitcoinWiki NL:Auteursrechten voor details). Als je niet wilt dat je tekst door anderen naar believen bewerkt en verspreid kan worden, kies dan niet voor "Pagina opslaan".
Hierbij beloof je ons tevens dat je deze tekst zelf hebt geschreven of overgenomen uit een vrije, openbare bron.
Gebruik geen materiaal dat beschermd wordt door auteursrecht, tenzij je daarvoor toestemming hebt!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Annuleren Hulp bij bewerken (opent in een nieuw venster)

Op deze pagina gebruikte sjablonen: