Op mijn bankrekening staan mutaties; wat er in de loop van de
tijd bij is gekomen en af is gegaan. Ook is mijn saldo te zien en het vorige
saldo en het voorvorige saldo etc. Een database-record bevat tenminste de
velden: reknr, datum/tijd, omschr, bedrag, aard mutatie, van/naar en (nieuw)
saldo. Niet de hele historie van
af’s en bij’s is op de rekening terug te vinden. Dat is ook niet nodig, want
het verleden is a.h.w. in het laatste saldo verdisconteerd.
Bekijk je de bitcoin-rekening
dan wordt elke keer opnieuw het saldo (“balance”)
berekend op basis van het verleden. Dus alles moet bewaard blijven en dat geldt
voor alle transacties van alle rekeninghouders. Dat komt onnozel over en kost ook
onnodig veel processortijd.
Op basis van dat saldo (dat altijd positief moet zijn!) is
te bepalen of er voldoende geld is voor een overschrijving. Maar nee, bij elke
overboeking moet ik aangeven welke “resources”
ik wil gebruiken, bijv. mijn laatste aow en/of het geld van tante betje mits
nog niet eerder besteed (“unspent”).
Is mijn aow al eerder gebruikt dan is dat “hoger” in de database terug te
vinden. Daar staat (als output) het
volledige aow-bedrag met een terugverwijzing naar het transactie-blok en de
precieze datum en tijd (op de seconde) waarop de binnenkomende aow is verwerkt.
Ook hier geldt weer dat telkens bepaald wordt wat spent en unspent is. Want dat in de database vastleggen is onmogelijk.
Wanneer een blok (een verzameling transacties van meerdere personen) is gevalideerd
en goed gekeurd, wordt dat blok a.h.w. verzegeld.
Bijzonder is ook, dat steeds de hele resource (bijv. het hele aow-bedrag) wordt gebruikt. Wat na
betaling overblijft, wordt geboekt als change
en is zo bron voor een volgende afschrijving.
Met duurzaamheid heeft dit alles niets te maken. Zoveel is
mij duidelijk.
rkh, 10-08-2018