DEV Community

Daniel Ioni
Daniel Ioni

Posted on

We Anchored a Real Knowledge Transfer on Base Sepolia — Here’s How MyZubster Did It

We Anchored a Real Knowledge Transfer on Base Sepolia — Here’s How MyZubster Did It

Today we moved one of the MyZubster pilot experiments from an idea about “verifiable knowledge” to something concrete, inspectable, and reproducible.

The goal was simple:

Can we document a real technical collaboration between two people, connect it to the actual work produced on GitHub, and create a public blockchain timestamp/integrity proof without pretending that the blockchain proves learning, authorship, or scientific truth?

We used the ongoing Nicola / N4K48 MyZubster pilot as the real-world case.

The result is now live, public, and independently verifiable.

The starting point: real work, not a synthetic demo

Nicola has been building his own public MyZubster MVP:

Repository

https://github.com/nicolaususnicola-lgtm/myzubster-mvp

Live pilot

https://myzubster-mvp.onrender.com/

Comics API

https://myzubster-mvp.onrender.com/api/comics

During our collaboration on September 18, Nicola's repository advanced significantly.

The work included:

economic provenance primitives;
persistent ledger storage;
revenue and asset APIs;
derived participant balances;
source-specific revenue accounting;
asset and revenue history;
UTC audit timestamps;
MYZ ledger views;
Balance / My Assets / Revenue interfaces;
revenue simulation;
project documentation.

Instead of simply saying “we transferred knowledge”, we wanted to connect that statement to something externally inspectable.

GitHub gave us that evidence layer.

Step 1: freezing the GitHub evidence

We identified the public development window for the collaboration.

The snapshot covers:

Base commit:
8da7435ddc1b9ae8b2f5c2eea5debd2df4bc5f47

Head commit:
b9ac4e8801d65b84ef882baf78fa09ce5b6b5059

That interval contains 30 commits.

The changed material includes files such as:

README.md
ROADMAP.md
docker-compose.yml
index.html
persistence_helper.py
src/api/server.py
src/core/economics.py
tests/test_ai_api.py
tests/test_economics.py

That is important.

We are not anchoring a vague statement like:

“Daniel taught Nicola something.”

We are anchoring a manifest that points to a specific, reproducible public development snapshot.

Step 2: creating a canonical knowledge-transfer manifest

We introduced a new evidence schema:

myzubster.knowledge-transfer.v1

The transfer ID is:

KNOWLEDGE-N4K48-2026-09-18-001

The manifest contains things like:

source public identity;
recipient public identity;
repository;
base commit;
head commit;
commit count;
changed files;
knowledge scope;
evidence boundaries;
intended blockchain network.

The source side is recorded as:

Daniel / H4X0R

The recipient is:

Nicola / N4K48

The recipient's explicit attestation is deliberately kept separate.

At the moment of anchoring it was:

PENDING

That separation matters.

A blockchain transaction should not silently turn one person's assertion into another person's consent.

Step 3: canonicalization and SHA-256

Before anchoring anything, the manifest is canonicalized.

For our v1 format we:

recursively sort object keys;
preserve array order;
serialize as compact JSON;
encode as UTF-8;
calculate SHA-256.

The resulting commitment is:

39ab3a177734b5e3e254657cfe6015100644bcda2fb008cf2561d000669b9e14

The blockchain payload is:

MZ-KNOWLEDGE-V1:39ab3a177734b5e3e254657cfe6015100644bcda2fb008cf2561d000669b9e14

Only this commitment needs to go on-chain.

The full knowledge, source code, documentation, or private communication does not need to be placed on a blockchain.

That is a much cleaner model.

Step 4: anchoring it on Base Sepolia

We chose Base Sepolia for this pilot.

Network: Base Sepolia
Chain ID: 84532
Transaction value: 0 ETH

The transaction was successfully confirmed:

Transaction:
0xff3c108275625673ad22a886da2df7120ae81b8f0106ec833613513b03c7bc31

Block:

47000958

Confirmed at:

2026-09-18T22:23:24.000Z

BaseScan:

https://sepolia.basescan.org/tx/0xff3c108275625673ad22a886da2df7120ae81b8f0106ec833613513b03c7bc31

We hit an interesting MetaMask problem

The first implementation attempted to send a zero-value transaction back to the same wallet with calldata.

MetaMask rejected it with:

External transactions to internal accounts cannot include data

So we changed the design.

Instead of sending the zero-value transaction to the originating account, the page targeted a fixed evidence sink:

0x000000000000000000000000000000000000dEaD

with:

value = 0 ETH

and the knowledge commitment in calldata.

No funds are transferred.

Only testnet gas is consumed.

Then MetaMask made it more interesting

After confirmation, our first independent verifier reported a mismatch.

The transaction existed.

The chain was correct.

The receipt succeeded.

The value was zero.

But the top-level destination and calldata did not look like what we had submitted.

Why?

Because MetaMask had executed the transaction using a delegated smart-account flow.

The transaction was type 4, and the payload was wrapped inside a delegated call rather than appearing directly as the top-level transaction calldata.

So we improved the verifier.

Instead of simply checking:

tx.to === evidenceSink
tx.data === expectedPayload

