Using Ethereum as a real-time Accountant and Auditor

Any business that is transacting value needs to make sure that it is:

  • actually paying who it needs to pay
  • not accidentally double-paying

However, when handling massive amounts of transactions, it can be difficult to make sure that these requirements are accomplished. That is why businesses hire auditors and accountants.

Ethereum mitigates the need to hire auditors and accountants.

Tokenminingpool.com accepts mathematical solutions from miners (users) and then uses that data to mint new 0xBitcoin Tokens. The pool then pays out miners based on their micro-contributions. The pool never misses a payment and never double-pays, all due to one clever mechanic: part of the payments code is actually written in Solidity code:

As you can see in that contract, the multisend() method allows anyone to send payments in batches. Each batch requires a new unique random number called a ‘PaymentId’.

The pool is using a local database to batch queued payments together and it is then assigning each batch a unique random PaymentId using a random-number-generator. Then, it calls the multisend() method of that smart contract using the payment batch information array (recipients and amounts) along with the PaymentId.

In this way, the pool is able to send the same call over and over and over and the smart contract will only allow that batch payment to occur one time. All other attempts will fail because the paymentId will match that of a finalized payment that already occured.

Now, the business logic of the application is free to batch payments together and broadcast payment transactions without worrying about double paying anyone. That can never happen, as ensured by the Solidity code. This is one simple way that Ethereum Smart Contracts can have a profound impact on financial applications for centralized firms, greatly reducing logical errors and removing the need for accountants and auditors.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store