CBER HANDBOEK

CBER: de kern ​

Status: kernspec 0.4, concept · 17 september 2026. Dit is een vereenvoudigd ontwerp voor één coöperatie. De eerste lokale referentiekern is aangesloten op de simulator. Dit is nog geen productie-installatie. De uitgebreide v0.18 blijft als historisch ontwerp bewaard.

Bij een betaling vanuit de Basispuls gaat het bedrag van het beschikbare basisbudget van de betaler af. De ontvanger krijgt dat bedrag als luxemunt, vrij te bewaren, uit te geven of te verhandelen. Die ontvangen luxemunt vervalt niet aan het einde van de dag van de betaler. Bestaande fondsclaims gaan naar de ontvanger: de totale geldhoeveelheid en de energiereserve veranderen niet. Deze betaalroute is nog niet geïmplementeerd.

Plaats in het ontwerp ​

Binnen CBER zitten de munt zelf, de handel, de Basispuls en de luxemunt. Binnen het ontwerp mag met beide worden betaald voor goederen en diensten. De munt is verhandelbaar, ook voor wie zelf geen energie opwekt of afneemt. De deur behandelt handel tegen andere munten, zoals de euro. Federatie heeft een eigen specificatie en is niet hetzelfde als valutawisseling.

Deze referentie voert gewone muntbetalingen en basisenergielevering uit. Betalen aan een verkoper vanuit een Basispulsbudget is toegestaan in het ontwerp, maar nog niet geïmplementeerd. De huidige blokkade op vrije overboeking van de fondsrekening beschermt de boekhouding; zij is geen verbod op die toekomstige betaalfunctie. De kern heeft geen eurokoers nodig.

1. Wat we bouwen ​

Een lid kan gemeten energie in een gezamenlijke reserve inbrengen, claims op die reserve bezitten, claims aan iemand anders betalen en claims gebruiken voor energielevering.

Een claim is een evenredig aandeel in de bruikbare reserve. Het is geen garantie op een vast aantal kilowatturen. Alle claims zijn van hetzelfde type, ook die van de coöperatie.

Boekingsregels gaan over correct rekenen, niet over jouw bestedingen. Een gewone betaling vraagt geen goedgekeurde winkel, aankoopcategorie of ontvanger. Het systeem controleert de handtekening, het beschikbare saldo en dubbele verwerking. Niet iedere toegestane toepassing is al gebouwd. Dat verandert de ontwerpregel niet: geen schuld of betalingsbeloftes in CBER, wel directe betalingen en stapsgewijze aankoop van bestaand eigendom.

Deze eerste versie heeft geen ongedekte nooduitgifte, uitgifte uit overdekking, eurodeur, kredietfunctie of aparte vrijgestelde muntsoorten. Federatie krijgt een eigen spec; de lokale kern werkt zelfstandig. De Basispuls wordt in deze referentie gefinancierd met bestaande claims op een aparte fondsrekening, zoals uitgewerkt in §4b. Zij mag niet ongemerkt uit de claims van andere houders worden betaald.

Gezamenlijk verlies: bevestigd opslagverlies wordt eenmaal verdeeld via evenredige intrekking van claims. Nieuwe energie wordt gewoon vergoed met nieuwe claims. Er is geen aanvullende persoonlijke herstelheffing.

Eigendom opbouwen zonder schuld ​

CBER kent geen schuld of betalingsbeloftes. Je kunt wel bestaand eigendom stap voor stap kopen. Elke betaling koopt direct een afgesproken deel. Je bent niet verplicht om het resterende deel later ook te kopen; dat blijft eigendom van de verkoper.

Bijvoorbeeld: je koopt eerst 10% van een woning en later nog 5%. Je bezit dan 15%. De overige 85% is geen openstaande schuld van jou. Stoppen met bijkopen maakt het al gekochte deel niet ongedaan. Gebruik, beheer en kosten van gedeeld eigendom vragen aparte afspraken; betaling voor gebruik koopt op zichzelf geen eigendom.

De muntbetaling en de overdracht van eigendom zijn twee verschillende handelingen. De huidige proef verwerkt muntbetalingen, maar heeft nog geen registratie en afwikkeling van zulke eigendomsdelen.

2. De hele boekhouding ​

