Decisions made at an early stage can have tremendous repercussions later. The choice of algorithms, architecture, type of blockchain, programming environment, data structure – the list goes on. One cannot afford the luxury of mistakes.

There are numerous architectural nuances when it comes to blockchain implementation. Here are a few.
- Proof of Work vs Proof of Stake, and hybrid designs
- Consensus protocols
- Permissioned or permissionless
Closely tied to the chosen architecture of the blockchain, a cryptotoken or cryptocurrency (depending on your viewpoint) can have various features to meet the overall design goals.
Blockchains can be built to communicate, or a type of “middleware” can be created to effect communications, and even transfer of tokens between them. This is called Cross Chain capability.
A Distributed Application executes in close conjunction with its home blockchain, and is built using a computer script or language. The constraints of the script and the blockchain must be taken into account.