Blackbox Devlog #10: prepaid card and tap-to-pay support added
Prepaid card support:
- A tap reads the card’s balance and counter, checks whether the sale is allowed, writes the new balance back, and signs the result; no server, no live transaction
- The terminal holds a debit key that can spend down a card but cannot create value; issuing and loading stay in the Vault, which holds the on-chain reserve behind each card
- Settlement is a separate, later act: the terminal journals every completed tap and batches them to the Vault when it can; until then it runs on an unsettled cap, bounding the worst case of a terminal that never phones home
- Currently a demo tier running on cheap NTAG cards with a custom MAC rather than the DESFire EV3 secure element the shipping card will use; disabled by default behind a compile-time flag
Handling failed taps:
- Every debit is written to a journal as an intent before the card is touched, removed only once the card write is confirmed; a card pulled mid-write, a power loss, a reader glitch each land in a state the terminal can name and recover from
- A write known not to have landed charges nothing; a write whose outcome is unknown parks until the same card is tapped again, resolving to exactly one charge or none
- Cards were yanked mid-write deliberately five times at the bench; the ledger came out with five charges, no doubles, no losses
- A sale cancelled at the instant of card write raises a flag the cashier must acknowledge, and the same card is refused a second tap until they do; the guard is held until cleared, not on a timer
Vouchers and staff keys:
- Item vouchers put a product rather than a balance on a tag, each backed by a chain cell that closes automatically once settlement lands
- Staff keys use the cryptographic originality signature NXP puts on genuine NTAG silicon; a price override requires a staff tag. The demo cards turned out to be counterfeit and cannot produce this signature, which is precisely why staff authorisation uses it
Bug: UI freeze under concurrent flash writes:
- The confirmation screen began freezing hard after a successful card debit followed immediately by a settlement sync
- Cause: an SPI flash write on the ESP32-S3 briefly stalls the other CPU core; the journal task was unpinned, so it ran on the core opposite the UI, dropping the UI’s clock tick mid-sleep
- Fix: pin flash-writing tasks to the same core as the UI, so the stall lands on the networking core; seventeen hours of uptime and a full bench run with no recurrence. The same latent bug was found and fixed in the Bitcoin header path before it surfaced
Also:
Add Item form now has a Scan barcode button that arms the scanner in place and drops the code into the field, keeping name and price already typed
Space bar on the Add Item keyboard was hidden under the footer bar; fixed
Next: watchdog for a genuinely wedged terminal, certificate pinning so settlement cannot be spoofed on a hostile network, on-device voucher and staff key support, and the DESFire secure-element card once stock arrives.
Full devlog: https://t.co/6KKOMVEcxD
Hello fellow CKB builders
I just shared a post on the CKB Forum about FiberNuts Community Market, a testnet app for Cashu on Fiber.
The post explains the project, what I'm building, and how it connects Cashu with Fiber Network.
link to project below👇
Hey everyone, I’ve shared an update on FiberNuts Community Market, which is now open for public testing on CKB Testnet.
Forum update: https://t.co/lVCCvPFh2P
Demo: https://t.co/jUs2JPuU3H
Check it out and drop a feedback. Thanks.
Another reason to avoid relying on an ever-growing list of cryptographic precompiles is that each one embeds a cryptographic operation in the protocol’s consensus rules.
Introducing a new signature scheme this way requires the network to reach social consensus around a fork.
There is a consistent direction in Vitalik’s proposals, from exploring RISC-V as a replacement for the EVM to now advocating “EIP-8288 maximalism”: give Ethereum room to support new cryptography without continually expanding the protocol.
EIP-8288 would open a path to supporting different signature schemes without a dedicated precompile for each. Signature verification would be proven off-chain, and those proofs aggregated for the chain to check, reducing the associated data and verification costs.
The broader idea is one we've discussed extensively: blockchains are for verification, not computation. Vitalik is reframing the "world computer" along precisely these lines: "any data/computation that does not need to be in the 'main thread' of data/execution should not be put into the main thread."
This is the reasoning CKB was built around from the beginning. Its accounting model (the Cell model, which is a generalized version of the UTXO model) separates off-chain state generation from on-chain verification.
CKB also launched without cryptographic precompiles. Signature verification runs as ordinary software on its RISC-V VM, so developers can introduce new schemes as Lock Scripts and users can adopt them without waiting for a protocol upgrade. That's how an audited post-quantum lock, SPHINCS+, is already live on mainnet.
The idea is simple: keep the base layer simple and stable while giving the cryptography and applications built on it room to evolve.
It's the essence of crypto-agility, and it's becoming more appreciated amid the looming threat of cryptographically relevant quantum computers and AI.
The CKB community is growing from strength to strength. Q3 saw more community developer participation than ever before, a hackathon, a ton of dev meetups, and so much more!
Read more about it here:
https://t.co/bdILQaNL21
1999. ELON MUSK GETS HIS FIRST MILLIONS AND A $1M SUPERCAR... BUT HIS BIGGEST FEAR THAT DAY WASN'T LOSING THE MONEY
7am. a truck stops outside a small apartment and a 27-year-old Musk watches a McLaren F1 roll off the back
"there are 62 McLarens in the world and i will own one of them"
"it's a million dollars for a car. it's decadent"
he'd just sold Zip2 to Compaq for ~$307M. his cut: ~$22M
then he says the line that tells you who he is:
"just 3 years ago i was showering at the Y and sleeping on the office floor"
his fiancée Justine is standing right next to him. a new millionaire with a new supercar. and this is what he's worried about:
"my fear is that we become spoiled brats. that we lose a sense of appreciation and perspective"
he knew exactly what the money could buy:
"i could go and buy one of the islands in the bahamas and turn it into my personal fiefdom"
"i'm much more interested in trying to build and create a new company"
and he meant it. he put "the great majority" of his net worth into https://t.co/ZQ6M6yThnU, an online bank almost nobody believed in
his own words:
"it's sort of like a series of poker games"
"i haven't gone and taken my winnings... i've just put almost all of it back into the new game"
https://t.co/ZQ6M6yThnU became paypal. paypal turned into ~$180M. the $180M went into spacex and tesla. you know the rest
and the car? a year later, Peter Thiel in the passenger seat, on the way to pitch Sequoia. Musk floors it. the F1 spins and goes airborne. no insurance. both walk away
napkin math:
the toy: $1M in 1999. F1s now sell for $20M+. ~20x
the chips he pushed back on the table: ~$22M. today: hundreds of billions. four more zeros
the island: still just an island
the only time he ever cashed out, he bought a car. everything else went back into the game
26 years later the richest man alive sleeps in an airstream. the 27-year-old who was scared of becoming a spoiled brat never let it happen