View
4
Download
0
Category
Preview:
Citation preview
1
Designing Privacy-Preserving Blockchain based Accounting Information Systems
Yunsen Wang
Rutgers, the State University of New Jersey
Department of Accounting and Information Systems
One Washington Park
Newark, NJ 07102-3122
Southwestern University of Finance and Economics
Chengdu, China 611130
yunsen.wang@rutgers.edu
Alexander Kogan*
Rutgers, the State University of New Jersey
Department of Accounting and Information Systems
One Washington Park
Newark, NJ 07102-3122
kogan@business.rutgers.edu
May 24, 2017
Abstract
Blockchain is one of the most disruptive and promising emerging technologies, and it
appears to have the potential for significantly affecting the accounting and auditing fields.
Using blockchain technology, zero-knowledge proof and homomorphic encryption, this paper
proposes a design of Blockchain based Accounting Information System and develops a
prototype to demonstrate the functionality of the Blockchain based Accounting Information
System in real-time accounting, continuous monitoring and continuous auditing as well as
fraud prevention. The computational performance of blockchain versus relational databases is
evaluated and discussed. It is expected that blockchain would be a widely applicable
infrastructure to support enterprise information systems and continuous auditing systems.
Key Words: Blockchain, Accounting Information Systems, Continuous Auditing,
Information Privacy
*Corresponding Author
2
TABLE
Abstract ................................................................................................................................................ 1
1 Introduction ............................................................................................................................... 3
2 Motivation and Literature Review ....................................................................................... 6
2.1. The Dilemma: Transparency and Privacy .............................................................................. 6
2.2. Bitcoin and Smart Contracts ...................................................................................................... 7
2.3. Colored Coins, Sidechains and Private Blockchain .............................................................. 9
2.4. Homomorphic Public Key Encryption ................................................................................... 10
2.5. Zero-Knowledge Proofs ............................................................................................................. 12
2.6. Continuous Auditing and Real-Time Accounting ............................................................... 13
3 Blockchain for Accounting: A Privacy-Preserving Design ........................................... 14
3.1. Colored Coins and Assets Tokenization ................................................................................. 14
3.2. Real-Time Accounting and Continuous Reporting ............................................................. 17
3.3. Continuous Monitoring, Fraud Prevention and Auditor’s Role ...................................... 22
3.4. Internal Control and Permissions Management .................................................................. 24
3.5. Blockchain Privacy and Homomorphic Public Key Encryption ..................................... 26
3.6. Blockchain Privacy and Zero-knowledge Proofs ................................................................. 28
4 Prototyping and Evaluation ................................................................................................. 31
4.1. Basic Infrastructure .................................................................................................................... 31
4.2. The Prototype of Blockchain based Accounting Information System ............................ 32
4.3. Simulation of Permissions Management ................................................................................ 34
4.4. Simulation of Automatic Confirmation.................................................................................. 34
4.5. Computational Overhead: Blockchain vs. Database .......................................................... 35
5 Conclusion, Discussion and Future Research .................................................................. 36
Reference ........................................................................................................................................... 38
Web Reference ................................................................................................................................. 42
Appendix ........................................................................................................................................... 43
3
Designing Privacy-Preserving Blockchain based Accounting Information Systems
1 Introduction
The topics of continuous financial disclosure and publicly shared databases have been
discussed ever since the 1970s (Pastena 1979). Today’s business ecosystem demands
information sharing and data communication in order to improve trading efficiency and
effectiveness. However, there is a trade-off between transparency and privacy: the more
information is shared, the more transparent the business will be, and the more potential that
business secrets and privacy might be compromised. The trade-off between information
transparency and data privacy and confidentiality is one of the main tension points of today’s
business: cooperation versus competition (Bengtsson and Kock 2000).
Blockchain is one of the most disruptive and promising emerging technologies, and it
appears to have the potential for significantly affecting the accounting and auditing fields.
Essentially, blockchain is a freely open and publicly shared database that keeps track of
transactions and protects data from tampering (Lansiti and Lakhani 2017; Yermack 2017; Dai
and Vasarhelyi 2017). Once a transaction is committed, it is practically irreversible and
immutable unless the majority of the blockchain users collude1 (Nakamoto 2008).
Blockchain technology provides a method to share a database among the participants even if
they do not trust each other, and it creates a marketplace to transfer assets based on a
peer-to-peer2 network without a central authority.
1 The most infamous potential risk is known as “51% attack”. In hypothetical, a group of blockchain users who control more
than 50% of the network’s computing power would be able to reverse the completed transactions and alter transaction history.
http://www.coindesk.com/ahead-bitcoin-halving-51-attack-risks-reappear/ 2 A peer-to-peer system is a network that allows data to be sent from one participant to another without going through a
central authority.
4
The faster speed, lower cost and more accurate bookkeeping systems attract investment
from venture capitalists, multi-national bankers, and attention from regulators. Nasdaq
announced in December 2015 that issuers were able to make securities transactions on its
private blockchain (Nasdaq 2015). Sydney Stock Exchange (SSX)’s first blockchain
prototype was launched in May 2016, which is “their first step toward an instantaneous
settlement-and-transfer-upon-trade” exchange platform (Rizzo 2015). Meanwhile, the
exploration of blockchain applications by audit firms could improve audit efficiency and
effectiveness (PwC 2016, Deloitte 2016, EY 2016, KPMG 2017). The convergence of
accounting and blockchain technology shows great promise for reducing redundant manual
effort, increasing the speed of transaction settlement, and preventing financial reporting fraud.
Furthermore, it could drastically change the way of corporate finance and governance just as
the 1933 and 1934 Securities and Exchange Acts did (Yermack 2017).
However, one of the challenges impeding the adoption of blockchain is that firm’s
managers are concerned about their financial privacy and business secrets because all
participants in a public blockchain have a full copy of every transaction. This concern led to
the development of private blockchains in which only permitted parties3 can read records
and create transactions. Although a private blockchain provides a relatively closed, secure
business environment, it loses data transparency and public participation, which could limit
the function of resisting tampering because the mangers have full control over the private
3 For example, if a company owns a private blockchain, only the employees are allowed to participate in the blockchain
transactions.
5
blockchain. Therefore, the private blockchain’s immutability cannot be guaranteed if
management is able to retroactively manipulate the transaction data for personal gain.
There is a trade-off between information transparency and data privacy and
confidentiality such that people choose to use a private blockchain regardless of majority
consensus4 or use a public blockchain under the risk of privacy breach. The more nodes5 are
added to a network, the more reliable the data are, and the less confidential the blockchain is.
To apply blockchain for accounting and auditing and preserve its privacy and confidentiality,
this study proposes a framework design - a blockchain-based accounting information system
(BbAIS) - using zero-knowledge proof (ZKP). The ZKP is a cryptographic method by which
one party can prove to the other parties that the initiated transaction is valid without releasing
any sensitive information. For example, a transaction initiator can prove to the transaction
verifiers that his/her transaction is valid without releasing the identity of the trading partners
and transaction amounts. Besides ZKP, this paper shows how to configure homomorphic
encryption (an encryption algorithm allowing computations to be done on encrypted data)
and permission-management schema in BbAIS. In a nutshell, this proposed system can
provide real-time accounting and continuous monitoring services, prevent transaction fraud
and deliver guaranteed privacy protection.
The remainder of the study is organized as follows: section 2 introduces the blockchain
and zero-knowledge proofs, section 3 proposes a framework of applying blockchain
technology to design real-time accounting and continuous auditing systems, section 4
4 Majority consensus should be reached in order to build an irreversible and immutable blockchain. 5 In the peer-to-peer network system, every participant using a computer to access the network is called a node.
6
provides a prototype of the framework and evaluates the performance, and section 5
concludes the paper and discusses future studies.
2 Motivation and Literature Review
2.1. The Dilemma: Transparency and Privacy
The objective of Nakamoto’s (2008) Bitcoin protocol is to create an online payment
system without needing a trusted central authority to prevent fraud transactions. Based on a
peer-to-peer network architecture, this protocol allows all users to get involved in updating
(i.e., initiating a new transaction) and maintaining (i.e., mining a new block) the shared
database (i.e., blockchain). Therefore, all users have access to all transaction details including
sender, recipient and amount. Although the Bitcoin protocol uses cryptographic algorithms
(e.g., hash function) to anonymize a user’s information, it is still vulnerable to the privacy
and confidentiality attacks that use advanced techniques, such as data mining or IP tracking.
“The unprecedented transparency of transactions sits uneasily with the privacy needs …”
(Shubber 2016) because secretive business would favor information security and privacy. For
example, if a firm voluntarily discloses all the transactions on blockchain, its rivals have the
chance to spy on the firm’s activities and steal its business secrets (e.g., pricing strategy,
trading partner information, business process details). The objective of adopting blockchain is
to reduce the cost of information integrity protection and increase the speed of transaction
settlement. However, public disclosure of all transactions is too much of a security and
privacy risk. Therefore, some firms want to deploy the blockchain protocol within a secure
and closed network, which is the so-called private blockchain. A private blockchain is based
7
on the blockchain protocol that allows only permitted parties to have the access to all of the
transactions (Yermack 2017).
However, there will inevitably be a central authority that maintains the private
blockchain and manages the permissions of participants, which concentrates the operational
risk in a single or several points of failure and loses the main function of blockchain –
decentralization. More severely, if a dishonest manager is in charge of the central authority,
s/he is capable of retroactively manipulating the private blockchain for personal gain. The
irreversibility and immutability could not be guaranteed by private blockchain if the central
authority is corrupt.
The dilemma of adopting blockchain in accounting and auditing is to find the trade-off
between information transparency and privacy. With more participants in a blockchain, more
business data would be publicly shared; however, business privacy and secrets would be
protected to a lesser extent. The purpose of this paper is to find a solution to enabling the
adoption of blockchain for accounting practice and ensuring only permitted parties (e.g.,
auditors and regulators) can view the transaction data.
2.2. Bitcoin and Smart Contracts
Bitcoin is a peer-to-peer electronic currency system first introduced by Satoshi
Nakamoto in 2008. Based on cryptographic algorithms (e.g., digital signature6 and hash
function7), Bitcoin uses transaction history to prove ownership and public confirmation to
prevent double spending. The transaction history is recorded into an ongoing chain of blocks
6 Digital signature is a cryptographic scheme for demonstrating the authenticity of digital messages. 7 Hash function is a function with special properties that maps data of arbitrary size to that of fixed size.
8
and shared to all users along the peer-to-peer network (Nakamoto 2008). Each of the recent
transactions is publicly announced and confirmed, then the confirmed transactions are written
into a new block to be added to the end of the blockchain. As it is practically impossible to
rebuild the entire blockchain by one or several dishonest users, the immutable blockchain
will serve as the proof of all transactions included in the blockchain.
In Jan 2009, Satoshi Nakamoto mined the first 50 Bitcoins and sent 10 Bitcoins to a
developer Hal Finney (Peterson 2014), and by February 2017 there were 16 million Bitcoins
in circulation among estimated 510 thousand users8. Besides Bitcoin, there are many
cryptocurrencies that follow the similar protocol of blockchain and add new features to
distinguish themselves from the others, such as, Ethereum9, Litecoin10, Zcash11, etc. In the
crowded virtual currency market12, blockchain is the core technology that supports exchange
and circulation.
Ethereum is not only a kind of cryptocurrency, but also a platform for running smart
contracts encoded in blockchain (Buterin 2014). A smart contract is a computerized
self-executing protocol that enforces the execution of a predefined contract in a real-time
manner (Szabo 1994). Before the emergence of blockchain, a smart contract relied on a
trusted third party to program the terms into a contract. The Ethereum project enables all
users to deploy and use smart contracts in a decentralized business network. Zcash is a
privacy-preserving cryptocurrency initiated by Zerocoin Electric Coin Firm (ZECC) in order
8 Data available at: https://blockchain.info/charts/total-bitcoins 9 https://www.ethereum.org. Last accessed 5/23/17 10:20PM. 10 https://litecoin.org. Last accessed 5/23/17 10:21PM. 11 https://z.cash. Last accessed 5/23/17 10:22PM. 12 https://coinmarketcap.com. Last accessed 5/23/17 10:28PM.
9
to protect the user’s private information. Zcash protocol employs a zero-knowledge proof
(ZKP) schema to enable the public to verify a transaction without having to know the details,
and therefore prevents sensitive data exposure. Using the same ZKP schema, Kosba et al.
(2016) creates a privacy-preserving protocol, named Hawk, to protect private information for
smart contract users.
2.3. Colored Coins, Sidechains and Private Blockchain
In general, every digital coin in blockchain is a token. The concept of colored coin13
refers to a class of digital coins for “representing and managing real-word assets” in the
blockchain. For example, a yellow coin represents a Bitcoin or a U.S. dollar, a green coin
represents raw materials, and an orange coin represents a finished product. Therefore, to map
real-world business activities onto blockchain network needs a huge amount of digital coins.
Besides, an increasing number of blockchains are created to support the circulation of colored
coins.
How could these blockchains communicate with each other? For example, if a firm and
its suppliers have different blockchains to register their assets as colored coins, how could the
firm and its suppliers send each other colored coins across those blockchains? Back et al.
(2014) proposes the “pegged sidechains” to enable Bitcoins and other blockchain coins to be
transferred between multiple blockchains, and makes it easy for the multiple blockchains to
interoperate with each other. The “pegged sidechains” technique creates a channel in which
different coins can be exchanged, which gives existing users access to new blockchain
13 https://en.bitcoin.it/wiki/Colored_Coins. Last accessed 5/23/17 10:30PM.
10
protocols using the coins they already own. For example, a Bitcoin user can give up two
Bitcoins in exchange for 60 Zcashs, and vice versa. As shown in Figure 1, three are four
blockchains among which 𝛼, 𝛽, and 𝛾 Sidechains need to communicate with the Main
Blockchain. For example, when a 𝛽 Sidechain user wants to transfer several 𝛽 coins from
𝛽 Sidechain to a Main Blockchain user, s/he is able to send the 𝛽 coins to a special address
where his/her 𝛽 coins are locked up. In return, s/he would receive some Main Blockchain
coins. The amount of coins will be based on the conversion rate between the 𝛽 coin and the
Main Blockchain coin. After receiving the Main Blockchain coin, s/he is able to transfer the
coins to another user on the Main Blockchain.
<INSERT FIGURE 1 HERE>
In technical terms, sidechains are separate from but would be interoperable with the main
blockchain. Any technical failure or malicious attack on a sidechain will not affect the main
blockchain, so it would provide a safe platform to design, customize and test private
sidechains without affecting the main blockchain’s core code. Тhe permissions control of
private blockchain would concentrate operational risk in a single or several points of failure
and “might charge monopolistic rents to network users or fail to treat them evenhandedly”
(Yermack 2017). Furthermore, the private blockchains are relatively easy to be manipulated
by corrupted central authorities.
2.4. Homomorphic Public Key Encryption
The fact that every user has a full copy of transaction history is too much of a security
risk for both organizational and individual users. Blockchain data anonymization, such as
11
encrypting or sanitizing personally identifiable information (PII) 14, is necessary to preserve a
user’s privacy and to stimulate participation. Encryption, such as public key cryptosystems
(ElGamal 1985), is a process to encode data that only authorized parties can access. For
example, if Alice wants to send secret messages to Bob, Bob needs to generate a pair of keys:
a public key (to be disseminated widely) and a private key (to be kept privately by Bob).
Alice applies Bob’s public key to encode the secret messages and send to Bob through a
channel which could be intercepted by hackers. Even though the hackers extract the
encrypted messages, without Bob’s private key they cannot understand what Alice sends to
Bob and only Bob can decrypt Alice’s messages.
Homomorphic encryption is a type of encryption algorithm that allows for computations
to be done on encrypted data (Gentry 2009). For example, Alice sends Bob two messages:
one is a number 8 and the other is a number 9. The data is encrypted so that 8 become 33 and
9 becomes 54. The encrypted numbers are added together resulting in 87 and sent through the
channel. Bob only needs to decrypt 87 using his private key to provide the final answer 17.
With homomorphic encryption, a blockchain user could encrypt the transaction amount and
calculate the balance, tax or interest based on the encrypted amount without releasing any
transaction data.
14 Three commonly used models to sanitize PII are k-anonymity (Sweeney 2002), l-diversity (Machanavajjhala et al. 2007)
and t-closeness (Li, Li, and Venkatasubramanian 2007). A k-anonymized dataset needs to have at least k records for each
combination of attribute values; beyond k-anonymity, an l-diversity dataset generalizes or suppresses the attribute values;
and a t-closeness dataset treats each attribute’s value based on the data distribution.
12
2.5. Zero-Knowledge Proofs
By encrypting the transaction data, blockchain can provide a security protection and
privacy-preserving business ecosystem (Kozlowski 2016). However, how the public can
verify or confirm a transaction if they don’t know the transaction details? Zero-knowledge
proof (ZKP) is a scheme that allows one party to prove to another party a given statement is
true without revealing any information. For example, the sender can use ZKP to prove that
s/he has indeed transferred a certain amount of Bitcoins to the recipient even if s/he doesn’t
disclose to the recipient and amount. The concept of ZKP was first conceived in a paper
introducing an interactive proof system (Goldwasser, Micali, and Rackoff 1989), which is an
abstract machine that models the computation as an exchange of messages between two
parties. Blum et al. (1988) proved that if a common random string is shared between a prover
and a verifier, the prover can convince the verifier that a certain statement is true without
interacting with the verifier.
In October 2016, Zcash was launched as an innovative cryptocurrency for its property of
high-level privacy. Zcash enables the user to “make direct payments to each other with a
vastly more efficient cryptographic protocol that also hides the amount of the payment, not
just its origin”15. The underlying protocol that preserves transaction privacy is a recent
technical innovation called zk-SNARKS (Ben-Sasson et al. 2013), which is the acronym for
zero-knowledge Succinct Non-interactive Argument of Knowledge.
15 http://zerocoin.org. Last accessed 5/23/17 10:31PM.
13
Zk-SNARK is an efficient variant of ZKP protocol by which the other users in a
blockchain can verify the ownership of Bitcoin while revealing no information to the public
(Ben-Sasson et al. 2014). To create a Zcash transaction, the sender first encrypts the
transaction details (e.g., sender, recipient, and amount), then generates a short proof16 using
zk-SNARK and announces the transaction and the short proof in blockchain. Any Zcash user
can apply a verification key to verify the short proof without having to interact with the
sender. For smart contract, Kosba et al. (2016) use ZKP to define a security-protection and
privacy-preserving smart contract protocol called Hawk, and both of the Zcash and HawK
possess high efficiency in cryptographic computation.
2.6. Continuous Auditing and Real-Time Accounting
The emergence of blockchain creates new opportunities and challenges for continuous
auditing (Groomer and Murthy 1989; Vasarhelyi and Halper 1991) and real-time accounting
(Rezaee, Ford, and Elam 2000; Yermack 2017). Since Vasarhelyi and Halper (1991) initially
developed the first practical continuous audit systems, the continuous auditing research has
flourished with numerous advances, such as innovations of audit analytics (Kogan et al. 2014;
Issa and Kogan 2014) and implementation of continuous monitoring (Alles et al. 2006) and
continuous auditing (Alles, Kogan, and Vasarhelyi 2008). Furthermore, the applications of
continuous auditing in ERP systems (Kuhn Jr and Sutton 2010) and in XML (Murthy and
16 A short proof consists of a single message sent from a prover to a verifier. In order to assure the zero-knowledge proof is
non-interactive and short and therefore uploadable to blockchain, it is necessary to have an initial setup to generate a
common random string shared between the prover and the verifier. https://z.cash/technology/zksnarks.html. Last Accessed
9/25/17 11:57 PM.
14
Groomer 2004)and the economics of continuous assurance (Alles, Kogan, and Vasarhelyi
2002) have been examined in prior studies.
The goal of continuous auditing research is to design automatic systems for highly
efficient and real-time auditing. Blockchain could serve as such a technology whereby
continuous auditing systems could be built to reduce cost and improve efficiency. Blockchain
could be used to record and present real-time transaction data, which enables the auditors
and/or audit systems to conduct substantive testing in a continuous manner. In addition, the
immutability and irreversibility could ensure the integrity of financial data and prevent
tampering and fraud. Although the application of blockchain in auditing is still in its infancy,
it seems to be promising for financial data sharing with high-level security and privacy based
on the mathematical and cryptographic encryption and digital signature mechanisms (Kosba
et al. 2016).
3 Blockchain for Accounting: A Privacy-Preserving Design
3.1. Colored Coins and Assets Tokenization
Blockchain provides a public, freely open ledger to record ownership of a wide range of
assets, from stocks, bonds, real estate and automobiles to luxury handbags and priceless
works of art (Yermack 2017). Furthermore, the government is exploring the use of
blockchain for public records, such as, birth certificates, driver licenses, and university
degrees. With a tracking device (e.g., GPS, RFID17), a real-world asset can be mapped onto
blockchain network and be represented by a colored coin or a token. The process of binding a
17 Radio-frequency identification (RFID) uses electromagnetic fields to automatically identify and track tags attached to
objects.
15
class of real-world assets to a token is called asset tokenization. Table 1 shows examples of
assets that can be tokenized, including currencies, tangible assets and intangible assets.
<INSERT TABLE 1 HERE>
In a securities market, the blockchain provides a solution to the problem of delay in
settlement. For example, stock options can be executed in smart contracts once predefined
conditions (i.e., exercise prices) have been met. The execution of a smart contract
immediately initiates a transaction that the call (put) option owner sends (receives) “cash”
coins and receives (sends) “stock” coins. The coin mining process18 involves a large number
of network nodes (miners), which facilitates the transaction verification and speeds up the
change of asset’s ownership. Just like Bitcoin, U.S. dollar can be issued in blockchain by the
Federal Reserve System in the form of “U.S.-dollar” coin. The online transfer of a
“U.S.-dollar” coin represents a real-world transaction that a person pays another person in
cash. The “U.S.-dollar coin” will be never lost or stolen because every single dollar’s
ownership is registered in blockchain.
Similarly, intangible assets (e.g., technology patent, music copyright and software
license) can be easily programmed into blockchain represented by a colored coin. For
example, when an audit firm wants to use analytical software to examine a client’s
transactions, it can purchase the audit software simply by sending “U.S.-dollar” coins and
18 Just like Bitcoin mining, colored coin mining is a procedure conducted by a group of blockchain nodes to verify and
confirm transactions as well as generate new blocks to be added to a blockchain. Once a new block is added to the
blockchain, the transactions the block contains will be no longer modifiable. Therefore, the transfers of the assets ownership
are completed and these transactions are settled. On average a new block is generated every 10 minutes, which means a
transaction of asset transfer could be completed in around 10 minutes.
16
receiving “software-license” coins. In the near future, “copyright” coins could possibly be
deemed as evidence in the court.
For tangible assets (e.g., land, building), if the titles are encoded in blockchain or
programmed into an Ethereum smart contract, the process of buying and selling a piece of
land can be simplified as the seller sends a “land” coin to the buyer. Besides, many other
types of properties can be recorded (tokenized) into blockchain, such as equipment and motor
vehicles, which could create a trusted and secure trading environment and reduce disputes,
fraud and inefficiency of real-world transactions.
However, asset tokenization is not an easy task due to the heterogeneous nature of assets.
Each asset has its own complexities, description, properties and transaction rules. For
example, bonds can be classified as bonds with zero coupon, convertibles or floating rate
notes. There are thousands of securities and derivatives in capital market, which makes it
impossible to use only one or several coins to describe investment activities. If every asset is
tokenized in one blockchain, the scalability can render blockchain infrastructure technically
problematic. In addition, some types of intangible assets are not easy to tokenize, such as
brand loyalty, workforce competence, etc.
It is expected that as technology improves and tokenization cost decreases, many
less-expensive assets will be gradually taken into consideration for digitizing property
records. In the near future as a large number of real-world objects have had coins associated
with them, the immutability and irreversibility of blockchain will become the core
functionalities for auditing and fraud prevention.
17
3.2. Real-Time Accounting and Continuous Reporting
The deployment of an enterprise information system, such as SAP, increases the speed of
business integration by connecting a firm with outside trading partners, synchronizing its
inside divisions and enhancing the level of accounting digitalization. Blockchain technology
brings another wave of upgrading the management information systems and the business
ecosystems. Based on blockchain technology, this paper proposes a design of Blockchain
based Accounting Information System (BbAIS) and creates a prototype to demonstrate the
functionality of BbAIS.
Figure 2 shows an example of business ecosystems in a BbAIS network. In this
ecosystem, assets and resources (e.g., raw materials, inventory of finished goods, employee
labor) have been defined and tokenized in blockchain. A supplier sends “raw materials” coins
to a manufacturing firm and will receive “cash” coins as payment. After the raw materials are
turned into finished goods, the firm sells the products to customers by sending “product”
coins and receiving “cash” coins or “credit-card” coins. The financing and investment
activities can be represented as a bank sends “loan” coins to the firm or the firm collects
“cash” coins from the stock market and distributes “stock-share” coins. The governmental
agencies collect and refund “tax” coins, and employees can also use tokenized labor time to
calculate and request salaries.
<INSERT FIGURE 2 HERE>
This example shows how the BbAIS supports and records transactions in a business
ecosystem in an automatic and real-time manner, which reduces the systematic duplication of
18
manual effort and improves fiscal accuracy and efficiencies. In addition to traditional
double-entry accounting systems, blockchain provides shared transaction records that link the
trading parties’ journal entries, and further facilitates the inter-organizational collaboration.
Figure 3 and Figure 4 show the examples of inter-organizational transactions.
In procurement-to-payment cycle, a supplier sends “raw-materials” coins (e.g., wood) to
a manufacturing firm M, which triggers four journal entries for two economic entities. For
simplicity, we focus on firm M’s accounting processes. When firm M receives the “raw-
materials” coins, BbAIS automatically generates two electronic entries with the same amount
of which one debits the raw materials account and the other one credits accounts payable.
After firm M received the raw materials and checked the quality and quantity of the goods, it
could disburse “cash” coins to the supplier, which generates two more electronic entries of
which one debits accounts payable and the other one credits cash.
<INSERT FIGURE 3 HERE>
In the order-to-cash cycle, firm M sells finished goods (e.g., a table) to a customer, which
triggers four journal entries for two economic entities. When the customer is sent the “table”
coins, BbAIS automatically generates two electronic entries with the same amount of which
one debits cost of goods sold and the other one credits inventory. Then, the customer pays for
the table with a credit card, which generates another three electronic entries of which one
debits cash, one debits credit card expenses and the third one credits sales revenue.
<INSERT FIGURE 4 HERE>
19
In addition to inter-organizational transactions, BbAIS can be also a communication
platform within a firm. Suppose firm M is a conglomerate firm whose subsidiaries form a
complete industry chain. Figure 5 shows an example - firm M is an oil giant that has many
subsidiaries operating in different but inter-locked sectors from petroleum exploration and
refinement to gas retail. BbAIS links headquarter and subsidiaries, and records
intra-organizational transactions.
<INSERT FIGURE 5 HERE>
From raw materials to finished goods, BbAIS needs to keep records of the manufacturing
process of a factory. In this process, more than one type of coins are consumed and
transformed to another type of coin. For example, “raw-materials” coins are transformed to
“finished-product” coins. In Figure 6, subsidiary A of firm M provides raw materials to
another subsidiary B, and subsidiary B delivers finished goods to subsidiary C. For simplicity,
we focus on the subsidiary B’s accounting processes. When subsidiary B receives the “raw-
materials” coins, BbAIS automatically generates two electronic entries coins with the same
amount of which one debits raw materials and the other one credits accounts payable. Then,
subsidiary B consumes raw materials, labor, and manufacturing overhead and produces
work-in-process, which generates four electronic entries of which three credit raw materials,
wages payable and manufacturing overhead and one debits work-in-process. After the
assembly process, BbAIS credits the work-in-process and debits finished goods inventory. In
the end, the final products are delivered from subsidiary B to subsidiary C, which generates
20
four electronic entries: two credit finished goods inventory and sales revenue and the other
two debit COGS and accounts receivable.
<INSERT FIGURE 6 HERE>
In the manufacturing process, “raw-materials” coins are transformed to “finished-goods”
coins. In order to process the coin transformation, subsidiary B first identifies the ownership
of “raw-materials”, “labor” and “manufacturing-overhead” coins, then retires those coins to
be turned to finished goods, and finally issues new “finished-goods” coins or
“work-in-process” coins and binds them to physical products.
In the near future, if all economic entities use digital currency as their exchange medium,
register all assets in BbAIS and tokenize every product by digital coin, all business
transactions of this business ecosystem will be posted on a public blockchain and recorded
permanently with time stamps, which prevents them from being altered ex-post. In this case,
auditors and regulators could aggregate a firm’s transactions into financial reports19 (e.g.,
income statement and balance sheet) at any time, financial statement consolidation could be
easily and continuously conducted through inter-organizational nettings of digital coins and
depreciation schedule or inventory revaluation could be executed based on fair market value
by smart contracts. Most importantly, continuous reporting on BbAIS allows the public to
rely less on quarterly or annual reports, and demotivates management from manipulating
19 The blockchain is a single-entry system which keeps record of the event of asset transfer. A “single-entry bookkeeping
system in a blockchain” is introduced to replace the traditional double-entry system (Simon, 2016), while another group of
cryptographers provides discussions about a “triple-entry” system (Grigg, 2005). The definition of a “triple-entry”
accounting system used by blockchain-accounting practitioners is different from Ijiri (1986)’s definition. The blockchain
based “triple-entry” system is an enhancement to the traditional double-entry system where all accounting entries are
recorded by a third entry into the blockchain. In contrast to traditional accounting where the trading partners independently
book debit and credit to their own accounts, blockchain’s shared transaction records link the journal entries of trading parties,
which provides additional assurance in auditing.
21
transactions, such as backdating, to positively impact management compensation stocks or
options. Shareholders will have more trust in financial data integrity, and the increased trust
could result in saving some social costs of mistrusting company’s management, i.e., reducing
the cost of auditing which exceeds $50 billion per year (Yermack 2017).
It should be noted that BbAIS should be conceived as a neutral and independent
infrastructure that underpins business event recording. Similar to net neutrality (Jordan 2009),
blockchain neutrality represents the argument that the blockchain ledger is applicable to
different accounting treatments or even different accounting standards (i.e., GAAP and IFRS).
The generic neutrality of BbAIS design requires the separation of event recording and
accounting treatment, even if it is technically possible to encode accounting rules in
blockchain (e.g., an aging method can be programmed in a smart contract for doubtful
accounts). In general, blockchain serves as a neutral shared database that keeps transaction
records per se, while journalizing and adjustments are processed on top of the BbAIS
infrastructure. This arrangement also allows stakeholders and auditors to aggregate individual
transactions and create financial reports based on their own interpretation of accounting
standards. Figure 7 shows the BbAIS-neutrality principle: BbAIS is used for recording
transactions per se and each economic entity has free choice of building the accounting,
auditing or taxing systems on top of BbAIS.
<INSERT FIGURE 7 HERE>
22
3.3. Continuous Monitoring, Fraud Prevention and Auditor’s Role
When a business transaction occurs in BbAIS, the business event represented by
transferring a digital coin from one entity to anther will be announced publicly and recorded
in real-time. The BbAIS continuously adds transactions to the blockchain and shares the
blockchain with all users; therefore auditors are able to obtain a full copy of his/her client’s
transaction data. The real-time availability of transaction data makes it possible for auditors
to continuously monitor firm’s global assets. Figure 8 shows a Blockchain-based Continuous
Monitoring System (BbCMS) that conducts real-time tracking of firm’s assets. If an auditor
wants to confirm a client’s accounts receivable with its customers or accounts payable with
suppliers, the auditor only needs to collect the relevant sales or procurement transaction data
from the blockchain and perform analytical procedures (e.g., matching transaction amount to
accounts receivable or payable). Besides, the automatic confirmation scheme reduces the
duplication of work for bank and cash reconciliation, and improves audit efficiency.
<INSERT FIGURE 8 HERE>
Fraud prevention is an important issue in audit practice. In general, fraud is defined as
either intentional embezzlement of assets from a firm or intentional misstatement of financial
reports in order to mislead stakeholders. BbAIS can trace the movement of firm’s tokenized
assets; therefore it is able to proactively prevent asset (e.g., cash or inventory)
misappropriation. The continuous monitoring based on blockchain makes it hard for
managers to engage in accrual earnings management, such as the “big bath” and “cookie jar
reserve” strategies. In addition, BbAIS delivers real-time data and provides continuous
23
reporting, which makes quarterly and annual reporting less important and therefore lowers
the management’s incentives to periodically manipulate reported earnings. Even if accruals
earnings management shifts to real earnings management (Cohen, Dey, and Lys 2008), the
unprecedented transparency still enables the analysts and auditors to use their own judgment
to identify whether management has made suboptimal or myopic decisions.
If a firm has engaged in a financial reporting fraud scheme, BbAIS keeps the records of
all relevant transactions, which could deliver valid evidence showing the possible accounting
irregularities. For example, the criteria of revenue recognition can be encoded in a
blockchain-based continuous auditing system (BbCAS) using smart contracts to ensure that
all conditions have been met before recognizing sales revenue. If a firm’s sales revenue is
overstated using “channel stuffing” or “round tripping”, the BbCAS raises alarm about the
suspicious transactions and indicates the type of fraud scheme. Thus, BbAIS can prevent
managers from cooking the books or tampering with the data, such as creating fictitious
transactions or backdating sales contracts or option compensation. In addition, related-party
transactions could be self-disclosed; therefore suspicious transfer of assets implying conflicts
of interest can be spotted instantly. In order to defeat securities exchange fraud, BbAIS
makes managerial ownership so unprecedentedly transparent that insider buying or selling
can be detected automatically in real time. Corporate voting using BbAIS could be more
transparent, accurate and fast (Yermack 2017). Furthermore, the transparency reduces
opportunities for corruption or bribery behavior between regulators and firm’s management.
24
However, BbAIS cannot automatically detect every fraud scheme. Some frauds
involving complex transactions still need the auditors to brainstorm, exercise professional
skepticism, and investigate the transaction details.
3.4. Internal Control and Permissions Management
When a firm enters into a transaction selling goods to a customer, the firm puts in “goods”
coins and sends the “goods” coin together with physical goods to the customer. Once the
transaction is announced but before it is confirmed, BbAIS will apply built-in rules to check:
(1) whether the sender has sufficient balance of the “goods” coins to make the transfer, (2)
whether the coins to be sent have valid trace back to previous transactions, (3) whether the
coins have been double spent. All the checks ensure the sender sends the valid and unspent
coins to the recipient. After a set of transactions has been confirmed, a blockchain miner
collects those transactions and solves proof-of-work20 to generate a new block to be added to
the blockchain.
On top of the built-in rules, a firm’s internal controls can be added to BbAIS or smart
contracts. The add-on controls can efficiently reduce firms’ business risk and fraud risk. As
BbAIS shows the movement of a tokenized asset, it prevents managers or employees from
embezzling firms’ resources, such as cash or inventory. BbAIS with access controls only
allows authorized users to read or create transactions. For example, only the shipper has
permissions to transfer “goods” coins to a customer under a certain credit limit, and only the
20 A proof of work is a cryptographic data puzzle which require a computationally costly and time-consuming effort to
produce the result which is easy for others to verify. In a blockchain, producing a proof-of-work is a random process which
requires miners to do a lot of trials before a valid proof of work is generated. A description is available at:
https://en.bitcoin.it/wiki/Proof_of_work. Last accessed 5/23/17 10:32PM.
25
procurement staff can purchase raw materials from suppliers. In addition, BbAIS can
properly separate job duties. For example, the accountant and the treasurer will have different
access to the coins in BbAIS. In order to ensure product quality, the BbAIS monitors the
production line from raw materials, work-in-process, to finished goods. Besides, a lot of
duplicated work for bank reconciliation can be reduced. For example, the accountant does not
have to have concerns about the timing difference between the bank and firm’s records
caused by deposits in transit or outstanding checks, and the risk of receiving insufficient
funds check could be avoided because of the built-in check schemes. A properly designed
BbAIS can precisely and dynamically control who can connect to the blockchain, initiate
transactions and mine blocks.
To develop an irreversible blockchain for a business ecosystem requires active
participation from many parties, such as firm’s management, suppliers and customers,
stakeholders and regulators. However, as an increasing number of parties are brought into
BbAIS, privacy and confidentiality become critical issues because every participant can see
each other’s transactions. So, some firms choose to deploy private blockchains for internal
use. In this case, the firm has the majority computational power over the private blockchain,
which makes it possible to rewrite or falsify transaction records. We propose a solution –
permissions management - by assigning miner role to a trusted party or managing the
permissions to access the private blockchain. Figure 9 shows the hierarchy of permissions
management schema in a private blockchain.
<INSERT FIGURE 9 HERE>
26
For example, a firm can build a blockchain network with its trading partners,
stakeholders and regulators in which only regulators are allowed to confirm transactions,
generate blocks and grant permissions to new users. Furthermore, in order to remove central
authorities, BbAIS can allow more than one sophisticated user to grant access and/or mine
blocks. For example, a long-tenured user who has created a large number of transactions in
BbAIS could participate in mining blocks and maintaining the blockchain, or it could grant
access to a limited number of new users. As long as the honest users (who have no intent of
perpetrating fraud) outnumber the dishonest users (who have intent of perpetrating fraud),
this network will guarantee the data integrity of transactions in BbAIS.
3.5. Blockchain Privacy and Homomorphic Public Key Encryption
Private blockchain creates a closed business ecosystem but has the possibility of losing
data integrity, while public blockchain ensures data irreversibility but probably loses data
privacy. Encryption, one type of which is called homomorphic encryption, provides a
cryptographic solution that enables firms’ secret information to be sealed. Homomorphic
encryption allows computations to be done on encrypted data without first having to decrypt
it.
<INSERT FIGURE 10 HERE>
Figure 10 and Table 2 show an example of how homomorphic encryption protects a
BbAIS user’s privacy. If a customer, named Alice, buys a luxury handbag and pays for it
using an installment plan in BbAIS, she can send “cash” coins to the handbag store every
27
month. As Alice’s cryptowallet address21 is anonymized by hash function, her personally
identifiable information (i.e., name) will never be disclosed in BbAIS.
<INSERT TABLE 2 HERE>
However, if a node is a frequent user having a long transaction history in BbAIS (e.g. a
multinational company), the sophisticated data mining and pattern recognition techniques
will let some other parties (e.g., a competitor) infer the connections between the user’s
identity and its cryptowallet addresses. This type of “network analysis” for blockchain (Reid
and Harrigan 2013) could even probably recognize the frequent user’s transaction patterns,
trace its trading partners and link the cryptowallet address to the IP address. Then, the user’s
privacy would be at risk once a hacker breaks into the IP address and steals the user’s assets.
Even if a user is able to apply anti-tracking mechanisms (e.g., creating many anonymous
wallets) to prevent privacy attack, the big data of high frequent trades will definitely expose
the user to malicious attackers and compromise its privacy.
To reduce exposure risk, BbAIS uses homomorphic encryption to encode sensitive
transactions information into unreadable ciphertext. In the above handbag-shopping example,
Alice can choose to encrypt her transaction details using her private key. Then, the encrypted
transaction will be written into BbAIS in human-unreadable format (Table 3).
<INSERT TABLE 3 HERE>
As shown in Table 3, not only the input and output addresses but also the input and
output amount and transaction fees have been encrypted and recorded in the blockchain,
21 The cryptowallet address is the account identifier that a blockchain user owns for sending and receiving coins.
28
which makes it very hard for an intruder to steal secrets based on the limited disclosures (i.e.,
block hash, transaction hash and timestamps).
Furthermore, with homomorphic encryption22 we can set up mathematical operations
(e.g., additions, multiplications, quadratic functions) between two ciphers. In Alice’s case,
although the transaction amount is encrypted, BbAIS can still calculate the account balance
by aggregating the encrypted transaction amounts. In addition, by aggregating all transactions
and offsetting the accounts receivable and accounts payable between two subsidiaries, BbAIS
is able to deliver a consolidated statement automatically in real time. The utilization of
homomorphic encryption enables a secure and privacy-preserving BbAIS with guaranteed
privacy.
3.6. Blockchain Privacy and Zero-knowledge Proofs
Since the transaction details (i.e., sender, recipient, and amount) could be hidden using
encryption, the problem is how the other BbAIS users can verify the transaction before it is
written in blockchain. For example, if only the trading partners have access to transaction
details, the other BbAIS users would not be able to trace the asset transfers and identify the
ownership of that asset. To deliver a certain level of transparency while preserving
transaction privacy, this paper uses zero-knowledge Succinct Non-interactive Argument of
Knowledge (zk-SNARK) to create a privacy preserving and transaction verifiable BbAIS.
Zk-SNARK uses a variant of zero-knowledge proofs mechanism. The basic idea of
zero-knowledge proof is that one party (prover) convinces another party (verifier) that its
22 Homomorphic encryption is categorized into partially homomorphic cryptosystems and full homomorphic cryptosystems.
29
statements are true without revealing the content of that statement (Rackoff and Simon 1991).
For example, a person named Peggy claims that she knows the secret to open a door in a cave
shaped like a circle (shown in Figure 11). Peggy wants to prove to a person named Victor
that she knows the secret; however, she is not allowed to tell the secret to Victor. First, they
decide to label the upper and lower paths A and B. Then, Peggy randomly takes A or B path
and walks in while Victor waits outside without seeing which path Peggy takes. Next, Victor
calls the path where Peggy has to show up. If Peggy walks in the same path as Victor calls,
she can easily return to the entrance; if Peggy doesn’t walk in the path Victor calls, she needs
to go through the door and walk out to the entrance using another path. Suppose that Peggy
indeed knows the secret, she could either use the secret to open the door or simply returns
using the same path as she entered. However, if Peggy lies, she can only show up on the path
which she uses to enter and fails on the other path if Victor picks it. For every trial, the
dishonest Peggy will have 50% chance to guess it right. If they repeat the trials 50 times, her
chance to guess all correct paths would be impossibly small.
<INSERT FIGURE 11 HERE>
The above example shows the standard interactive zero-knowledge proof, and a
non-interactive zero-knowledge proof is a method by which no interaction between the
prover and verifier is necessary. Based on prior work on non-interactive zero-knowledge
proofs and recent breakthroughs of zk-SNARKs, Ben-Sasson et al. (2014) create a public
shared ledger with strong privacy.
30
By adopting zk-SNARK, the encrypted transactions in BbAIS can be verified without
first decrypting the details. In this scheme, the other BbAIS users need to verify the following
three statements: (1) “the sender has a valid source of that coin s/he is about to transfer”, (2)
“the coin has not been double spent”, (3) “the input amount balances out the output amount”.
To prove the three statements, a sender uses zk-SNARK to generate a short proof (which
could be easily processed by the other users) and releases the verification key while
encrypting transaction details. Then, s/he announces the transaction in the form of ciphertext.
The other users, such as block miners, work together to verify the three statements by
validating the short proof and verification key, but they will not be informed about any
content of the three statements. Once the verification result is true, the encrypted transaction
is ready to be written in a new block and added to blockchain. Therefore, all business
transaction data could be encrypted and confirmed based on the zk-SNARK scheme23, and
none of the transaction details will be publicly disclosed. On the other hand, if a user wants to
voluntarily disclose the transaction information, s/he still has an option to announce the
transaction details. If the user chooses to shield the information such as sender’s address,
recipient’s address and transaction amounts, s/he must generate a zk-SNARK short proof and
share it with the public for verification.
23 For the technical details, please refer to Ben-Sasson, Chiesa, Tromer and Virza. 2015. Succinct Non-Interactive
Zero-Knowledge for a Von Neumann Architecture. Available at: https://eprint.iacr.org/2013/879.pdf. Last accessed 5/23/17
10:33PM.
31
4 Prototyping and Evaluation
4.1. Basic Infrastructure
In order to test the proposed framework of design, this paper develops a prototype of the
blockchain-based accounting information system (BbAIS) using the core code from the
Multichain24 platform. Multichain.com is an open source platform for blockchain
applications. It helps easily build applications on blockchains and shared ledgers, and it also
provides the functions of permissions management, assets issuance and data sharing. Based
on the Multichain platform and four Windows servers at Rutgers CAR-Lab25, this study
creates a four-node blockchain network and tests the performance of the proposed BbAIS
framework. Table 4 shows the technical parameters of the four servers used for prototyping
and simulation.
<INSERT TABLE 4 HERE>
First, this study created a new blockchain named “Achain” and initiated it on the Server
92. Second, the other three servers (i.e., Server 109, Server 116 and Server 117) are used to
connect to the “Achain”. There are three subprocesses to complete the connection: 1) the
other three servers send requests for connect permissions; 2) Server 92 grants connect (or
together with send, receive and mine) permissions to the other three servers; 3) the other
three servers use their public and private keys to connect to the “Achain”. Finally, these four
servers form a private blockchain network that serves as the infrastructure of BbAIS. Figure
12-1 shows the steps of creating and initiating the “Achain” and connecting the nodes to it,
24 http://www.multichain.com. Last accessed 5/23/17 10:34PM. 25 http://raw.rutgers.edu/carlab.html. Last accessed 5/23/17 10:35PM.
32
and Figure 12-2 shows the technical parameters of “Achain” that describe the basic rules of
the infrastructure, for example, the rules of permission management, block mining
participation, mining runtime, and mining reward26.
<INSERT FIGURE 12 HERE>
After creating “Achain” and connecting the nodes to it, this study simulated the
processes of issuing and transferring assets in the blockchain. As shown in Figure 13, first we
checked the issue permissions and established that only Server 92 has the permission to issue
new assets. Then, 1000 new assets “Asset1” were created in Server 92 with the unit of 0.01.
Next, we sent 100 “Asset1” from Server 92 to Sever 109 and checked their account balances,
which show that Server 92’s balance was changed from 1000 to 900 and Server 109’s
balance was changed from 0 to 100. Thus, the simulated transaction was completed.
<INSERT FIGURE 13 HERE>
4.2. The Prototype of Blockchain based Accounting Information System
To begin with, this study simulated the process of assets tokenization. As there are many
types of assets, for simplicity they are divided into: 1) cash coin, 2) divisible assets and 3)
indivisible assets. For each issuance of new assets, BbAIS will automatically create a
reference ID that can be linked to a real-world asset. For example, a building as an indivisible
asset can be encoded in blockchain by binding its physical address to the corresponding
token’s reference ID. The issuer’s address is also linked to the reference ID, which provides a
26 This prototype focused on the demonstration of blockchain based accounting information system without discussing the
reward mechanisms for block mining. The authors understand the mining incentives are an important parameter in
blockchain design, however our main objective is to apply this technology to bookkeeping and fraud prevention instead of
encouraging participation. We hope this will stimulate further discussion of this issue.
33
proof of the initial ownership. In this case, the indivisible assets could be encoded in
blockchain one by one, while the tokenization of divisible assets needs to be done in a batch.
For example, a factory creates a batch of inexpensive handbags that could be encoded in
blockchain sharing the same reference ID. Cash coin is another type of divisible assets, which
however could only be issued by central bank authorities. Table 5 and Figure 14 show the
process of tokenization and the tokenized assets in “Achain”.
<INSERT TABLE 5 HERE>
For the asset retirement, the BbAIS provides a specific wallet address where the users
can send the tokens. Then, those tokens are out of circulation.
<INSERT FIGURE 14 HERE>
After simulating the cash coin and inventory – handbags, a transaction of order-to-pay
cycle was demonstrated as follows (Figure 15). First, we checked the firm M’s cash coin and
inventory balance. As shown in Figures 15-1 and Figure 15-2, firm M has 19574.2 cash coins
and 6 handbags, while its supplier has 425.8 cash coins and 14 handbags. Then, firm M
ordered 6 handbags from the supplier and the supplier shipped the goods immediately (Figure
15-3), which completed the transfer of the 6 handbags’ ownership from the supplier to firm
M. As soon as firm M received the goods in the warehouse, it immediately disbursed the
payment of 425.8 cash coins to the supplier (Figure 15-4). Finally, we checked the ending
balance of both accounts after the procurement transaction (Figure 15-5 and Figure 15-6) and
finished the procurement transaction.
<INSERT FIGURE 15 HERE>
34
4.3. Simulation of Permissions Management
If a user has been actively participating in BbAIS for a long period, some of the “senior”
users can consider promoting this user to be a maintainer, or blockchain miner. As shown in
Figure 16-1, a user was granted the permission of mining, and the user is able to participate in
confirming and writing transactions to blockchain. In Figure 16-2, this user is listed in the
mining permission list and it can start to mine the new blocks.
<INSERT FIGURE 16 HERE>
Figure 16-3 shows a new block mined by a node. In this block, it lists the block
parameters: hash, miner, height, nonce27, difficulties28 and mined time. The transaction
records are recorded in the blocks and impossible to be changed in the future.
4.4. Simulation of Automatic Confirmation
Figure 17-1 shows that in the order-to-pay cycle, a customer made a payment to firm M
for goods received and figure 17-2 shows the payment details. All users of BbAIS
automatically confirmed this payment transaction, and the payment details can be used as
evidence by the auditors. Furthermore, all the transaction details including goods shipment
and payment between the customer and firm M can be collected and calculated in real time,
the accounts receivable and payable between firm M and the customer can be easily
calculated automatically.
<INSERT FIGURE 17 HERE>
27 A nonce is a value that sets the hash of the block containing many leading zeroes. 28 Difficulties is a measure of how difficult it is to find a nonce for a given target hash containing leading zeroes.
35
4.5. Computational Overhead: Blockchain vs. Database
The current accounting information systems (e.g., Enterprise Resource Planning) are
designed on the basis of relational databases and database management systems (DBMS).
Blockchain can be an alternative to keep business transactions records with high information
integrity and low transmission cost. In order to compare the computational performance of
relational databases and blockchain, this study conducts an experiment to simulate a large
amount of transactions and measure the computational overhead (i.e., computational time and
data size) of the blockchain and database. This study uses the SQLite29 database to simulate
transaction recording (SQLite is a C library that provides a lightweight disk-based database).
Sqlite3 is the Python module that serves as the interface for the SQLite database. The
transactions were automatically generated on Server 92, while Server 109 played the role of
the trading partner. At the start of generating transactions, we monitored the account balance
of the “trading partner” server and measured the time taken to complete these transactions in
the blockchain, and also measured the time of recording these transactions in the SQLite
database on Server 92.
<INSERT TABLE 6 HERE>
Table 6 shows the comparison of computational overhead between the blockchain and
database. We find that to record the same number of transactions the blockchain system
needs to consume more computational overhead than the database system. Although more
computational time is consumed to complete recording transactions in the blockchain than in
29 https://docs.python.org/3.6/library/sqlite3.html. Last accessed 5/23/17 10:36PM.
36
the database, it is increasing linearly in the number of transactions and does not seem to be
cost-prohibitive. It is expected that with the rapidly improving information technology and
decreasing computation cost, the blockchain scalability and computational resources should
not be a big concern for accounting and auditing applications.
Blockchain provides an infrastructure for accounting information systems to keep
records of business transactions with high information integrity and low transmission cost.
However, to achieve the function of irreversibility and immutability we need to trade in
computational resources and runtime. But, it is expected that blockchain could be the most
promising technology in accounting and fraud prevention in the near future.
5 Conclusion, Discussion and Future Research
Blockchain is a promising technology for real-time accounting and continuous auditing.
Essentially, it is a publicly shared database that keeps records of all transactions ever
executed within. Using cryptographic algorithms (e.g., digital signature and hash function),
the blockchain protocol is able to guarantee data integrity that makes it impossible to tamper
with the transaction history. The property of irreversibility and immutability could be applied
in auditing for continuous monitoring and fraud prevention. However, to successfully deploy
blockchain in enterprise information systems and achieve high-level data immutability
requires a large number of participants who would have access to the full copy of every
transaction. It is necessary to find a trade-off between the benefit of information sharing and
the cost of weakening privacy and confidentiality, which motivates this paper to find a
solution for protecting private information in a public blockchain.
37
<INSERT FIGURE 18 HERE>
Based on the recent technical innovation of zero-knowledge proofs, this paper proposes a
design of the blockchain-based accounting information system (BbAIS) and demonstrates its
functionalities of real-time accounting, continuous monitoring and permission management
using a prototype (Figure 18). Furthermore, BbAIS uses the zk-SNARK scheme and
homomorphic encryption to provide high-level privacy-preserving mechanisms. Finally, the
comparative computational performance of blockchain and relational database in transaction
recording is evaluated and discussed.
The accounting-blockchain convergence shows great promise for improving information
integrity, decreasing transmission cost, increasing the speed of transaction settlement, and
preventing fraudulent transactions. Furthermore, using zero-knowledge proofs and
homomorphic encryption ensures data immutability while preserving data privacy. Therefore,
the deployment of blockchain enables the improvement of efficiency and effectiveness of
accounting and audit practice. The limitation of this research is that it doesn’t specify the
details of the block mining and rewarding mechanisms as well as the implementation of
zk-SNARK for BbAIS. Although at the current stage the computational overhead of
blockchain is still significant compared to that of the relational database, it is expected that
technology improvements will result in cost reductions allowing blockchain to become a
widely utilized infrastructure for enterprise information systems and continuous auditing
systems.
38
Reference
Alles, Michael G., Alexander Kogan, and Miklos A. Vasarhelyi. 2002. "Feasibility and
Economics of Continuous Assurance." Auditing: A Journal of Practice & Theory 21 (1):
125-138.
———. 2008. "Putting Continuous Auditing Theory into Practice: Lessons from Two Pilot
Implementations." Journal of Information Systems 22 (2): 195-214.
Alles, Michael, Gerard Brennan, Alexander Kogan, and Miklos A. Vasarhelyi. 2006.
"Continuous Monitoring of Business Process Controls: A Pilot Implementation of a
Continuous Auditing System at Siemens." International Journal of Accounting
Information Systems 7 (2): 137-161.
Back, Adam, Matt Corallo, Luke Dashjr, Mark Friedenbach, Gregory Maxwell, Andrew
Miller, Andrew Poelstra, Jorge Timón, and Pieter Wuille. 2014. "Enabling Blockchain
Innovations with Pegged Sidechains." URL:
Http://Www.Opensciencereview.Com/Papers/123/Enablingblockchain-Innovations-with-
Pegged-Sidechains.
Bengtsson, Maria, and Sören Kock. "” Coopetition” in business Networks—to cooperate and
compete simultaneously." Industrial marketing management29, no. 5 (2000): 411-426.
Ben-Sasson, Eli, Alessandro Chiesa, Daniel Genkin, Eran Tromer, and Madars Virza. 2013.
"SNARKs for C: Verifying Program Executions Succinctly and in Zero Knowledge." In
Advances in Cryptology–CRYPTO 2013, 90-108: Springer.
Ben-Sasson, Eli, Alessandro Chiesa, Eran Tromer, and Madars Virza. 2014. "Succinct
Non-Interactive Zero Knowledge for a Von Neumann Architecture.".
Blum, Manuel, Paul Feldman, and Silvio Micali. "Non-interactive zero-knowledge and its
applications." In Proceedings of the twentieth annual ACM symposium on Theory of
computing, pp. 103-112. ACM, 1988.
Buterin, Vitalik. 2014. "A Next-Generation Smart Contract and Decentralized Application
Platform." White Paper.
Cohen, Daniel A., Aiyesha Dey, and Thomas Z. Lys. 2008. "Real and Accrual-Based
Earnings Management in the Pre-and Post-Sarbanes-Oxley Periods." The Accounting
Review 83 (3): 757-787.
39
Dai, Jun, and Miklos A. Vasarhelyi. "Towards Blockchain-based Accounting and
Assurance." Journal of Information Systems (2017).
ElGamal, Taher. 1985. "A Public Key Cryptosystem and a Signature Scheme Based on
Discrete Logarithms." IEEE Transactions on Information Theory 31 (4): 469-472.
Gentry, Craig. 2009. "Fully Homomorphic Encryption using Ideal Lattices.".
Goldreich, Oded. 1985. "A Zero-Knowledge Proof that a Two-Prime Moduli is Not a Blum
Integer." Unpublished Manuscript.
Goldwasser, Shafi, Silvio Micali, and Charles Rackoff. 1989. "The Knowledge Complexity
of Interactive Proof Systems." SIAM Journal on Computing 18 (1): 186-208.
Graham, John R., Campbell R. Harvey, and Shiva Rajgopal. 2005. "The Economic
Implications of Corporate Financial Reporting." Journal of Accounting and Economics
40 (1): 3-73.
Groomer, S. Micheal and Uday S. Murthy. 1989. "Continuous Auditing of Database
Applications: An Embedded Audit Module Approach." Journal of Information Systems
3 (2): 53-69.
Ijiri, Yuji. 1986. "A Framework for Triple-Entry Bookkeeping." Accounting Review:
745-759.
Issa, Hussein and Alexander Kogan. 2014. "A Predictive Ordered Logistic Regression Model
as a Tool for Quality Review of Control Risk Assessments." Journal of Information
Systems 28 (2): 209-229.
Jordan, Scott. 2009. "Implications of Internet Architecture on Net Neutrality." ACM
Transactions on Internet Technology (TOIT) 9 (2): 5.
Kogan, Alexander, Michael G. Alles, Miklos A. Vasarhelyi, and Jia Wu. 2014. "Design and
Evaluation of a Continuous Data Level Auditing System." Auditing: A Journal of
Practice & Theory 33 (4): 221-245.
Kosba, Ahmed, Andrew Miller, Elaine Shi, Zikai Wen, and Charalampos Papamanthou.
2016. "Hawk: The Blockchain Model of Cryptography and Privacy-Preserving Smart
Contracts."IEEE, .
Kozlowski, Stephen. 2016. "A Vision of an ENHanced ANalytic Constituent Environment:
ENHANCE."Rutgers University-Graduate School-Newark.
40
Kuhn Jr, John R. and Steve G. Sutton. 2010. "Continuous Auditing in ERP System
Environments: The Current State and Future Directions." Journal of Information Systems
24 (1): 91-112.
Lansiti, Marco and Karin R. Lakhani. 2017. "The Truth about Blockchain." Harvard
Business Review 95 (1): 119-127.
Li, Ninghui, Tiancheng Li, and Suresh Venkatasubramanian. 2007. "T-Closeness: Privacy
Beyond K-Anonymity and L-Diversity."IEEE, .
Machanavajjhala, Ashwin, Daniel Kifer, Johannes Gehrke, and Muthuramakrishnan
Venkitasubramaniam. 2007. "L-Diversity: Privacy Beyond K-Anonymity." ACM
Transactions on Knowledge Discovery from Data (TKDD) 1 (1): 3.
Murthy, Uday S. and S. Michael Groomer. 2004. "A Continuous Auditing Web Services
Model for XML-Based Accounting Systems." International Journal of Accounting
Information Systems 5 (2): 139-163.
Nakamoto, Satoshi. 2008. Bitcoin: A Peer-to-Peer Electronic Cash System.
Pastena, Victor. 1979. "Some Evidence on the SEC's System of Continuous Disclosure."
Accounting Review: 776-783.
Peterson, Andrea. 2014. "Hal Finney Received the First Bitcoin Transaction. Here’s how He
Describes It." Washington Post 3.
Rackoff, Charles and Daniel R. Simon. 1991. "Non-Interactive Zero-Knowledge Proof of
Knowledge and Chosen Ciphertext Attack."Springer, .
Reid, Fergal and Martin Harrigan. 2013. An Analysis of Anonymity in the Bitcoin System
Springer.
Rezaee, Zabihollah, William Ford, and Rick Elam. 2000. "Real-Time Accounting Systems."
Internal Auditor 57 (2): 62-62.
Sweeney, Latanya. 2002. "K-Anonymity: A Model for Protecting Privacy." International
Journal of Uncertainty, Fuzziness and Knowledge-Based Systems 10 (05): 557-570.
Szabo, Nick. 1994. "Smart Contracts." Unpublished Manuscript.
Vasarhelyi, Miklos A. and Fern B. Halper. 1991. "The Continuous Audit of Online
Systems."Citeseer, .
42
Web Reference
Deloitte. 2016. “Blockchain: Democratised trust”
https://www2.deloitte.com/content/dam/Deloitte/uk/Documents/technology/deloitte-uk-t
ech-trends-2016-blockchain.pdf. Last accessed 5/24/17 12:14AM.
Ernst & Young LLP. 2016. “Blockchain reaction: Tech plans for critical mass”
http://www.ey.com/gl/en/industries/technology/ey-blockchain-reaction-tech-plans-for-cr
itical-mass. Last accessed 5/24/17 12:14AM.
Grigg, Ian. 2005. “Triple Entry Accounting”
http://financialcryptography.com/mt/archives/000501.html. Last accessed 5/24/17
12:19AM.
KPMG International. 2017 “Blockchain accelerates insurance transformation”
https://assets.kpmg.com/content/dam/kpmg/xx/pdf/2017/01/blockchain-accelerates-insur
ance-transformation-fs.pdf. Last accessed 5/24/17 12:19AM.
Nasdaq. 2015. http://ir.nasdaq.com/releasedetail.cfm?releaseid=948326. Last accessed
5/23/17 10:40PM.
PwC. 2016. “What’s next for blockchain in 2016?”
https://www.pwc.com/us/en/financial-services/publications/viewpoints/assets/pwc-qa-wh
ats-next-for-blockchain.pdf. Last accessed 5/24/17 12:11AM.
Rizzo, P. 2015. http://www.coindesk.com/sydney-stock-exchange-blockchain-prototype/.
Last accessed 5/23/17 10:40PM.
Shubber, K. “Banks find blockchain hard to put into practice”. Financial Times. 2016.
https://www.ft.com/content/0288caea-7382-11e6-bf48-b372cdb1043a. Last accessed
5/23/17 10:40PM.
Simon, Greg. 2016 “Blockchain and the Introduction of Single-Entry Bookkeeping”
https://medium.com/@Loyyal/blockchain-and-the-introduction-of-single-entry-bookkeep
ing-5e5b201db09. Last accessed 5/24/17 12:58PM.
43
Appendix
TABLE 1
Examples of Assets Tokenization
Virtual Currencies Tangible Assets Intangible Assets
Bitcoin
Ethereum
U.S. Dollar
Euro
China Yuan
Credit Card Limits
Building
Land
Machinery
Equipment
Oil Reserves
Inventory
Work-in-process
Office Supplies
Patent
Copyright
Trademark
Licensing Agreement
Stock shares
Debt securities
Financial derivatives
Table 1 shows examples of assets that can be tokenized, including currencies, tangible assets
and intangible assets. For example, U.S. Dollar can be encoded into blockchain as tokens for
currency circulation; a building can be recorded in blockchain as a token for registration and
trading; and copyrights can be programmed into blockchain as tokens for registration.
44
TABLE 2
Transaction Details
Transaction
Hash
Block
Hash
Received
Time
Inputs
Address
Total
Inputs
Outputs
Address
Total
Outputs
Transaction
Fee
feff4ca52e4 00d520 2017-01-24
14:20:33
1NVatZC 0.6613 1PeA5LS 0.6612 0.0002
erjhfff12nc 00ff310 2017-02-24
16:12:33
1NVatZC 0.2621 1PeA5LS 0.2621 0.0001
eep098ujnf 0000h3 2017-03-24
20:00:09
1NVatZC 0.1876 1PeA5LS 0.1876 0.0001
… … … … … … … …
Table 2 show an example how homomorphic encryption protects BbAIS user’s privacy. In
Table 2, there are at least three blockchain-based transactions. Each of them has a
Transaction Hash (transaction unique identifier), Block Hash (indicating which block
contains this transaction), Received Time (indicating when this transaction completed),
Inputs Address (indicating the sender’s address), Total Inputs (indicating how much the
sender transfers), Outputs Address (indicating the recipient’s address), Total Outputs
(indicating how much the recipient receives) and Transaction Fee (indicating the cost this
transaction).
45
TABLE 3
Example of Encrypted Transaction Details
Transaction
Hash
Block
Hash
Received
Time
Inputs
Address
Total
Inputs
Outputs
Address
Total
Outputs
Transaction
Fee
feff4ca52e4 00d520 2017-01-24
14:20:33
1NVatZC hrnPgu
a6vm
1PeA5LS TUC5V
pcQAv
5XXPhf+ku
6U
erjhfff12nc 00ff310 2017-01-24
16:12:33
1NVatZC eI+IYf/
YZb
1PeA5LS eI+IYf/
YZbM
IBieGxOyZ
Kk
eep098ujnf 0000h3 2017-01-24
20:00:09
1NVatZC NuJese
iM1i
1PeA5LS NuJesei
M1iY=
IBieGxOyZ
Kk
… … … … … … … …
Table 3 shows not only the input and output addresses but also the input and output amount
and transaction fees have been encrypted and recorded in the blockchain, which makes it very
hard for an intruder to steal secrets based on the limited disclosures (i.e., block hash,
transaction hash and timestamps).
46
TABLE 4
Technical Parameters of the Four Servers
Machine Name CPU RAW Disk Nickname
RARC-STATBOX3 Inter®Xeon®
CPU E5-2687W
0 @3.10 GHz
64.0GB 7.4TB Server 92
RARC-STATBOX4 Inter®Xeon®
CPU E5-2430 0
@2.2GHz
32.0GB 5.4TB Server 109
RARC-STATBOX6 Inter®Xeon®
CPU E5-2680
v3 0 @2.50GHz
64.0GB 5.2TB Server 116
RARC-STATBOX7 Inter®Xeon®
CPU E5-2680
v3 0 @2.50GHz
64.0GB 5.2TB Server 117
Table 4 shows the technical parameters of the four serves used for prototyping and simulation.
Machine Name represents the servers’ computer names and Nickname represents their code
names when they serve as the nodes of the blockchain prototype.
47
TABLE 5
Assets Tokenization Simulation
Asset Name Reference ID Issuer Address
Cash coin 213-267-35883 18FWJdyLDLdQU59EEg8UQHE3RZWAh6JCoxpnco
Handbags 192-266-38671 1RzU4qqiyaH6y6jDDQSJtAKNDqviJNgvn5Tiqe
Building 1 WP 784-643-67849 1HpDPEK8pnegtXVKdkzN67nEtwsMmmCs2JFsuv
… … …
Table 5 shows the process of tokenization and the tokenized assets in “Achain”. In Table 5,
there are at least three assets tokens. Asset Name describes the real-world names of the
tokenized assets, Reference ID indicates the unique identifiers of the tokenized assets, and
Issuer Address shows who initially encoded an asset into blockchain.
48
TABLE 6
Computational Overhead: Blockchain vs. Database
Blockchain Database
Number of
Transactions
Computational
Time
(s)
Record Size
(byte)
Computational
Time
(s)
Record Size
(byte)
1 3.71 570 0.00 201
10 19.70 5700 0.01 2010
100 193.07 57000 0.01 20100
1000 1927.13 570000 0.02 201000
Table 6 shows the comparison of computational overhead between the blockchain and
database. This study simulated 1,000 transactions and recorded the corresponding
computational time (in seconds) from initiation of the first transaction to completion of the
last transaction in both blockchain and SQLite database. Table 6 also shows the data size of
the records in both blockchain and SQLite database.
55
FIGURE 7
The Neutrality of BbAIS
Blockchain-based
Accounting System
Blockchain-based
Accounting System
Blockchain-based
Auditing System
Blockchain-based
Exchange System
Blockchain-based
Taxing System
57
FIGURE 9
Hierarchy of Permissions Management
Central
Authority
Firm M
Subsidiary A
Employee
Subsidiary B
Employee
Subsidiary C
Employee
Supplier Customer Peer firm Financial
Intermediaries
Permissions
Connect blockchain
Grant access
Create transactions
Initiate assets
Maintain blockchain
Connect blockchain
Grant access
Create transactions
Initiate assets
Connect blockchain
Grant access
Create transactions
Connect blockchain
Create transactions
60
FIGURE 12
Creation and Initiation of “Achain”
Figure 12-1. Creation and Initiation of “Achain”
Figure 12-2. “Achain” Technical Parameters
Create “Achain”
Initialize “Achain”
Connect “Achain”
Grant permissions
Success? No Yes
Reconnect
“Achain”
61
FIGURE 13
Issuance of New Asset
Permissions check
Issue assets on
“Achain”
Account balance
check
Complete
settlement
Sufficient? No Yes
Transfer assets
Transaction
end
63
FIGURE 15
Order-to-Pay Transaction
Figure 15-1. Firm M’s Balance before Procurement
Figure 15-2. Supplier’s Balance before Procurement
Figure 15-3. Goods shipment
Figure 15-4. Disburse payment
Figure 15-5. Firm M’s balances after procurement
65
FIGURE 16
Granting Block Mining Permission
Figure 16-1. Granting Block Mining Permission
Figure 16-2. Mining Permission List
Figure 16-3. Block Mined by One Node
67
FIGURE 17
Simulation of Automatic Payment Confirmation
Figure 17-1. Payment for Handbag Delivery
Figure 17-2. Payment Details
Recommended