SymboolBetekenis
RGeauditeerde ondergrens van de werkelijk bruikbare, leverbare reserve, in vaste energie-eenheden.
b[i]Claims op rekening i, als een geheel aantal kleinste munteenheden.
l[i]Daarvan vastgezette claims voor nog niet afgehandelde leveringsaanvragen.
S = som(b[i])Alle uitstaande claims, inclusief vastgezette claims en die van de coöperatie.
B = R / SEnergie per kleinste munteenheid. Alleen gedefinieerd als S positief is.

Een aanvraag zet claims vast; zij maakt geen tweede soort claim en verbrandt nog niets. De vastgezette claims blijven meetellen in S en dragen hetzelfde reserveverlies. Er bestaat in deze kern daarom geen afzonderlijke kWh-schuld D.

Energie en claims hebben vooraf vastgelegde eenheden en grenzen. Bedragen zijn gehele aantallen van die eenheden. Een transactie gebruikt exacte gehele of rationale rekenkunde, geen binaire floating-pointbedragen. De interface mag leesbaar afronden; de boeking niet.

3. Zes invarianten ​

  1. Geen claims uit het niets. Buiten de eenmalige openingsboeking ontstaan claims alleen tegenover een vastgestelde toename van R door geautoriseerde inbreng. Een auditcorrectie of onverwachte overdekking geeft geen mintrecht.
  2. Betalen behoudt claims. Bij een betaling gaat hetzelfde aantal bij de ene rekening af als bij de andere erbij. S en R veranderen niet. Een opgegeven afstand is nooit aanleiding om gedeelde reserve af te boeken.
  3. Geen dubbel gebruik. Altijd 0 <= l[i] <= b[i]. Een betaling kan alleen het vrije saldo gebruiken. Een leveringsbatch kan alleen haar eigen vastgezette claims aanspreken.
  4. Elke energiewijziging heeft bewijs. R volgt gemeten inbreng, gemeten levering, vastgesteld verlies of een ondertekende auditcorrectie. Het bruikbare capaciteitsplafond en de meetonzekerheid gelden ook in de winter. Een positieve afwijking wordt net zo goed geregistreerd als een negatieve.
  5. Eén feit, één boeking. Een blijvend event-ID identificeert een fysieke meting; een request-ID een opdracht. Dezelfde inhoud opnieuw aanbieden geeft hetzelfde resultaat, geen nieuwe boeking. Hetzelfde ID met andere inhoud wordt geweigerd. Saldi, logboek, deduplicatie en resultaat worden samen duurzaam vastgelegd vóór succes wordt gemeld.
  6. Herstel hoort bij een incident. Een auditbesluit benoemt het incident, het bewijs en de exacte correctie. Het mag geen later incident opheffen. Een afgehandeld besluit opnieuw aanbieden doet niets. Geen verborgen teller mag herstel blijvend blokkeren nadat zijn onderbouwde afwikkeling is geboekt.

4. Boekingen en hun voorwaarden ​

De toestand vóór een boeking wordt eerst volledig gecontroleerd. Een ongeldige opdracht verandert niets. Metingen van gebeurtenissen die fysiek al plaatsvonden worden nooit weggegooid omdat de geldboeking mislukt: ze blijven in een duurzaam onderzoekslog en blokkeren verdere automatische levering totdat de afwijking is afgehandeld.

BoekingWie en welk bewijsVerandering
Openen, eenmaal per grootboek, niet per herstartCoöperatie en onafhankelijke auditor tekenen de openingsbalans en eigendomstoewijzing.Start met R=S=0, of met gemeten bestaande reserve en evenveel claims bij de gekozen startverhouding. Claims gaan naar de aantoonbare inbrengers.
Energie inbrengenOpdracht van de inbrenger plus een unieke, geauthenticeerde meting.Bij R>0 en S>0: voor de erkende toename e worden floor(e*S/R) claims bijgeschreven. R neemt met e toe. Rekenen gebeurt met de toestand vóór de inbreng.
BetalenHandtekening van de rekeninghouder; ontvanger bestaat; bedrag past in vrij saldo.Bedrag van b[zender] naar b[ontvanger]. R en S blijven gelijk.
Levering aanvragenHandtekening van de houder; bedrag past in vrij saldo.Claims vastzetten in l, met aanvraag-ID. R en S blijven gelijk.
Aanvraag annulerenHouder, zolang de aanvraag niet in een duurzaam vastgelegde uitvoeringsbatch zit.Ongebruikte claims vrijgeven uit l. Een al uitgevoerde levering wordt niet teruggedraaid.
Energie leverenUitvoeringsbatch, vooraf vastgelegde koers en bevoegdheidsgrenzen, plus geauthenticeerde leveringsmeting.Per aanvraag: ceil(E_cumulatief*S_batch/R_batch) minus reeds afgeboekte claims van b en l afboeken. R vermindert met de nieuw gemeten energie. Restclaims komen pas bij definitieve afsluiting vrij.
Verlies of auditcorrectieGeauthenticeerde meetreeks of onafhankelijk ondertekend auditbesluit met classificatie.R aanpassen; bij verlies claims eenmaal evenredig intrekken volgens §4a. Positieve correcties creëren geen claims. Afwijkingen, incidenten en hun afhandeling blijven in het logboek.

