Caveats

  • Dust Transactions

    It has become common for some users of a blockchain-based system to send very low quantities of blockchain tokens (often called “dust”) to addresses for a variety of reasons. Depending on how your information system is designed, large quantities of these very small transactions could cause a Denial of Service attack if your system performs significant amounts of processing on all incoming transactions. Alternatively, accounting inconsistencies can result from ignoring these small transactions. Those who design or implement blockchain-based systems should keep these two competing tradeoffs in mind when deciding how the system should carry out the business rules it was designed to perform.

  • Blockchain Reorgs

    When multiple blocks are found at approximately the same time, it is possible for the blockchain to have multiple tips/heads. Since this is not common with flat files and databases, most programmers that are new to blockchains will write applications that only look at one tip/head of the blockchain and ignore the others. It is possible for these applications to become “confused” when the tip of a blockchain is “orphaned” or removed during a reorganization (“Reorg”) of the blockchain. This can cause transactions that were previously confirmed to become unconfirmed which can lead to unexpected behaviour unless your information system has been built to explicitly handle blockchain reorgs. This behaviour can lead to a loss of funds if not handled appropriately. All information systems that deal with blockchains should be able to handle reorgs in a way that is consistent with the business requirements that govern it.