LOGBOOK

HELP

1 / 23
Other keys: showSpace: good1-4: rate0: skip5: flag

Question

Why does building on a blockchain call for its own design patterns, and how are they grouped?

Answer

Because a blockchain is a shared, immutable, self-contained data-and-compute layer with real limits (no privacy, low throughput, no reach outside itself), so architects need reusable solutions — grouped into interaction-with-the-external-world, data-management, security, and contract-structural patterns.

Radial hub taxonomy of 15 blockchain patterns grouped into four families — interaction with the external world, data management, security, and contract structural — each family node listing its patterns.

* The pattern collection at a glance — 15 patterns in 4 families. *

A design pattern is a reusable solution to a problem that recurs in a given context. Blockchain has unusual properties — every node keeps a full replica, stored data can't be revised, code runs without a central operator — and matching limitations: poor privacy, poor performance, and a sealed execution environment. Naively bolting an app onto a chain fights those properties. The collection organises fifteen patterns into four families:

Category What its patterns handle
Interaction with the external world Getting real-world data and legal meaning in and out of a sealed chain
Data management What data lives on-chain vs off-chain, and how it's protected
Security Authorising actions and treating recent history as final
Contract structural Structuring smart-contract code for upgradeability and control

The point is anti-hype engineering: use the chain's strengths, work around its limits.

Go deeper:

or press any other key

Question

What is the single architectural decision that shapes almost every blockchain application, and why is it forced?

Answer

Deciding what data and executable code stays on-chain versus off-chain — forced because a smart contract is a pure function that cannot read anything outside the chain, and because on-chain storage and computation are scarce and expensive.

A smart contract is code deployed on the chain that runs when a transaction triggers it and records its result in shared state. By design these are pure functions: they can only see data already on the chain and cannot reach out to a web API, a sensor, or a database. On top of that, every participant stores a full replica, so on-chain storage is limited and (on public chains) costs real money, and throughput is low. So for every piece of an application you must choose:

  • On-chain — trustless, immutable, publicly verifiable, but scarce, slow, and public.
  • Off-chain — cheap, fast, private, but not covered by the chain's guarantees.

Two forces dominate the choice: performance (heavily dependent on the deployment type) and privacy. Most of the pattern collection exists to bridge this on-chain/off-chain gap cleanly.

Go deeper:

  • doc Smart contract (Wikipedia) — how contract code executes deterministically on-chain, and why it is sealed off from external state and I/O.
or press any other key