The blockchain in accounting

In this article

Blockchain is a technology that serves to protect data of the accounting journal, in order to warrant for the integrity and authenticity of the information over time.

Banana Accounting was the first accounting software in the world in 2002, to employ this technology. In 2008, the virtual currency Bitcoin adopted the same approach to ensure the integrity of the distributed ledger. Bitcoin has proven, that thanks to the blockchain, financial values can be protected from counterfeiting, even if they are contained in archives available on the internet. Until that moment, it was generally believed that the only way to keep data securely, was to place them in inaccessible areas.

Today everyone understands that thanks to the blockchain, information can be preserved in a simple and secure way.

How the blockchain works

The blockchain (chain of blocks) is a security system that allows you to protect and safeguard the integrity of the content of a growing collection of data. This will be the typical situation for the accounting ledger, where it is necessary to protect the records already entered as well as offering the possibility to add new ones.

For computers, data is a sequence of numbers. The term digital derives from the English "digit" which stands for numerical figure. Thanks to algorithms, developed for cryptographic purposes, it is possible to calculate a very, very, very large number (“hash”) for any sequence of data, which identifies the content unambiguously. If the content changes, the number will also change. If the content remains the identical, repeating the calculation operation will always result in the same number. Since the number is gigantic, it is practically impossible that two sequences of different data will result in an equal number.

Algorithms used to create a digital seal are the same used for the digital signature of documents, and contain features that prevent counterfeiting. The algorithms for calculating digital seals are very complex. Program developers generally use special libraries, edited by cryptography specialists.

From a logical point of view, the functioning of the blockchain is quite simple. A digital seal is calculated for each element of the chain, including in the calculation the seal of the previous operation in addition to the record data. In this way, the seals will form a chain and, as a result, the seal of the last movement will also be the seal of the entire chain. If the content of the collection does not change, the seals are recalculated, the last one will be reached which is the same as the one calculated previously. If any element is changed, the seal will produce a different result. To ascertain whether a chain is intact, the seals are recalculated back down to the last element and compared with the original seal. If they are identical, the chain is intact. A company can prove that the accounting data have not altered by keeping copies of the seals. An auditor is able to authenticate that there have not been any actual changes.

However, the advantage of the blockchain, is equally that of being able to add records without affecting previous seals. When a new record is added, the new seal is calculated and this will become the new seal of the entire chain. Previous seals, such as for a quarterly closure, will remain the same. The calculation of a new seal is very fast, because you only need the data of the operation and the seal of the previous operation. To verify the integrity of the entire chain instead, all the seals must be recalculated starting from the first movement. Computers are however able to perform these calculations very rapidly.

Banana Accounting Blockchain

With Banana Accounting, the user is able to work freely by modifying the data at will. As a rule, those who keep the accounts work by period, enter the transaction of a month, reconcile the movements with those of the bank. When everything is in order, use the command to lock the movements. This is where blockchain technology is used. The program calculates the seal for each operation and displays it in the “Lock Progressive” column, which, if not empty, will signal that the movement can no longer be changed.

The seal of the first transaction is calculated only on the transaction data. Starting from the second entry, the program will include the seal of the previous row in the calculation, in addition to the data of the row. The seal contained in the "Lock progressive" column will therefore be the seal of all movements, from the beginning up to that row.

Banana Accounting Blockchain

Before calculating the seal, the program assigns its own progressive number to each row, so even if the records are placed in a different sequence, it will still be possible to recalculate the seals. In several countries, accounting regulations require accounting operations to be numbered progressively, therefore the numbering of the rows allows the program to comply with legal requirements.

The progressive seal system guarantees the integrity of the entire data collection. The below screen capture shows the effects of changes to the data collection. In row 3 the figure of the amount has been changed, from 3 to 4. As you can see, the seal of row 2 and the following ones are different.
Banana Accounting Blockchain Modified

Please also note that the seals are entirely different. The unpredictability of the result is a property of these algorithms, specifically intended to prevent counterfeiting of the seal via reconstructing the original data starting from the seal (property of unidirectionality).

The Bitcoin Blockchain

Banana Accounting introduced this technology in 2002.

The virtual currency Bitcoin was born In 2008 and at it's base is an accounting system that records the creation of money and transfers it from one owner to another in a ledger. Satoshi Nakamoto, the elusive pseudonym inventor of Bitcoin, used the same approach of concatenating the seals to ensure the integrity of the ledger, whilst at the same time allowing for new records to be added.

The Bitcoin system transfers operations and adds them to the ledger in chunks. Each block is identified by it's own seal (which in Bitcoin terminology is called Hash), and is then calculated, based on its content. The block also contains the reference to the seal of the previous block, so the seal of each block (except for the first) is a progressive seal as in Banana Accounting. In this way the blocks are linked together . In his document, Nakamoto used the term "chain of blocks" which then gave rise to the term Blockchain, commonly used to characterize this technology.

In Bitcoin, the blocks are not numbered, but starting from the last one, the chain and position of each block in the sequence can be reconstructed, which in the terminology of Bitcoin is called Height.

