Skip to content
Let’s talk

Blockchain or a database? Start with who needs to trust the record

Before asking which chain to use, ask who needs to agree on the record, who can change it and what should happen when someone makes a mistake.

Describe the trust problem in a sentence

If one business owns the application and is responsible for correcting its records, a conventional database may already match the operating model. A shared ledger deserves consideration when independently controlled participants need a common way to verify particular state changes.

Write down the participants before drawing the architecture. Who submits a change? Who accepts it? Who can dispute it? If every decision still depends on the same operator, putting a token in the interface has not necessarily removed that dependency.

Use an invoice as a concrete comparison

Invo.tax is organised around a familiar business moment: describe a job, review a draft and approve what happens next. That workflow helps expose the questions an architecture must answer. What counts as approval? Can a draft change? How does the interface explain the difference between preparing and sending?

This is a comparison drawn from our product work. It is not a blockchain implementation claim. The same review questions remain useful whether the final record lives in a business application, a shared database or a carefully scoped contract.

Invo.tax invoice-folder artwork used to illustrate business-record workflow decisions
Invo.tax invoice-folder artwork used to illustrate business-record workflow decisions

A smart contract still needs an authority model

Ethereum describes smart contracts as programs deployed to the network. OpenZeppelin’s access-control documentation then makes a crucial product issue concrete: privileged operations need an explicit owner or role model. Open-source components can reduce the amount of custom code, but choosing a library is not the same as proving the whole system behaves correctly.

For a proposed blockchain product, document administrative powers in language users can understand. Who can change parameters? What happens if a key is lost? Does an upgrade require one person or several? The answers belong in the product brief and the review process, not only in a contract file.

Design the waiting and recovery states

A person should be able to distinguish a prepared request from a submitted transaction and a confirmed result. Give the interface meaningful states and a way to inspect what happened. Repeated taps should not silently turn one intention into several submissions.

During discovery, demonstrate these states with a test environment and clearly labelled sample data. Include interruption, rejection and retry scenarios. Keep private business content out of a public-ledger proposal unless its exposure has been deliberately assessed and accepted.

Choose the smallest architecture that earns its place

A useful first milestone might be a conventional prototype, a test-network proof of one shared-state transition or an explicit decision not to use a chain. Define what evidence would change the decision. That keeps blockchain consulting tied to a business outcome rather than a predetermined stack.

Apprika’s blockchain service page describes the engagement surface. Our Invo.tax case study supplies the adjacent product context. Neither should be read as evidence of an unlisted production smart-contract deployment.

From the studio.

Invo.tax

Invo.tax’s draft-and-approve invoice workflow makes a useful comparison for record ownership and permissions. This article is an architecture discussion, not a claim that Invo.tax uses blockchain or that Apprika has shipped the example contracts.

Sources & further reading

Primary documentation informs the technical context. The product recommendations and comparisons are our editorial analysis.

Back to the news

What are you building?

A new product, a better workflow, a next chapter. Tell us where you want to go.

Let’s talk