Citat:
Ursprungligen postat av
Dogmatix
Kan någon förklara hur det här med blockstorlek fungerar och vilken roll det spelar?
Jag läste något om att betalningar med Bitcoins görs via dessa block och att det finns plats för ett visst antal transaktioner, likt en buss som kan bli full. Om man då ökar blockstorleken så får man plats med fler transaktioner.
Jag läste även något om att när man gör en transaktion så anger man vilken avgift man är villig att betala och att de som betalar mest får högre prioritet?
Är detta rätt uppfattat? I så fall uppstår en rad frågor. Vem är det som kör bussen, hur ofta kör bussen, varför kör man inte oftare. Varför är det en transaktionskostnad inbyggd i systemet? Är det inte det som är poängen med dessa kryptovalutor, att man ska slå sig fri från giriga banker och få blixtsnabba transaktioner?
Många frågor där svaren överlappar på olika sätt. Jag provar med att försöka besvara allt med en slags helhetsbeskrivning. Hoppas det fungerar.
Transaktioner förpackas i paket (block), som kompletteras med fingeravtryck (hash) från föregående block samt med ett värde som utgör ett verifierbart bevis på att ett mätbart arbete (Proof of Work) har lagts ned. (Värdet ihop med relevanta delar av blocket måste ge en hash med ett visst utseende.)
Nätverket (alla full nodes) kommer hela tiden att sträva efter att göra PoW (Proof of work) så svårt att det alltid tar 10 minuter att skapa ett block, oavsett hur mycket (eller lite) total kapacitet (hash power) alla miners (de som skapar block) bidrar med.
Dvs de tvingar "bussen att alltid köra var 10:e minut" hur många och snabba bussar du än sätter i trafik, för att återknyta till din liknelse.
Det finns ett väldigt gott skäl till att göra så här. Detta (Bitcoin) är nämligen den första uppfinning som lyckats skapa decentraliserat förtroende i en miljö där alla deltagare är okända och ingen litar på någon. Inga specifika mellanhänder (dvs finansiella institut) behövs för transaktioner eller lagring av innehav längre.
Kombinationen av den irreversibla hashkedja som blockkedjan bildar samt arbetet som krävs för att skapa blocken är det som ger en permanent historik av transaktioner och skydd mot "double spends" samt även mot det sk "byzantine generals problem", dvs att kunna kommunicera säkert över en osäker kanal.
Jag har utelämnat en del saker som också krävs för att det skall fungera säkert (som t ex digitala signaturer med algoritmen ECDSA) men nöjer mig med det som berör dina frågor.
En viktig bit i uppfinningen är också att den skapar incitament att frivilligt bidra med PoW i systemet, vilket sker på 2 sätt. Dels en belöning med nytryckta pengar i systemet som en miner tillåts lägga till ett nytt block enligt reglerna och dels via transaktionsavgifter.
Eftersom Bitcoin skall ha ett maxtak (ett viktigt designmål för att skydda mot inflation) så är belöningen utformad att avta med tiden (reglerna kräver en halvering ungefär vart 4:e år), vilket gör att avgifter med tiden blir allt viktigare för att upprätthålla incitamentet att utföra det jobb som skyddar systemet.
Miners är fria att bygga ihop block som de vill (också viktigt då olika miners pga latency runt om vårt klot kommer upptäcka nytillkomna transaktioner olika fort) och har rätt att plocka russinen ur kakan för att maximera sin vinst, dvs de plockar naturligtvis ut de transaktioner som ger mest avgift i förhållande till hur mycket plats de tar upp i blocket.
Satoshi (uppfinnaren bakom Bitcoin) må ha varit otroligt förutseende på många punkter, men hur miningen skulle utvecklas och hur bråken runt blockstorlek skulle komma att utspelas var väl ändå lite för mycket att begära att han skulle kunna förutspå. Det hade Bitcoins community behövt ta ett mycket större ansvar för på ett långt tidigare stadium.
De gjorde communityn inte och nu är vi där vi är. Med en mempool (dvs samlingen nya transaktioner som ännu inte placerats i ett block) som ständigt flödar över och där alla kämpar om att få förtur genom att kriga med allt högre bud på sina transaktionsavgifter.
Ett litet perspektiv på avgifterna är dock på sin plats. De är inte beroende av vilket belopp som skall skickas, utan beror endast av hur många bytes transaktionen innehåller. Fler inputs (dvs tidigare transaktioner till den här adressen som nu skall användas) ger större större transaktioner.
En liten transaktion med en input fast med ett stort belopp kommer alltså inte att kräva en hög avgift. Med andra ord är det fortfarande väldigt billigt att skicka stora summor i systemet, men väldigt dyrt med mikrotransaktioner.