Stamped (at the zero address) or
Burned (to the zero address)
This means that every identity credential will be permanently fixed to the known node wallet. This non-
transferability provides a wallet-bound authorization mechanism within the tested prototype, while broader
regulatory compliance and protection against credential or key compromise require additional governance and
identity-assurance controls. The security model assumes that the owner is a trusted onboarding authority
responsible for verifying participant identities and issuing role-specific credentials. The SBT prevents credential
transfer between wallet addresses, but it does not prevent private-key compromise, key sharing, fraudulent
credential issuance, or misuse of a compromised authorized wallet. Credential revocation, replacement after
wallet compromise, and governance procedures for a compromised owner are therefore deployment
requirements beyond the current prototype.
2.3.2 Frontend application (client layer)
The client app is built using Next.js 14, which is based on TypeScript and Tailwind CSS to ensure efficient user
interaction. Web3.js is adopted as the main channel of communication between the client-side browser and the
EVM. Next, the js will provide a prompt to the browser-injected MetaMask provider when a participant activates
something (e.g., moving a medicine to the Manufacture stage). The transaction payload is cryptographically
signed with the participant using their personal key and broadcast to the EVM consensus layer such that the
Next.js server will never have any data about important key contents.
2.4 Data acquisition and state transformation
The data provided by a supply chain participant are verified by role-based verification first when they present
input data to the system. The physical lifecycle of a medicine is followed by six consecutive states, namely, Init
(Ordered), RawMaterialSupply, Manufacture, Distribution, Retail, and Sold. In carrying out a state change, the
smart contract authenticates the address of the $msg.sender of the address to the internationally registered SBT
index. As an example, calling the $Manufacturing(_medicineID): functionality places the burden on the contract
to decode the manCtr (Manufacturer Counter) mapping to identify the calling unique identity of the counter. It
is only when the cryptographic validation is successful that the ledger writes the new state of the item.
2.5 Off-chain cryptographic compression (vbulk minting)
Paralyzing computational costs would be triggered by the inherent limits of the block size and gas limits of
Ethereum-based networks by mapping thousands of individual blister packs on-chain natively.
Consequently,
the adoption of the vBulk Minting algorithm is presented.
The stage-by-stage implementation of this
mechanism is shown in Fig. 2, which implies the use of local off-chain hashing arrays that are then sent to
network finality after compression. Rather than sending 10,000 strings to the ledger, the Next.js client is able to
receive the input set. The front end applies the Keccak-256 hash function to each product identifier to generate
the 256-bit leaf nodes.
After the leaf nodes are acquired, the Merkletreejs library builds a binary tree. Nodes are concatenated and
hashed such that the neighboring node until only one 32-byte root string, the Merkle root, appears
change
,,
provide
Merkletreejs
whereas