Bij een lege start R=S=0 geldt de vastgelegde startverhouding voor de eerste inbreng. Bij R=0 met S>0 is de inbrengformule niet bruikbaar: geen nieuwe aankoopuitgifte. Alleen een aantoonbare herstelbijdrage zonder nieuwe claims of een afzonderlijk getekende afwikkeling kan die situatie beëindigen. Bij S=0 en R>0 is de restreserve eerst onderdeel van zo'n afwikkeling; een volgende inbrenger krijgt haar niet cadeau.

Een inbrenger ziet vooraf de koersregel en mogelijke afronding. Een positieve inbreng die minder dan één kleinste claim oplevert wordt niet als betaalde inbreng geaccepteerd. Eventuele kosten worden afzonderlijk uit bestaande claims betaald; ze veranderen de uitgifteformule niet.

Een leveringsbatch legt R_batch en S_batch vast na verwerking van de voorafgaande reservewijzigingen. Alle aanvragen in die batch gebruiken diezelfde verhouding. De som van de geautoriseerde energie past in R_batch, de gelijktijdige netcapaciteit en de vastgezette claims. De afronding is maximaal minder dan één kleinste claim per afzonderlijke aanvraag binnen de batch, in het voordeel van de resterende reserve. Deelmetingen gebruiken cumulatief geleverde energie per aanvraag; opsplitsen in meetberichten veroorzaakt geen extra afronding. Een nieuwe reserveafwijking vóór uitvoering maakt een nog niet uitgevoerde autorisatie ongeldig; reeds geleverde energie blijft een werkelijk te boeken feit.

4a. Verlies eenmaal verdelen ​

Bevestigd verlies wordt één keer naar claimbezit verdeeld, ook over vastgezette claims. Er is geen persoonlijke herstelrekening en geen inhouding op toekomstige zonne-inbreng. Wie vervangende energie inbrengt, krijgt volgens de gewone inbrengregel nieuwe claims.

Zonder lopende levering worden reserve en claims in dezelfde transactie aangepast. Bij verhouding R0/S0 vóór het verlies en reserve R1 erna blijft ceil(R1*S0/R0) aan claims over, begrensd op de bestaande voorraad. Het verschil wordt evenredig over de saldi afgeboekt: eerst gehele delen, daarna de resterende kleinste munteenheden op grootste rest, met rekening-ID als vaste volgorde bij gelijke resten. De verhouding blijft zo behouden tot op minder dan één kleinste claim voor de totale afrekening; een positieve reserve raakt niet door afronding zonder claims. Bij volledig verlies worden alle claims ingetrokken. Een lege reserve zonder claims kan opnieuw starten met werkelijk gemeten inbreng.

Aanvragen die nog niet in uitvoering zijn worden bij claimintrekking geannuleerd, met een zichtbaar logbericht. Claims in een lopende of onzekere levering blijven vaststaan. De werkelijk gemelde verliesenergie wordt meteen geregistreerd; de claimintrekking wacht tot alle uitvoeringen definitief gesloten zijn. Gewone betalingen en nieuwe uitgifte blijven zolang geblokkeerd. Eerst worden de definitieve leveringen tegen de vastgelegde batchverhouding afgerekend. Daarna wordt het verlies verdeeld over de resterende houders, met de verhouding vóór de eerste uitgestelde verliesmelding als referentie. Meerdere verliezen tijdens dezelfde uitvoering worden zo samen afgerekend, niet dubbel. Incidenten moeten nog afzonderlijk worden opgelost.

