Editor’s Note: The following is a supplement to “Blockchain Basics and Hands-on Guidance: Taking the Next Step toward Implementation and Adoption” by Deniz Appelbaum and Sean Stein Smith; the full article can be found here: https://www.cpajournal.
Ethereum
The basic steps for getting started with Ethereum are:
- Start an Ethereum node.
- Compile a smart contract using Solidity. Solidity is a contract-oriented, high-level programming language for implementing smart contracts. It was influenced by C++, Python, and JavaScript and is designed for Ethereum (http://solidity.readthedocs.io/en/v0.4.24/).
- Deploy a smart contract to the network and receive your contract’s blockchain address and application binary interface (ABI, a Javascript-based file of the contract details).
- Call information into your contract with a Webs.js JavaScript API interface.
The beginning of this process, in Windows, is as follows:
- Install the Ganache software and open it for later use. Ganache is a one-click open source software application used to install the blockchain (http://truffleframework.com/ganache/).
- Download your own copy of MyEtherWallet (v3.21.0 zip), but before unzipping the file, consult the advice provided here: https://kb.myetherwallet.com/getting-started/protecting-yourself-and-your-funds.html. Most issues with blockchain have occurred from sloppy security practices with wallets.
- Go to https://remix.ethereum.org/. Remix is the complier for the coding language of the Ethereum blockchain. Erase the text “after contract ballot” and enter the script shown in Exhibit 1 instead.
- Leave the Remix tab open in your browser and go to the Ganache tab/screen. There you will see at the top of the table a value for “RPC SERVER.”
- Unzip your MyEtherWallet download file and open the folder. Open the Index.html file and when the “Create a New Wallet” interface is displayed, click the drop-down menu for “Network” and select “Custom Node.” During the wallet creation process, you will see warning pages, and these suggestions should not be taken lightly.
Once you have created a wallet, create your self-hosted blockchain and contract. This process is explained extensively here: http://bit.ly/2LCQMqm, http://bit.ly/2snORNE.
Factom DLoc
Factom DLoc creates a seal that incorporates a special security chip that can hold contextual information, such as images and text, which can be stored as public data or as private data accessible to authorized parties only. Simply apply the DLoc sticker to any document and start tracking your document in the platform. One can choose from a range of different chip platforms with storage capacities between 1kB and 64kB. DLoc stickers support all the standard security features including UV print, microtext, or latent images. The document’s data is tagged to the unique ID of the NFC chip and is only recognizable via a private key; the document can then be managed in a client-customizable DLoc mobile app.
DLoc has a seamless integration with the secure Factom blockchain. Once the sticker is applied, it can be verified using a desktop reader or a mobile app on an NFC-enabled phone. Scanning the documents reveals their true history and authenticity. DLoc provides secure document provenance, minimizing the time required to confirm documents and contracts. Freeing up time from information tracking and authentication, and from reviewing and analyzing paperwork, will allow CPAs to instead focus on higher-level tasks.
Trying this blockchain with a demo example can be completed as follows:
- Go to https://freefactomizer.com.
- Upload an unimportant test document to be hashed.
- Obtain an estimate for how long the hashing will take by clicking “Factomize the File Signature.”
- Wait to receive your link, and then view your document on the Factom blockchain.
Deniz Appelbaum, PhD, is an assistant professor in the department of accounting and finance at the Feliciano School of Business, Montclair State University, Montclair, N.J.
Sean Stein Smith, DBA, CPA, is an assistant professor in the Department of Economics and Business at Lehman College, City University of New York (CUNY).