it now recognizes and decodes:

redeemDelegations(...)

and inspects the nested execution.

Inside that delegated transaction we verified:

target = 0x000000000000000000000000000000000000dEaD

value = 0

calldata =
MZ-KNOWLEDGE-V1:
39ab3a177734b5e3e254657cfe6015100644bcda2fb008cf2561d000669b9e14

The result became:

MATCH

This is exactly the kind of thing that makes real pilots useful.

A simple happy-path demo would never have exposed this integration detail.

Step 5: independent verification

We added a public MyZubster verifier.

You can inspect the result here:

https://www.myzubster.com/api/knowledge-anchor/n4k48/0xff3c108275625673ad22a886da2df7120ae81b8f0106ec833613513b03c7bc31

The current result is:

success: true
status: MATCH

The verifier checks:

Base Sepolia chain ID ✅
Successful transaction receipt ✅
Zero top-level ETH value ✅
Delegated execution recognized ✅
Evidence sink target ✅
Nested value = 0 ✅
Exact knowledge commitment ✅
Execution mode ✅

We also published a human-readable verification page:

https://www.myzubster.com/knowledge-anchor-n4k48

What the blockchain actually proves

This distinction is critical.

The confirmed transaction provides evidence that this exact commitment existed no later than the blockchain confirmation time.

Later, anyone can take the canonical manifest, recompute the SHA-256 hash, and compare it with the value committed on-chain.

So the anchor gives us evidence about:

integrity
+
existence
+
timestamp

It does not automatically prove:

who invented every idea
who legally owns the knowledge
that Nicola learned or mastered it
that every statement is scientifically correct
that the software has commercial value
that a human interaction happened exactly as described

Blockchain is an evidence layer.

It is not an oracle of truth.

The final missing piece: Nicola's attestation

There is still one important step.

Nicola should now make an explicit statement from his own GitHub account confirming that the record corresponds to knowledge, guidance, and collaboration he actually received and used.

We deliberately did not modify the original anchored manifest after confirmation.

Changing that file would produce a new hash.

Instead, Nicola can create a separate record such as:

knowledge/N4K48-ATTESTATION-KNOWLEDGE-2026-09-18.md

and commit something like:

I, Nicola / N4K48, confirm that the record
KNOWLEDGE-N4K48-2026-09-18-001 corresponds to
technical knowledge, guidance and collaboration I
received and used during the MyZubster/N4K48 work
of 18 September 2026.

I acknowledge the anchored commitment:

39ab3a177734b5e3e254657cfe6015100644bcda2fb008cf2561d000669b9e14

I confirm this statement through this GitHub commit.

That gives us two independent human sides:

source assertion
+
recipient acknowledgement

rather than pretending the blockchain replaces either one.

The full evidence chain

We now have this:

Daniel / H4X0R

technical knowledge + collaboration

Nicola / N4K48 development

public GitHub history

canonical knowledge manifest

SHA-256

Base Sepolia

confirmed transaction

delegated MetaMask execution decoded

independent verifier

MATCH

Nicola recipient attestation

The last step is currently pending Nicola's confirmation.

Why this matters for MyZubster

MyZubster is experimenting with a broader idea:

Knowledge should be shareable, reproducible, attributable, and verifiable without forcing all knowledge itself onto a blockchain.

Git can preserve the actual evolution of technical work.

Cryptographic hashes can commit to a precise state.

Blockchain can provide a public timestamp/integrity anchor.

Human attestations can preserve consent and attribution.

Research and peer review can remain separate layers.

That means we can keep different concepts separate:

knowledge ≠ blockchain transaction

blockchain evidence ≠ scientific validation

GitHub commit ≠ proof of authorship of every idea

recipient acknowledgement ≠ proof of mastery

MYZ accounting ≠ blockchain token

Those boundaries are not limitations.

They are what make the evidence meaningful.

Public links

Nicola / N4K48 MVP

https://myzubster-mvp.onrender.com/

Nicola repository

https://github.com/nicolaususnicola-lgtm/myzubster-mvp

Knowledge anchor

https://www.myzubster.com/knowledge-anchor-n4k48

Independent verifier

https://www.myzubster.com/api/knowledge-anchor/n4k48/0xff3c108275625673ad22a886da2df7120ae81b8f0106ec833613513b03c7bc31

BaseScan

https://sepolia.basescan.org/tx/0xff3c108275625673ad22a886da2df7120ae81b8f0106ec833613513b03c7bc31

MyZubster Core

https://github.com/MyZubster-Ecosystem/myzubster

What comes next

The immediate next step is Nicola's explicit GitHub attestation.

After that, we can experiment with:

recipient-signed acknowledgements;
multiple knowledge contributors;
reproduction evidence;
versioned knowledge updates;
independent reviewers;
research validation;
linking verified knowledge contributions to MyZubster's internal MYZ accounting system without confusing MYZ with cryptocurrency.

This pilot started from something very ordinary:

two people working together on software.

What we added was a way to make the resulting knowledge trail inspectable:

human collaboration → Git history → cryptographic commitment → blockchain timestamp → independent verification.

That is a much more interesting use of blockchain than simply putting another token on-chain.

Top comments (0)