Een negatieve auditcorrectie of resterend tekort na reconciliatie valt onder dezelfde verdeling. Een overlevering belast de aanvrager maximaal tot diens autorisatie; het overige vastgestelde tekort is gezamenlijk verlies. Een positieve auditcorrectie creëert geen claims en herstelt niet automatisch eerder ingetrokken claims. Daarom is definitieve, betrouwbare verliesvaststelling noodzakelijk. Een correctie op onjuiste historische verliesvaststelling vraagt een afzonderlijk beoordeelde afwikkeling; die valt buiten deze referentie.

Voorbeeld: 180 kWh en 180 claims worden na 10 kWh verlies 170 kWh en 170 claims. Nieuwe inbreng van 10 kWh geeft de inbrenger 10 nieuwe claims. Dan zijn er weer 180 kWh en 180 claims. De intrekking zelf heeft geen energie gemaakt. Er geldt geen vaste garantie van één kWh per claim.

4b. Basispuls en luxemunt ​

De Basispuls is een persoonlijk dagelijks gebruiksrecht, geen tweede verhandelbare munt. Alle geregistreerde personen krijgen hetzelfde basisdoel, ook zonder eigen opwek of luxemunt. Niet gebruikt dagrecht vervalt; de onderliggende, nog niet gebruikte financiering blijft gezamenlijk beschikbaar. Meerdere personen kunnen één aansluiting gebruiken. Eén mens mag maar één recht hebben; de identiteitsadapter moet dat vóór registratie controleren.

Een geautoriseerde inbrenger en meter kunnen hernieuwbare inbreng boeken met een bewijsverwijzing. De normale gedekte uitgifte vult eerst het ontbrekende fondsbudget voor het nog niet gebruikte basisdoel van vandaag aan. Bestaande fondsmuntjes tellen mee; reeds geleverde basisenergie wordt niet opnieuw gefinancierd. Alleen het restant gaat naar de inbrenger als luxemunt. De totale uitgifte blijft exact die van dezelfde gewone inbreng. Niet-hernieuwbare inbreng financiert deze route niet. De adapter moet de bronclassificatie controleren; een zelfgekozen etiket is geen bewijs.

De Basispulsrekening kan niet vrij worden overgemaakt of via gewone aanvragen worden aangesproken. Beschikbare fondsmuntjes worden begrensd verdeeld over persoonlijke dagbudgetten. Een basislevering zet bestaande fondsmuntjes vast en brandt die pas bij gemeten levering. Zij gebruikt dezelfde batch-, incident- en herstelregels als andere levering. De planner bedient beschikbare basisvraag vóór luxevraag; de kern kan niet zelf weten welke apparaten nu basisenergie nodig hebben. De simulator voert die volgorde uit.

De bank stelt het basisdoel en de structurele hernieuwbare onderbouwing vast onder operator- én auditbevoegdheid. Het doel kan niet dalen; verhoging vereist extra vastgelegde hernieuwbare capaciteit. De capaciteit is de geverifieerde dagelijkse bijdrage die structureel voor deze basisdienst beschikbaar is, geen piekvermogen. Het doel mag die gezamenlijke onderbouwing niet overschrijden. Een beleidswijziging op zichzelf maakt geen fondsmuntjes. Werkelijke levering blijft begrensd door beschikbare financiering en fysieke leverbaarheid. Het fonds draagt als gewone claimhouder verlies; het doel blijft staan, terwijl gefinancierde beschikbaarheid kan dalen.

Er geldt geen vast financieringspercentage. Nieuwe hernieuwbare inbreng dekt eerst het resterende basisdoel; bij schaarste kan de volledige nieuwe uitgifte naar het fonds gaan. Oude private claims blijven intact. Deze regel garandeert geen levering wanneer energie, opslagruimte of nieuwe inbreng ontbreken. Vier personen delen mee: Anna, Bas, Noor en Sem; de laatste twee gebruiken het buurthuis. De proef start met een leeg fonds. Nieuwe zon vult het fonds en maakt rechten leverbaar. De bankknop voegt in het scenario zonnepanelen toe en verhoogt het doel. In een echte installatie moeten identiteit, kalender, bronbewijs, capaciteit en bevoegdheden extern worden geverifieerd; bewijsstrings in de referentie doen dat niet.