The following screen capture shows how the blocks in the Bitcoin ledger are structured, with each containing the seal of the previous block.

Bitcoin journal structure

The block contains a complex structure, based on Merkle Trees, designed to ensure data integrity and allow for a quick search of transactions. This data structure allows you to quickly recalculate the seal and to verify that the data is intact.

As you can see from the screen capture above, the seals of each block begin with multiple zeros. This is because the Bitcoin block seal does not only serve to ensure data integrity. In Bitcoin, the transactions contained in the ledger are proof that the money belongs to an owner. To prevent the valuables ​​from being moved without due authorization, adding ledger blocks is subject to complex procedures. Bitcoin allows you to add blocks only if the seal begins with a certain number of zeros. In the Bitcoin system, the addition of blocks is entrusted to computerized record keeping services, who are called Miners in Bitcoin jargon. These collect and verify the transfer orders. They then create a block, successive to the last one, where they indicate the address to which the reward is to be provided and with the seal that has the required number of leading zeros. The first to succeed, will see their block added and receive the reward. However, a block that contains a number, the "nonce" that bears the seal with the required number of zeros in addition to the transactions, must first established. Billions and billions of combinations are tried out. This requires very powerful computers and a lot of energy. If blocks with invalid operations are proposed, these will obviously be discarded. This management system, which pays notaries, who invest additional work (proof of work) leads to the exclusion of dishonest Miners and is the reason why the values ​​held by the Bitcoin ledger are considered to be safe.

The organizational aspects of data retention

From the brief description of how the addition of a Bitcoin transaction is organized, it is clear that any system can only work if it is managed by honest operators. The blockchain is a technology that allows you to verify the integrity and authenticity of a data collection. The data will be considered authentic if the calculated and original seals match. This presupposes that the original seals are authentic. If they are not, the possibility of counterfeiting them exists and there will also be a possibility to modify the data, without there being the possibility of noticing it.

However, the blockchain greatly facilitates the setting up of an effective organization, but is not a guarantee on its own that the data is intact and authentic. In the Bitcoin system, the data of the ledger is available online and anyone's data can be edited by anybody. However, each node in the network can understand if their data is authentic via exchanging the seal of the last block. The verification operation is simple and fast and therefore each node can consult multiple participants. The fact that the ledger is kept in multiple places and that it's authenticity is easy to verify, makes it difficult to counterfeit the ledger. Blockchain technology is the prerequisite, but the success of the Bitcoin system is largely to be attributed to the organization which guarantees, through a special software, the correct functioning and the correct incentives to guarantee the management of the system by honest participants.

Use of the blockchain in accounting

The blockchain is a very useful tool for managing data collection, such as accounting. However, the technology must be supported by an adequate organization of the original seals. The focus should not be on technology here, but on practical issues.

Whatever the type of use, the organization must be appropriate to the structure, size and people involved in the company. The approach used by a Bank will be different to that of a small business.

To ensure the authenticity of the accounting data in small businesses, it will be sufficient to the operator to periodically make note of the digital seals of the last operation, after checking the accounting and blocking it.

To safeguard the seals, simple precautions are necessary:

  • The accountant prints out or emails the last seal to others.
  • The auditor notes in his documents the seal relating to the data he has verified.
  • An organization that has multiple accountings, takes note of the seals when consolidating the data.

Risks involved in using the blockchain

In 2002, when users started employing this technology, they asked us to add a command to unlock data. At first analysis, it seemed problematic to offer this possibility, but after examining the subject in depth, it became clear that the responsibility lies clearly with those who manage the database and it belongs to them to comprehend how to act. The user could easily circumvent the protection anyway by creating a copy of the archive, before blocking the records, or recreate a new accounting file and copy and paste data. However, these procedures were time consuming and resulted in no longer using the functionality in an effective manner.

Listening to the stories of the users, it became evident that there were situations, which required adjustments. For example, during tax compliance, when it was noted that there were incorrect entries. Proceeding via reversals was a possibility, but made the understanding of the accounting even more difficult.

It was thus decided to make the Unlock function available. From the experience of many years it has been found that this does not reduce safety, but allows you to use the system in an intelligent way and to appropriate to your situation.

On the other hand, in the digital world, operations leave many traces. The idea that security can be guaranteed by preventing the accounting data from being changed is a wrong approach.

The danger of the blockchain is to make organizations even less flexible. The success of Bitcoin is an important lesson to avoid this drift. The system is completely open and offers great flexibility, in fact everyone can send movements, be they valid or counterfeit. It is at the level of checks that the operations are segregated.

The same must be achieved in accounting. It is the responsibility of the database manager to verify transactions, discard invalid ones and ensure the high quality of data. Accounts full of reversals and adjustments are difficult to read.

With Banana Accounting, this approach has proven to be very valid. Users enjoy a great deal of flexibility, they can enter data, check, reconcile them and when they are sure that the data is correct, they proceed to block them.

Applications that implement the blockchain should therefore pay attention that the use of the system does not lead to render organizations rigid and to run data full of corrections as well as difficult to use and have a clear understanding of the processes and trends of companies.


Share this article: Twitter | Facebook | LinkedIn | Email