Banana Accounting introduced blockchain in 2002. It was the first commercial software in the world to use this technology, even before it was called by this name. The blockchain has an important function, because it protects the data from changes and ensures software meets the legal requirements for storing accounting data. The introduction of blockchain enabled data protection and security to reach a much higher standard than previous technologies. Bitcoin is a clear example, which thanks to the online journal using blockchain protection is considered more secure than the data stored in expensive and super-protected IT systems. Today it is clear that blockchain will become a central element of the digital world and be used in all contexts where it is essential to guarantee the integrity of values and digital information.
There is a lot of interest in the blockchain, yet the subject remains complex for various reasons. It is difficult to grasp exactly what it is and how to use it. First of all the fact that there are different definitions and all rather broad. The term is used to indicate a set of technologies, all different from each other and with very different purposes. Another obstacle is cultural, since blockchain's reference point is not the current paper world, but the future, and completely digital one. A change of perspective is necessary. However, this entails a knowledge of the different aspects and a full immersion in the potential uses of blockchain.
In this document I shall outline a more precise definition of blockchain. I would like to make it clear that the essence of blockchain and its revolutionary potential lies in the possibility of relying on digital content regardless of where the data is located. Valuable information, such as holding Bitcoin, or shares in a company or a house, can be stored not just on paper, but also in electronic format.
Blockchain is one of the pieces of digital transformation, a technology whose effectiveness depends on how it is used. I will therefore also try to list the various technical, legal, organizational and accounting aspects. These elements offer an overview, which also serve to better understand the individual aspects. Blockchain learning is a process that requires different iterations. Therefore, we recommend an initial first reading, aimed at reaching an idea of the whole, with a subsequent review to better understand the individual elements.
The birth of blockchain
First I will outline the birth of Banana Accounting blockchain. Knowing the context, the motivations and aims for which it was developed will help to better understand its functioning and understand why blockchain will become a central element of the digital world.
Blockchain has been integrated into Banana Accounting since 2002. Banana Accounting is an accounting application based on ready-to-use spreadsheets, preset, very simple to use and programmed for accounting.
Banana Accounting has become the accounting software preferred by small companies, associations and individuals in Switzerland. It is completely customisable and this has allowed it to be used in over 120 countries. Banana is also highly regarded in the teaching of accounting teaching. You can easily practice accounting, set up the accounts charts and add the records.
The main feature of Banana Accounting is the ease of use, provided by the typical ability of spreadsheets to freely, edit, delete, copy, move and paste data.
However, the possibility of changing records is in contrast with the accounting requirements that do not provide for any change in the data. The blockchain is the system that allowed Banana Accounting to evolve and meet regulations.
Until 2002, in Switzerland, the statutory regulations prescribed that all accounting should be archived on paper or microfilm. The staff responsible for IT accounting had to print everything. For large organizations especially, this system was no longer adequate. In the late 90's, the Swiss government had prepared and put in consultation new regulations that would allow to any accounting to be stored digitally, yet also prescribed a whole series of norms. The accounting programs had to meet the new standards, and the government provided sufficient time, until May 2002, to let companies adapt new IT systems.
For over twenty years, I have been developing software for professional purposes. Ten years beforehand, I created the first version of Banana Accounting and since then my main activity has been programming. However, I also trained as an accountant and hold a degree in jurisprudence. I was interested in the changing laws, and they provided a stimulus to develop a secure alternative, aware of the digital revolution and valid across different nations. One that would not lose an immediacy of use and make accounting more difficult. Banana Accounting, like Excel, did not work on secure databases, so the approach used by other software was not sufficiently secure. However, the certification systems used for documents based on file hashes (see explanation in the specific chapter) were not applicable either because the accounting journal continued expanding. There were also some nations that foresaw the progressive numbering of the journal's records and the holding of a progressive balance. I started working on possible solutions, yet finding a solution that could meet all the various needs and was intuitively understandable for accountants was not easy. It took several years and a multiplicity of iterations, before the idea of certifying with a hash every single movement and resuming this same hash in calculating the hash of the future records was finally made concrete. With this system each operation was concatenated crypto-graphically with the previous one. The hash of a recording was also the hash of the entire journal from the start to the operation itself. This approach seemed to me to guarantee maximum data protection and could meet legal requirements. Yet this was a personal opinion and necessary to ensure whether the specialists would also have agreed. I got in touch with specialists from a major auditing company, and as a company, we asked them to check if this new system complied with the regulations. The whole concept and operation had to be well documented (see internal document from 2001/2002), but at the end of 2002, the system was certified to comply with the regulations for storing accounting data in Switzerland and Germany. On March 21, 2002, we filed a patent application in the US (US Patent No. 7,020,640) named "Method for certifying data containing a sequence of transactions". A few months later, in June 2002, in time for implementation of new norms, we introduced a Banana Accounting update that included blockchain's functionality.
The system worked very well and met the legal requirements, but I soon realized that it was not fully understood; sometimes even being viewed with suspicion by auditors and accountants. Cryptography and hash functions were completely unknown subjects outside the closed circle of computer specialists. Accounting software continued to use passwords to protect data. There was no need to improve these systems, also because most of the accounting data were on servers that were considered sufficiently protected.
It was the introduction of Bitcoin to make blockchain technology better known to the whole world and provide inspiration for its name. For many, this was a revelation. Thanks to the blockchain, operations saved in the Bitcoin journal and freely available on the network, were considered safer than the bank's accounting ones, stored across separate environments and protected by a multitude of security systems. This innovation made many people understand that they were dealing with something very powerful. Blockchain is now considered so secure that Bitcoin has now become a regular payment system, as well as an interesting means of investment.
Blockchain has now captured the world's attention and stimulated a myriad of new ideas, possible applications and even investments.
Definition of blockchain
To understand blockchain, understand what it is and know what it does. Currently there are very broad definitions. Here I outline a more focused, specific description based on the central aspect of blockchain: to guarantee data integrity.
"Blockchain is a certification system to ensure the integrity of expanding data collections."
This definition emphasizes the functional and legal aspects of the blockchain's "data integrity certification". The blockchain is a system that uses digital seals (hash) technology to verify that the information held in the collection has remained unchanged. Each data block of the collection is provided with its own digital seal (hash); this seal is also the entire data collection's certificate, from the start up to that point. The blockchain seals allow to verify the integrity of the data archive or part of it. You can be sure of the content's authenticity, regardless of where the records are being held.
The other important feature of blockchain technology is being applied to "growing data". blockchain allows adding elements to the records, without invalidating the previous seals. Data collections can grow. Inside the data collections you can keep important information with the certainty that the contents remain intact even when new information is added.
This technology provides the possibility of relying on digital information, regardless of where they are. Data collections can be transmitted, stored on different computers, with the certainty that the data remains intact. With blockchain data collections are able to store important information, which certify holding a certain sum in Bitcoin or ownership of a house, with the certainty that the data can not be manipulated or falsified.
Blockchain is also an indirect data protection system, as it provides the possibility of easily understanding if there have been changes. You can set up regular checks that discourage and render completely unsuccessful any attempts to alter the data.
There are currently different definitions for blockchain, which describe it as a data structure formed by blocks crypto-graphically bound between each other. The one used on the English Wikipedia page is "A blockchain, originally block chain, is a growing list of records, called blocks, which are linked using cryptography". Other definitions refer to the distributed nature of journals, such as that of Investopedia "A blockchain is a digitized, decentralized, public ledger of all cryptocurrency transactions.".
These definitions, focused on the data structure, are abandoned in favour of the definition given above, which focuses on the ensuring data integrity. Defining the blockchain no longer only in computer terms, but also in legal terms, is an indispensable step to understand the technology's value and is also the prerequisite for using blockchain effectively.
Origin of the term blockchain
The term blockchain derives its origin from the description of the Bitcoin journal's data structure created by Bitcoin's inventor, and known by the name of Satoshi Nakamoto. In the October 2008 document on Bitcoin, the journal with the movements was described as a set of concatenated (block) block transactions (chained) to each other cryptographically. The image below is a graphical description of the block chain.
Each block has an identifier that is the hash (digital seal) calculated on the block's contents. The content also holds the identifier of the previous block. The blocks are therefore concatenated to one another, so the hash of a block depends on the content of the previous one, which in turn depends on the previous one and so on back to the start. The hash of a block is so also the hash of the entire collection of data and certifies the entire collection's integrity. If any content in a block changes, the hash also changes. The reference contained in the next block is no longer valid and the chain is interrupted. If the chain is correct, it means that the contents are intact.
The blockchain assumes that there is a certain data sequence. In Bitcoin, the sequence is guaranteed by saving the identifier of the previous block in the next block. To rebuild the data structure and verify the correctness, we start from the last block. There are other ways to guarantee the sequence. In the accounting journal, such as that of Banana Accounting, each movement has its own progressive number. You cross the records by starting from the first transaction. In Banana Accounting the seal of a movement is also calculated by taking into account the seal of the previous line. The result is the same, in that a cryptic chain is created. In the case of Banana Accounting the identifier of the data block is the number of the row, the seal serves the function of certification. This tabular data structure, typical of accounting journals, where each transaction has its own seal, is easier to understand and use.
Blockchain and digital transformation
For millennia, material tools have been used for writing, such as stalks, tablets, metals, papyri, parchments and paper. When writing on paper, the contents are physically imprinted on the media and become a very part of it. The alteration of the content also involves modification of the support tool. To make falsification more difficult, signatures, seals or other measures that make the document unique were used- People confirm the acceptance of a contract by affixing their signatures on the sheet on which it was written. To ensure that the content is not lost or altered, the document must be protected. It is customary when a contract is signed that everyone receives a copy. The signature on a contract also certifies that the parties have read and accepted the content. Everyone must then keep their document, so that, in the event of a dispute, they have proof of the agreements made. Every company or private individual has an archive in which a copy of the various documents are kept. In many cases, an archive of the documents is mandatory and must be organized according to certain rules. The goal is to ensure that paper documents are protected against loss and alteration; protecting the document also protects its contents.
For millennia, much of the information that defines people's lives has been guarded in this way. The ownership of a home, birth, marriage, the adoption of a law, a court's verdict, the lease and the purchase of a car are held on paper documents. To ensure the integrity of this important information, the first thing is to keep the documents so that they are not tampered with. The typical example of a value document is banknotes. Every person, firm or body holds various documents. Archiving systems are supplemented by laws that prescribe holding records and protect them against counterfeiting. Without this content and the possibility of guaranteeing its integrity and authenticity, all economic and legal system would collapse.
With the advent of computers and digitization, this whole system undergoes a revolution. In the digital world, information is no longer stably impressed on a medium, but is stored as electronic impulses inside a device. The advantage of these systems is that the same information can be infinitely duplicated. Billions of people can see the same video on their mobile phones at the same time, because the digital content is copied from one computer to another; the same content can then reach different recipients. The other big difference is that textual content, audio or video is stored in an electronic form that can not be read by the naked eye; for access you need electronic devices. The concept of the original also disappears, because we type keys to write that generate impulses, and after a complex series of operations, we see the writing appear on a screen.
With the digital transformation, the millennial ways of saving and accessing information are distorted. In order for our economic and legal system to remain in place, it is necessary to have data certification systems that allow us to understand if the data is kept intact and original. The blockchain allows us to rely on electronic documents in the same way that we relied on signed paper documents.
All documents (marriage certificate, verdicts, contracts, banknotes, ...) are essentially statements of facts with a legal relevance. Even in the digital world people continue to marry, to turn to the courts, to enter into contracts and make payments, and the authenticity and integrity of these attestations of these facts must continue to be guaranteed. Certification of digital contents, both from a technical and legal point of view, is therefore a pillar of our society and our economy. Blockchain, as a tool able to guarantee the authenticity and integrity of valuable information, will therefore assume a central role in the new digital age.
The distinctive elements of the digital transformation are the following:
- the information is stored as electrical impulses. The contents are not embedded in a medium, but can be deleted and overwritten;
- the information is not accessible directly using human senses. We need equipment that reads, interprets and transforms information so that it is usable by our senses (screens, printers, speakers);
- the concept of the original vanishes: the copy is no longer distinguishable from the original.
The table below summarizes the main changes that also have important legal consequences.
Incorporated in the support
Detached from the support
Access to information
Directly by reading
Using equipment that makes the content visible
Approval of the content
Certification of the content
Reference to people
Signatures and stamps on the support
Detached from the support
Verification of authenticity
Archives, collections and paper records
Database and file systems
Storage of documents
Organizational methods acquired
Still to be organized
Transmission of the original content
Physical transmission of the document
Copy of data
Bearer title (banknote)
By law, right incorporated in the document
Hash and digital seals
Data certification is based on hash computing technology. An operation which covers several algorithms. The hash calculation functions are programs that combine the contents of a data set to create a small text, called hash, or hash sum, which is a sort of digital fingerprint. The hash function can be compared to a distillation process whose purpose is to obtain a small drop. The obtained drop, the hash sum, will always be exactly the same if the starting data is the same and will be different if changed.
For more detailed information, refer to the page Wikipedia hash function page. Hash algorithms are programs developed by experts in the field of cryptography, and are available as open source. I think most programmers, like me, use hash functions without understanding the full details of their implementation, but assured that they work according to specifications.
There are several algorithms with different characteristics and purposes. Those used are generally relatively few. Banana Accounting and Bitcoin use the SHA-256 hashing algorithm, which produces a 256-bit hash. It starts from any content and the output is always a value with a length of 256, which is then converted into a text to be readable. Here we see the hash calculated on a single character.
Seal / Hash SHA-256 in hexadecimal
For the certification of data we must use very special hash algorithms. These hashes are called digital seals, as they have very specific characteristics:
- they must be able to process a sequence of data of any length;
- they must produce a summary of fixed length, generally 256, 512 or 1024 bits;
- starting from the same content, the same hash is always obtained; a different content produces a different hash;
- starting from hash it must be technically impossible to reconstruct the content of the original data (unidirectional);
- it must be technically impossible to find different contents that produce the same seal (resistance to collisions);
- the sequence of characters generated is unpredictable and can not be associated with the starting data;
even a slight change in content produces a significantly different seal.
The characteristic of the hashes used as digital seals is being able to uniquely identify the data set that was used for its calculation. This means that the seal is also the specific "nameplate" of the data sequence and without the possibility that there is a sequence of different data with the same number. If the data is the same you will always have the same seal, if they are different the seal will also be different. Digital seals are therefore certificates of data authenticity.
To check the validity of the seals the seal is calculated again starting from the same data with the same algorithm and the result with the original seal is compared. If the seals are the same, the contents are the same; if the seals are different, the contents are different. By sending someone a document, thanks to the seal you can verify that the content received is the same as the one sent. The seal is a very small data entity, and thus easy to store and send. Furthermore, the seal does not allow reconstructing the origin of the data. The seal can be passed on to third parties without the danger of the latter being aware of the contents. Digital seals are therefore very effective for certifying data. In fact, they can be memorized and exchanged easily without even needing to expose contents.
The important feature is that any malicious attacker can not create a different data sequence, which produces the same seal.
The digital seal has the following characteristics:
- The seal is a very small data entity, and thus easy to store and send;
- it is not possible to reconstruct the origin of the data (unidirectional);
- it can be recalculated with the same algorithm starting from the original data;
- it can be easily exchanged and sent to third parties without exposing the original contents.
To verify its validity, the seal is calculated again starting from the same data and using the same algorithm. The seal obtained must therefore correspond to the original one.
Through the recalculation of the seals you can therefore certify that:
- the contents are the same in case the seals match;
- the contents are different if the seals are different.
If the seal matches, whoever receives a document, can be sure that the document received is the same as the one sent.
Here, however, it is necessary to enter into a very technical subject, which is not immediately easy to grasp. The reliability of the seal depends on the impossibility of generating an equal hash starting from different data. The set of starting data is larger than that of the hash, so there are certainly data combinations that can produce the same seal. In technical terms these are called collisions. There is never full certainty that an algorithm guarantees data integrity. When outlining the impossibility of finding collisions, this actually means the algorithm used must make it practically impossible to find them, as the operation requires hundreds of years of calculations on a super-powerful computer. The technique is in constant advance and old hashes may become vulnerable. Methods that were considered safe ten years ago, are now no longer considered so. The Swiss statutory regulations prescribe the use of technically reliable systems. The Collision Algorithms are considered weak and unsuitable for creating legally valid digital seals.
Even the digital signature is based on digital seal technology. To calculate the digital signature, a digital seal of the content is first calculated; this is later combined with a private key. The digital signature is therefore a digital seal, linked to the content, which in addition is the operation of the person holding the private key.
Seals and simple digital signatures are used to certify that the file contents remain the same. They are not suitable for data collections whose contents must change, such as when new accounting records are added. In said cases, blockchain as a progressive digital seal, must be used.
Blockchain – digital seals for data collections
The blockchain is a progressive seal, calculated on the current data block and on the previous block's seal. Blockchain therefore allows to certify the contents of growing data collections. This technique can be applied to any data collection, and the implementation changes depending on the type of data structure. Below we outline the operation for tabular data structures and that of Bitcoin journals.
Blockchain in a tabular data structure
In Banana Accounting, digital seals are applied to accounting lines. Each movement is considered a block of data. The seal of each line is calculated by also including the seal of the previous record. Each seal then becomes the seal of the entire data collection up to that point. You can add new records without invalidating the previous seals.
The first part of the "Original Record" image displays the original table with three record lines. The progressive seal (blockchain), indicated in the LockProgr column, is calculated as follows:
- the digital seal (hash) of the first line is calculated considering the records data;
- starting from the second registration the seal is calculated by also including the previous records seal;
The seal of each line is also the seal of the entire collection of lines up to that point. If you add lines, the previous seals remain intact.
In the part of the image indicated as "Modified Registry" you can see what happens by changing the content's records:
- in row 2, the amount is 40.00 instead of 30.00
- the digital seals of row 2 and for subsequent ones are different.
In Banana Accounting, the data structure exists independently of the blockchain and the seals can be added and removed without damaging the data structure.
Blockchain in Bitcoin
With the Bitcoin system, the transfer orders are collected by miners, grouped and added in blocks to the journal with an average frequency of every ten minutes. Each block has an identifier that is the seal (hash) calculated on the block's content, within which there is also the previous block's identifier. The block's seal is also calculated on the previous seal, so it becomes a progressive seal, which serves to verify all the data integrity from the beginning up to and including the block itself.
Below is a very brief outline of how the Bitcoin journal is structured.
The blocks form a cryptic chain, which will only be valid if the contents are the same. If a block is changed, the hash will also be different. The next block will be disconnected from the previous one and the cryptographic chain is thus interrupted. The existence of the chain is proof of the data being intact.
In the Bitcoin system the seal is calculated when the data block is composed, so the blockchain is part of the data structure. If the content changes, the block identifier and all the identifiers of subsequent blocks also changes. In the Bitcoin journal, the blockchain can not be removed, because the block would lose the identifier as well as the sequence. In Bitcoin the succession of blocks is rebuilt starting from the last, and then the previous one and again the previous, down to the very first block. This system is not very people friendly, so each block is also identified with the progressive block number, starting from the first which is indicated by a zero. In the Bitcoin system the sequence number is called height.
The Bitcoin system requires that the block's seals has to start with a certain number of zeros. When calculating a hash it is very rare that this results in many initial zeros. To obtain the seal with the desired number of zeros, a number (nonce) thus must be added to the content, which in combination with the other data will give the seal with the number of necessary leading zeros. Since the seal can not be constructed starting from the seal, the seal must be calculated. It calculates the hash with the nonce to zero and then repeats the operation increasing the nonce by one, until the seal that has the required number of zeros is found. It requires billions and billions of attempts and very powerful computers to calculate the seal with the number of zeros required in a short time.
Bitcoin is an open system where everyone can send transfer orders (transactions). There are legit operations, but obviously there are also attempts to spend the same money more than once. The miners have the task of verifying the transactions, and therefore perform a notary function. They are the ones preparing the transaction blocks for adding to the journal. They collect transfer orders (transactions) and check they are correct, that the digital signature is valid and that they are effectively in possession of the funds. Assemble the verified transactions in a block, and also add an operation with which the miner self-assigns the expected compensation. They must then complete the block by calculating the seal with the required number of zeros. The fastest miner/notary is the one with the greatest chance to see their own block added to the Bitcoin journal and become the rightful holder of sum. Therefore, the calculation of the seal is a system that puts the notaries/miners in competition in order to work well and transparently. They have to calculate the seal very quickly. Only those with great work/calculation capacity (proof of work) can compete.
The system tends towards an average of 10 minutes to complete a block. If the average is lowered within two weeks, Bitcoin's management software makes the job even more difficult, by increasing the number of initial zeroes required. The seals of the first blocks of the Bitcoin journal had 8 initial zeros, and now requires 18. There is a need for considerable computing capacity, which requires large investments in computers and energy. Notaries are encouraged to work well, because if they make mistakes or cheat, their block will be discarded and all the work done up to then becomes useless.
Once the nonce has been assigned, the block's hash calculation take place normally and quickly. Even verification of the data integrity is simple because one has to simply recalculate the hash of different blocks. The fact that the seal must start with a certain number of zeros requires a very high number of attempts to calculate it. This particularity of the seal that starts with zeros makes the procedure of generating the seal more complex and difficult to understand. The calculation system used in Banana Accounting is more linear and the operation easier to understand.
Despite these differences in calculation, the blockchain of Bitcoin and Banana Accounting still serves the same purpose, which is to have a sequence of data, certified with seals and the integrity of which can then be verified.
The verification of integrity and authenticity in the blockchain
When creating the blockchain, the progressive seals are applied to the data collection. To verify the integrity and authenticity, compare the original seals with the calculated ones. The problem that arises is knowing that the seals are really the original ones. If the holder of the seals is also the data holder, they can modify the contents, recalculate the seals and replace the originals. There will therefore be no way to understand if there have been any changes to the data. The verification of authenticity is therefore a question of management. The authentic term derives from the Greek term authenteo, which means to have authority. The etymology shows clearly that whomever has control over the original seals is the one then able to determine if the data is authentic or not. The advantage of the blockchain is that with a single seal you can verify the authenticity of a collection that can contain an innumerable quantity of blocks. The extreme simplicity with which it is possible to ascertain that a data structure is intact has been exploited by Bitcoin in order to make all the Bitcoin network nodes maintain the authenticity of the data themselves. The Bitcoin protocol allows the different network nodes to exchange seals and therefore easily and quickly verify the authenticity of the contents with a variety of subjects. Without the blockchain this verification would have requested the exchange of the data with each interlocutor and therefore it would be impractical to keep a distributed journal.
This was certainly one of the most innovative aspects of the Bitcoin system. The decentralization of the journal also serves to guarantee the authenticity of the same. The Bitcoin system is a dense network where each node is also the custodian who is the guarantor of authenticity. Those who want to falsify the journal must be able to simultaneously change the journal of most nodes of the Bitcoin system. This operation, which is considered impossible today, guarantees the security of distributed data. The Bitcoin system is also used as a digital notary, simply execute a transaction by inserting in the description the information you want to keep and this will be securely stored.
Banana Accounting is a single user accounting system. Each accounting is independent and the task of guaranteeing the authenticity of the data, in the times and the manner compatible with national regulations, is left to the user. Banana provides the ability to print and export the certification data so that it can be stored in such a way as to prove the integrity of the same. The modalities with which we must present the proof may vary, some states provide journal printouts, while others require that a summary justification be printed for each operation, hence the choice to leave maximum flexibility and the possibility for people to adapt.
Blockchain preserves valuable information
Blockchain is a certification system that makes it possible to verify the data has not been modified after the event. The context of use is that which collects valuable contents that must be kept and remain unchanged. This entails a data structure similar to an event log, such as an accounting journal or a database change log. However, blockchain can be applied independently of the data retention technology used, so it can certify sequential structures (log), relational database (SQL), document-type databases (JSON) and distributed or centralized databases.
The system is not designed for static information, or for applications that modify data directly, such as a directory where the program replaces the value in the customer record. However, it could be applied to the event log of a database or to a No-SQL database, where when a change occurs a new version of the document is created.
The definition of the blockchain as a certification system does not presuppose a particular data structure. In Banana Accounting the seals are added as additional information to the existing data. In the journal of Bitcoin instead the seal becomes an integral part of the data structure, it works as an identifier of the block and as a connection to the previous one. However, from a process point of view, the two applications are very similar, because they both distinguish between a data collection and verification phase and a certification one. In Bitcoin, the miners who prepare the blocks are also responsible for verifying the authenticity of the transactions, the availability of funds and formal compliance. The transactions that do not have the necessary requirements are discarded. In the Bitcoin system each miner holds two separate collections, that of current orders and the Bitcoin journal with orders executed. Only the correct operations can be part of the journal. If you send Bitcoins to a wrong recipient or someone steals your credentials, there is no way to revert the situation. You need a transfer order, which is the reverse from those who received the funds.
In Banana Accounting, control and verification are the responsibility of the accounting officer, who can change data freely, until they decide to apply the certification command. Since the seal has been applied to the data, any errors must be corrected with additional transfer or correction operations.
The blockchain can enhance any system, the important thing is that it is used wisely and that the application of certification is functional to the application. The blockchain certification system is part of what is generally the collection and storage of data. This consists of several phases and actors. In Bitcoin each block is equipped with a time-stamp. Although not strictly precise, there is a clear temporal reference. There are no legal obligations to be met and the functioning and value of Bitcoin depends on the trust that people have in the system.
Phases in the Bitcoin system
Carried out by
Creation of information
Holders of assets
Sending transfer orders
Collection and verification of contents
Pre-selection of orders
Application of certificates
Creation of blocks and seals
Adding to the collection
Every node in the network
Addition to your journal according to the rules of consent distributed
Storing of data and seals
Every node in the network
Local copy of all data
Guarantee the authenticity of the data
Every node in the network
Multiple verification on other nodes of the network
In Banana Accounting there is only one journal, the Records table, with all movements, those in progress, without seals, and those to be considered definitive that are equipped with seals. The accounting officer or their direct superior decides the definitive passage by issuing the command that applies the seals.
Phases in Banana Accounting
Carried out by
Addition and correction
Freely adding movements
Data verification and certification
User / Supervisor
Command Block movements
Storing of data and seals
User / Supervisor
Obligation to keep copies
Guarantee the authenticity of the data
User / Supervisor / External
Storage seals for proving the originality of the data
Use of the blockchain in Banana Accounting
The blockchain was developed to prevent changes to registrations in order to meet the requirements of official accounting. The methods were designed to allow this technology to be used without specialist technical knowledge. In Banana Accounting the movements can be changed freely. However, the user can give the Block movements command: from this moment the movements are protected, they can not be changed anymore and are also equipped with digital seals, with the possibility of making sure that the data is the original one. If the accounting file is replaced by another one, with even slightly different data, the seals would be different. If the seals are the same, you can be sure that the data has not been changed. The blockchain based security system is much more secure than password-based information protection systems.
Banana Accounting is an interesting example of how the blockchain certification system can be added to an existing application and enables it to make a leap forward in terms of safety and reliability, without giving up the ease and immediacy of use. The following explains how the certification is implemented and organized in Banana Accounting.
In Banana Accounting the journal is only one and there are two types of recordings, the ones with the blockchain seals, which are locked, and the free ones, which are being processed and can be modified.
Keeping accounting records is a rather complex task for which information needs to be gathered, inserted and catalogued correctly. There are often mistakes and omissions, which are discovered only at the end of the period, when the bank reconciliations are made, the budget is analyzed and VAT reports are prepared. The prerequisite for doing these checks is that operations are entered in the accounting so that you can see the results, make budget printouts and anything else necessary. The records must obviously correspond to the justifications, and if there are any transcription or categorization errors these must be correct.
In Banana Accounting there are two ways to correct errors:
- operations that have not yet been sealed with a seal can be changed directly, as is done with a spreadsheet;
- operations using blockchain must instead be corrected with additional transfer and amendment operations.
Blockchain in Banana Accounting was conceived as a service made available and completely controlled by the user. There is no automatic application of seals. The user has the maximum freedom to enter, modify the movements exactly as if they were working with Excel. This means accounts can always be kept up-to-date and the various reports consulted and compared with those of the bank. When everything is deemed in order, usually at the end of a period and concurrently with the presentation of specific accounts, the command to block the movements is issued. The user is presented with a dialog box in which to indicate the new block date of the recordings to be blocked, for example on 31st January.
At this point Banana Accounting proceeds to apply the seals to each operation, and indicates them in the BlockProgram column.
For all records that are not locked and up to the indicated block date, the program proceeds as follows:
- verify that there are no errors in the movements; if errors are found, (for example if the account is not correct) the blocking procedure is interrupted. The user must correct the error and the blocking command reissued;
- assigns a progressive number that is saved along with the data in the row. When the next period is blocked, the numbering starts again from the last one;
- calculates the operation seal (progressive hash) by combining the registration data with the seal of the previous record.
The program also prevents changes to records with seals and entries of records with a date lower than that of the block. In practice, not only are the records blocked, but also the period. If they are blocked until January, you can only enter records starting from February.
The program displays a report of the block, which indicates the progressive number of the last blocked record and the relative seal. This seal is also the certificate of all accounting movements from the first registration forward, hence of all the accounting up to this point.
The program offers a seals verification function, which checks that the seal sequence is correct. This function is called automatically even when the accounting control command is issued, and if the data has been manipulated, bypassing the software security, this is notified as an error.
Storing the seals
Accounting is subject to regulations. The certification of data is generally performed to ensure and guarantee compliance with regulations, which provide time for adding movements, and subsequently the unaltered integrity of the movements. The blockchain is a system that, from a technical point of view, meets the legal requirements. The certificate indicates the system date in which the block command was issued, but this value has no legal status. It is up to the user to save this data so as to be able to demonstrate the moment when the seals have been applied. One possible way is to print the report and affix your signature to it.
Seals are usually applied when data needs to be submitted to the tax authority. When the blockchain becomes a requirement the tax authorities request to be submitted, along with the various data, including information related to the seal. In this way, the sending of data will also serve as certification of accounting data.
Removal of the blockchain
Banana Accounting also provides a command for removing the block. If you reason using old security concepts, this command could be considered a violation of security. Instead, we need to think about the fact that the central issue is no longer preventing modification of the data, but to have a system that enables proving the authenticity of the seals. In fact, bypassing the block to the movements is very simple; you simply need to keep a copy of the accounting file before the block. At any time you can return to the archive without seals. Furthermore, there are situations where it is perfectly legal to remove the seal, for example internal use of the same or when there is still time to present the reports. However, since the accounting is definitive and the seals are kept safe, any correction must be made with transfer and amendment operations.
Values saved in digital format
The banknote is a typical example of a value embedded in a paper document. In order to maintain its value, the banknote must be carefully kept, but this is not enough. If someone were able to produce identical copies, the original banknotes would lose their value. To preserve the value we need a series of elements and a complex organization. In the case of banknotes, they must feature systems that make it difficult to forge them. Furthermore, an apparatus that intervenes in case of falsification must also be present. Therefore, criminal legislation and by authorities that pursue those who produce and circulate false values are necessary. Banknotes being stolen or lost must be avoided, so it is necessary to have safe-keeping and transfer systems. The higher the values, the more prone they are to attract criminal intentions. If you have a lot of money, people prefer placing them in the bank. If a distant supplier is to be paid, intermediaries are used, which without moving the money physically ensure that the value is transferred.
Said documents are statements of facts that constitute a value. The purchase contract attests that a person has become the owner of an object. Receipts attest that we are the owners of purchased items, that we have a right of guarantee and we have paid sales taxes.
With digital transformation, the information that attests the value will be in electronic form. These data must therefore be kept in such a way that the value is preserved. The blockchain is the technical element that allows you to know if the data are intact, but to ensure its authenticity a management system is needed to store and safeguard data and make it reach the right places and intervene in case of counterfeiting attempts. The managed aspect, which is played by computers or by people, remains a key aspect for safeguarding digital values.
The premise of the Bitcoin system functioning is open source software that allows the management and connects the different nodes. If this software contains errors or flaws, the value of Bitcoins is called into question. The management and maintenance of software is therefore central and critical; a flaw in the programming could allow criminals to take possession of the belongings. Blockchain is the tool that allows the creation of systems that preserve digital values, but these can develop and exist only in combination with a valid management. Recently, information technologies have made great progress and are generally able to handle different kinds of digital values and allow them to be generated, transmitted, sold and canceled safely and with maximum reliability. From an organizational point of view it is still in the early stages and it will still take some time before a recognized culture and methodologies are developed for safekeeping values saved in digital format.
Legal and cultural aspects of the blockchain
My degree thesis in law, written in 1986, had electronic commerce and data protection as the main topic. At that time the services on offer was limited to accessing specialized databases. The theme was new, with scarce literature on the subject matter, but the great potential for development was obviously intuited. One of the questions we asked ourselves was whether e-commerce would require changes to the existing legal system. It was clear that new methods of use and types of contracts would emerge, but I had come to the conclusion that the different contracts, in their legal substance, would remain substantially unchanged. So it came to be, the information revolution developed quickly and took hold in every area of society, thanks to the fact that existing laws and legal concepts were in good stead and would require very limited adaptations.
I believe the same can be said for the blockchain, as a tool to ensure the integrity and authenticity of the data. The adoption of this technology can proceed on the basis of existing regulations and with very timely changes without overturning the legal system. Generally, certificates and digital signatures are already foreseen by all national regulations. The blockchain data certification system can therefore already be used in most areas. The premise for recognition by administrative and judicial authorities is that digital seals are calculated with technologies that obviously prevent their falsification. Therefore, only algorithms without flaws can be used.
This question arises more than anything else in organizational and cultural terms. Blockchain, like other technologies, is being adopted without fully knowing what the implications and consequences are. Then there is a part of the world that is forward thinking whilst others have not fully realized the changes in progress. For example, the abolition of cash is still being carried out as a system to fight crime and tax evasion, ignoring the fact that organized crime has been most active in using Bitcoin and other digital coins as a tool for moving and recycling large sums. In this regard, it is noted that the criminal, civil and reputational consequences relating to the use of new payment systems based on public journals, made indelible by the blockchain, are still unrecognized. The legal system is very slow, and it will probably take years before crimes perpetrated using Bitcoin come to light. People may find that they have been recipients or owners of funds linked to criminal activities. Unsuccessful investors or miners, who make up the blocks and actually allow operations to be carried out, may lose their assets or be called into question for money laundering or even complicity in crimes. I assume that some law firms will specialize in analyzing journals and finding ways to initiate lawsuits. From this point of view, the great advantage of the blockchain, which is to create an indivisible chain, could become also the Achilles' heel able to bring the entire system down.
Data retention with the blockchain
The most important contents, even today are still held on paper. All in all, information technology is a relatively recent phenomenon, and the preservation of digital information still follows the methods used for paper documents, whose main objective is protection of the medium itself Accounting applications are considered sufficiently secure if they feature ways to restrict access or have tracking systems enabled. Data are electrical impulses that can be modified without leaving a trace. Technical defects, programming errors or people who abuse or bypass protection systems can change information and also prevent any traces of change. Blockchain allows you to check if the data held is original. Blockchain makes data much more reliable. Both those protected by security systems and those without protection. Blockchain can work with any form of data collection. The Bitcoin system has shown the world that a journal available on the internet, equipped with blockchain, is more reliable than a journal only protected by measures typical of traditional computer systems.
Blockchain is also indirectly a system of data protection, because the fact of being able to quickly and easily understand if the contents have been modified, is a deterrent to any alteration attempts. Should you find that the data has been changed, you can retrieve copies of the data and check with the blockchain that they are the original ones. This principle is also the basis for operating the Bitcoin system. In fact, if a node finds an error in the data, it asks the other nodes to send the correct data.
Data retention is moving to the cloud, where data is exposed to a whole host of dangers to their integrity that did not exist in traditional closed environments. Without a data certification system there is no way to be sure that our data saved on the cloud has not changed. Introducing the blockchain in existing applications is rather simple. This way you could rely on data while information systems could become much safer. Current laws are open to the use of the blockchain as a data certification system. Unfortunately, the blockchain is not yet known by people, such as auditors, who could benefit most from this technology. A large part of the expensive checks to verify data integrity would become superfluous. It is very likely that in a while the certification of the data through the blockchain becomes the norm in the accounting field, but we must make sure that it is used in such a way as to be useful to companies without becoming a complication.
We need specific training at all levels on data certification systems and how to best use them for the benefit of businesses. What's more, an open keeping of control methods is required. In many areas, the concept of certification and the relative methods of use are not yet known. However, the widespread use of data certification systems is only a matter of time.
The blockchain in distributed applications
Bitcoin is an accounting system based on a distributed journal. Blockchain is the element that allows you to manage a distributed database, as the seals allow you to easily verify the integrity and authenticity of the data. Blockchain is therefore the prerequisite for a distributed application development. There is great interest in creating applications where data is managed in a distributed way or where users have their own copy of the data. The advantages of this approach are considerable, but applications need to be redesigned.
Yet, Bitcoin is also very different from the usual accounting systems, because it is based on distributed consent. There is no central authority deciding which transactions to add, but each node in the Bitcoin network decides, based on predefined rules, which transaction blocks are to be added to the journal. Over time, a consensus is formed about which blocks are correct. The purpose of the blockchain is to ensure data integrity. However, In the Bitcoin system, calculation of the seal is made very costly because it is also used to make the distributed consent system reliable. This technical choice creates a lot of confusion because it tends to make believe that the blockchain must go hand in hand with distributed consent. Yet, this not correct as the blockchain is in fact independent of the fact that the system of adding data is based on centralized or distributed consent. There may be distributed systems that use centralized consent or a distributed consent not based on blockchain calculations.
On passing inter-mediation
The use of paper documents has favored the growth of brokerage services. The difficulty and risks associated with sending monetary to distant countries led to the emergence of banks. The money is not physically transferred, but arrives to the beneficiary through intermediaries, which moves them through accounting offsets. The same system is used for the buying and selling of stocks, bonds, oil, precious metals and anything else that is traded on the stock exchange. The values remain physically deposited with an intermediary who keeps track of transferring ownership and obviously receives a fee.
When the ownership certificate of a share, of a bond or of any other value or object is in digital form, the possibility of transferring it electronically to any point in the world suddenly opens up. There is no longer the need to have intermediaries. The Bitcoin system allows direct payments to be made without intermediaries. When the transfer operation is registered in the Bitcoin journal, the value is considered transferred. Thanks to the blockchain you can create digital values, stocks, bonds, tickets, purchase vouchers, certificates of authenticity and anything else that can be exchanged directly.
Bitcoin was born as a system to perform money transfers without intermediaries and at low costs, but it then developed in a very different direction. A large part of Bitcoin's operations are handled by intermediaries (Exchanges), which offer additional services such as the exchange of Bitcoins in dollars and other common currencies. The costs are then greatly increased and are in the order of US$ 60 per transaction, if we consider the compensation for the work done by the miners. Bitcoin, beyond the technical limitations, is not a system able to compete with traditional banking systems and the most modern, centralized systems such as PayPal, M-pesa, Wechat or Alipay.
Blockchain technology has attracted a great deal of attention and also many investments for the possibility of creating new types of business that make use of digital values that do not need intermediaries. However, reality is very complex and I do not feel intermediaries are destined to disappear, as they offer a set of services. My opinion is that the blockchain will be adopted precisely in the context of inter-mediation, to make the processes more secure, efficient and easily integrated.
Blockchain applied to centralized databases
A large area of use for the blockchain is certainly that of centralized databases. As the Banana Accounting example demonstrates, applying the blockchain to existing accounting systems is technically very simple and brings significant benefits. Adapting existing applications that use relational databases (SQL) is very easy from a technical point of view. Instead, attention must be focused on organizational aspects.
Most accounting applications are based on a journal that contains transactions. It is necessary to add two additional columns in the data table in which to memorize the progressive number of the row and the progressive seal (blockchain). Generally the movements are already numbered, but to facilitate implementation and avoid conflicts with existing procedures, it is advisable to use a different line number. It is a matter of implementing a procedure, similar to that of Banana Accounting and as previously explained, which allows to calculate the seals of the definitive transactions not yet sealed. It could be the procedure of adding recordings or a procedure that, on a regular basis, numbers the operations, calculates and saves the seals in the lines of the records. (For further technical information, please refer to the explanations contained in the US patent). The seals must then be safeguarded securely. This is an organizational issue. We must of course implement procedures that follow the seals and verify the integrity of said data.
Reliability is obviously dependent on the existence of an internal organization that assigns tasks and ensures that only designated persons have the possibility of modifying the original seals. To support this task, digital notary systems may of course be useful, but data reliability will always be dependent on people. Therefore, the organization has an essential role for data reliability. It will also be necessary to put in place procedures to remove the existing seals in order to allow modifications to the data already certified. I will not go into details, but there may be different situations, coding or programming errors, system changes, which may force us to modify data and replace seals.
The same approach used for accounting can also be used in all areas where there is a journal or register. The blockchain could then be used to certify:
- data from a land register;
- the access register;
- the event log of a computer;
- other data structures that collect valuable information.
Each operation can be fitted with a progressive seal. Verification can be performed easily. This system, especially if the data volumes are very large, is much simpler, faster and safer than data comparison procedures. Any attempts at manipulation can be easily detected.
In large organizations, the main accounting paper is the result of consolidating several local journals. It often happens that the journals are modified and that there are differences, which are difficult to reconcile. The blockchain ensures that data is always synchronized and that there are no differences. The seal of the journal to be integrated will also be stored in the central journal. The next time, before proceeding to the integration of new operations, by comparing the saved seals, it will be verified that the operations data already integrated have not changed. In this way, the data from different systems will always be synchronized. This system was adopted by the Swiss organization for helping development Helvetas. Thanks to Banana Accounting's blockchain, Helvetas is able to integrate and maintain the accounting of over 200 projects in the whole world with central accounting.
Review of accounting with the blockchain
The blockchain greatly simplifies the retention of accounting data. You can keep copies of the files, make backups, and by checking the seals ensure that the data is authentic.
For the auditors, it will be important to verify the functioning of the blockchain and how the seals are attributed and saved. We must avoid the seals being manipulated and people modifying the data and at the same time also the seals.
If the movements are equipped with seals, it will be much more difficult for unauthorized persons to change accounting movements and hide their tracks. Finding changes to the data will be much simpler as well as the original status being restored. The blockchain is an important deterrent to changing accounting movements. In a well organized system any attempt at modification can be discovered in a very short time. The blockchain also makes the operations performed on the data more secure and it will be easy to identify undue changes to the existing data, as the result of incorrect procedures.
The blockchain, contrary to what is thought, does not make it impossible to modify the data. If there are errors that must be forcibly corrected, it can be done. However, the seals must be updated and these operations must be properly documented.
The possibility of making authentic copies allows the auditors to be able to carry out checks also outside the computer system with the certainty that the data is the same. With the blockchain it becomes even easier to carry out periodic revisions; thanks to the seals you can be sure that the movements already checked have not been changed.
The blockchain also facilitates amendments carried out by multiple entities. The certainty of data integrity makes it possible to rely on controls already performed previously. There is no danger that in the meantime something may have been manipulated or that one is working on non-aligned data.
For the tax authorities, the blockchain is obviously an interesting system. Companies do not have to do anything else but send the seal relating to the current accounting status at the same time as the compliance and then they will be sure that the data remains the same. The tax department and the auditors can easily do without those checks aimed at uncovering changes to the data.
Preserve the flexibility of organizations
The blockchain links all operations and makes them impossible to change. It therefore becomes essential that the certified data be as correct as possible. Correcting all errors with reversal and rectification operations is not a good solution because accounting would be difficult to understand. The data protection principles also foresee errors being corrected. If you introduce the blockchain and it is no longer possible to change the data, it is imperative to have a system that is able to ensure a high quality. In Banana Accounting there is the possibility to add movements, check the accounting and correct any operations. Only when the data has been reconciled and you are sure that they are correct, is the blockchain applied. The same approach is also used in Bitcoin transactions: anyone can send operations, but the system entails strict controls. Only verified operations, which have actual availability, become part of the journal. Also in this field we have reached a good compromise between having a flexible system and a definitive journal.
Introducing the blockchain without considering the need for flexibility can make procedures very complex and companies rigid. If the seal is affixed to all operations, without leaving the possibility of verifying data to people, more damage is done than good.
The major risk of a bureaucratic approach is obviously seen in the fiscal area, where it is still believed that to prevent tax evasion, companies must be obliged to register movements quickly and no longer modify them. Applying the blockchain to movements, even before it was possible to reconcile operations and print a control budget for the entire period, would make it even more difficult for small businesses to keep the accounts.
In the digital world, all operations now leave a record. Accounting is the consolidation of data from different sources. In the coming years, cataloging and classification of data will be performed automatically by intelligent systems. In this new context, any form of evasion will use other methods, certainly not of by simply entering data in the accounting records and then deleting it a few days later. For small companies, the concept must be of being mandatory to applying blockchain to accounting movements when the data could be checked. Namely, at the end of an accounting period, or when periodic reports (VAT data transmission) are required.
The situation is different for large companies, where the newspaper is fed by automatic procedures and there are many users on the system. In these cases the blockchain could be applied immediately. In the organization of processes one should analyze when the best time to apply the blockchain is.
The explanation could be running too long, yet it is worth remembering that the digitization of tax authorities, with the obligation of sending data in digital format, went hand in hand with the increase in the amount of data and complexity. Again with the aim of limiting tax evasion, the fiscal directives on submitting financial statements and the income statement have multiplied. Many small businesses have been forced to completely outsource the accounting. In many cases, the data in the tax statements are disconnected from the business reality to the point that tax accounting can no longer be used as a control tool. In fact, accounting is increasingly commissioned externally for the sole purpose of following up on any tax obligations. The complete separation of tasks has the consequence of companies being organized in distinct and separate departments, which is costly, but also ideal for evasion.
In the meantime, technology has offered new possibilities for evasion, just think of payment and investment systems through virtual currencies. Tax authorities should make an overall assessment of the situation and make sure that keeping accounting records and paying taxes becomes as easy as possible. The use of the blockchain should serve this purpose, also because when the economy is healthy, tax revenues increase. A more macroeconomic and less bureaucratic approach would of course be also more useful to the State.
Banana.ch SA patent
Banana.ch applied for a patent on the certification of transactional data in 2002. The patent was registered by the patent office in 2006 (US Patent No. 7,020,640).
The method developed by Banana is very simple to apply to transactional databases. The blockchain technology can be applied to existing IT systems in a short time and with a few modifications. Significant results can be obtained with limited investments: complying with directives on data storage, increasing security, reducing the management costs of IT systems and increasing the efficiency of many procedures. Banana.ch is at your disposal for information and support.
The patent territorial scope is limited to the US and Banana.ch grants non-free licenses for the use of the method and free licenses for projects with no commercial purposes. For further information, please contact us.
Domenico Zucchetti (1960), CEO of Banana.ch, is a book-keeper, jurist and programmer. He studied accounting and graduated in law in 1986 with a degree thesis on e-commerce. After working for six years in a financial institution, he established the company Banana.ch. He started professional programming at the age of 19 and still directly follows the developments of the Banana Accounting software.
In 2002, he was the first to use the blockchain technology in the accounting field and apply for a US Patent No. 7,020,640).
He has developed over 30 years of experience with different tax systems and coordinated the development of tools that simplify the adjustment to national requirements and the easy setting up of sophisticated financial and liquidity planning.
First published on 8. October 2018