5. Meten, uitvoeren en stoppen ​

De coöperatie publiceert vóór deelname het meetprotocol, de gebruikte eenheden, het verliesmodel, de capaciteit bij relevante temperaturen, de vermogensgrenzen, het leveringsrooster en de uiterste levertermijn. De auditor controleert de onderbouwing. Deze kern vervangt die vereiste meetbijlage niet door een aanname.

De technische uitvoering bewaart eerst de leveringsautorisatie, voert die hoogstens eenmaal uit en koppelt de werkelijke meting aan die autorisatie. Een meting boven de geautoriseerde hoeveelheid wordt niet alsnog als gewone extra inwisseling bij het lid geboekt: het is een incident dat automatische uitvoering stopt en afzonderlijk onderzocht wordt.

Een aanvraag in een uitvoeringsbatch kan pas worden vrijgegeven nadat een duurzame annulering bevestigt dat geen uitvoering meer kan plaatsvinden, of de werkelijk geleverde hoeveelheid definitief is vastgesteld. Bij onzekere uitvoering blijven de bijbehorende claims vastgezet; opnieuw uitvoeren gebeurt pas na reconciliatie met het uitvoerapparaat.

Bij een onverklaarde afwijking, ontbrekende meting, opslagfout of gemiste levertermijn gaat de instance op gepauzeerd. Er zijn dan geen nieuwe uitgiftes, betalingen of automatische leveringen. Inzage, registratie van meetfeiten en annulering van aanvragen buiten een uitvoeringsbatch blijven mogelijk. Voor een batch gelden de bovenstaande bewijsvoorwaarden voor vrijgave. Hervatten vereist afhandeling van alle blokkerende incidenten door de bevoegde rollen. Het publieke bericht vermeldt de systeemstatus, niet de betrokken personen.

B is een verhouding, geen groen keurmerk. Energie kan verloren gaan en levering heeft tijd en vermogen nodig. Wie eerder werkelijk geleverd krijgt, kan daardoor minder risico lopen dan wie wacht. Deze kern belooft geen bankrunvrijheid en geen gegarandeerde waarde van één kWh per claim.

6. Privacy, bevoegdheden en één uitvoering ​

Houders zien hun eigen saldo, boekingen en aanvragen. Individuele saldi, betalingen, leveringspatronen en wachtrijposities zijn niet openbaar. De onafhankelijke auditor kan de volledigheid controleren onder afgesproken toegang en bewaartermijnen. De operationele rol kan niet namens een lid betalen; een gewone rekeninghouder kan geen meterfeit of auditcorrectie aanleveren. Sleutelbeheer, herstel van toegang en gegevensbescherming moeten vóór echte deelname zijn uitgewerkt en getoetst.

Publiek zijn de kernregels, actuele systeemstatus en periodieke auditverklaringen. Er is in deze eerste versie geen eis om exacte levende reserve-, rekening- of wachtrijreeksen openbaar te maken. Leden krijgen via beveiligde inzage de actuele koers en hun eigen aanvraaggegevens. Ook die inzage vraagt vóór inzet een toets op afleidbaarheid van andermans gegevens; leden zijn niet automatisch vertrouwde waarnemers.

Er komt één rekenkern die deze boekingen uitvoert. De API, tests en simulator gebruiken die kern. Geen aparte financiële formules in een publiekswidget. De nieuwe simulator gebruikt dezelfde lokale rekenkern. De Python-referentie, oude simulator en oudere TypeScript-core horen bij het historische ontwerp. De oude sim blijft apart beschikbaar.

De volgende bouwstap begint pas met sluitende tests voor behoud van claims, dubbelaanbieding, afronding, gelijktijdige aanvragen, werkelijk reserveverlies, gedeeltelijke levering, opslagfouten en incidentgebonden herstel. Deze kernspec is het ontwerp voor die stap, niet de verklaring dat die stap al af is.

Historisch ontwerp v0.18 · Aparte federatiespec

Reacties op dit hoofdstuk

Breek het hier af, op de plek waar het hoort: onder het hoofdstuk dat het raakt. Anoniem mag. Draait op onze eigen server, zonder tracking.

CBER · Een open ontwerp van Bart Overkamp, Elon de Boer & Robin Genis.
Privacy · Begin