Today we reached an interesting milestone with MyZubster.
Not because we deployed another feature.
Because we tested the system with something that actually happened in the physical world.
A kefir culture was handed from one person to another.
MyZubster then tracked the process through an authenticated marketplace workflow:
ACCEPTED
↓
HANDED_OVER
↓
RECEIVED
↓
RECORDED
The donor confirmed the physical handover.
The recipient independently confirmed that the culture had been received.
Finally, the completed exchange was recorded by MyZubster.
No payment was involved.
method: HAND_DELIVERY
paymentRequired: false
state: RECORDED
This may look like a small experiment, but it raises a much bigger engineering question:
How do you connect events in the physical world with verifiable digital evidence without pretending that software can prove more than it actually knows?
That distinction is becoming an important principle in MyZubster.
RECORDED does not mean blockchain.
It means MyZubster has digitally recorded the completed workflow.
So the system explicitly reports:
onchainRecorded: false
We are now building the next layer.
For a completed handover, MyZubster can prepare a canonical commitment containing only the information required to represent the event:
{
"schema": "myzubster.marketplace-handover.v1",
"handoverId": "...",
"listingId": "...",
"method": "HAND_DELIVERY",
"state": "RECORDED",
"handedOverAt": "...",
"receivedAt": "...",
"recordedAt": "..."
}
The donor and recipient identities are deliberately excluded from the blockchain commitment payload.
The canonical representation is hashed using:
SHA-256
Conceptually:
Real-world event
↓
Authenticated confirmations
↓
MyZubster record
↓
Canonical payload
↓
SHA-256
↓
commitmentHash
↓
Blockchain anchor
But there is another important boundary.
Generating a hash is not the same thing as anchoring something on a blockchain.
MyZubster will only consider a handover on-chain when there is actual blockchain evidence such as:
network
txId
commitmentHash
confirmedAt
Until those exist and the transaction is confirmed:
onchainRecorded = false
No imaginary transaction hashes.
No fake blockchain state.
No “decentralized” label added to a MongoDB record.
The blockchain should prove one narrow thing:
a particular cryptographic commitment existed and was anchored at a verifiable point in the blockchain history.
It does not prove that kefir is safe.
It does not prove what happened physically.
It does not magically validate the knowledge attached to the exchange.
Those claims require their own evidence.
For me, this is where MyZubster is becoming more interesting.
We're not starting with blockchain and looking for something to put on it.
We're starting with real human activity, capturing its evidence boundaries, and only then deciding what is meaningful to anchor cryptographically.
The experiment started with something extremely ordinary:
giving someone kefir.
And that ordinary event is helping us design a much more general protocol:
Share
↓
Transfer
↓
Confirm
↓
Record
↓
Commit
↓
Verify
The blockchain part is next.
But only when there's a real transaction to prove it.
Top comments (0)