An Accountable Blockchain Decentralized And
Total Page:16
File Type:pdf, Size:1020Kb
CoinCrowder: An accountable Blockchain Decentralized Application (DApp) with tamper-proof evidence of purchase and analyses 2021-03-06 Zuzsanna Dianovics & Nahid Ebrahimi Majd California State University San Marcos This document is made available through ScholarWorks, the shared institutional repository of the California State University System. Visit https://scholarworks.calstate.edu/ for more openly available scholarship from the CSU. Repository Citation Dianovics, Z. & Majd, N.E. (2021, March 3). CoinCrowder: An accountable blockchain decentralized application (DApp) with tamper-proof evidence of purchase and analyses [Conference session]. 2021 Computer Science Conference for CSU Undergraduates, Virtual. https://cscsu-conference.github.io/index.html CoinCrowder: An accountable Blockchain Decentralized Application (DApp) with tamper-proof evidence of purchase and analyses Zsuzsanna Dianovics, Nahid Ebrahimi Majd California State University San Marcos, United States Abstract This gap of trustworthiness and transparency exists in the structure of crowdfunding applications currently used Crowdfunding is the practice of funding a project or in the web. This missing functionality of checks against venture by raising small amounts of money from a large purchases and tamper-proofing the evidences of purchases number of people, typically via the Internet. One of the allows any product owner to spend the contributed funds main challenges in the current Crowdfunding platforms is as they wish with no accountability. accountability, whether the project owner spends the fund in an appropriate way to achieve the project objectives. One robust solution to fill this gap is utilizing The people who contribute to the project need a blockchain technology in the structure of the application. trustworthy platform that clearly elaborates how the raised money is spent. One great approach is to let these people The rest of this paper is organized as follows. Section 2 contribute to make decisions about spending the money. introduces the blockchain technology. Section 3 discusses The money could be spent only when a consensus is the related work. Section 4 elaborates the architecture of reached. Besides that, once a decision is made and a the DApp, which we named CoinCrowder. In Section 5 we financial transaction is confirmed, there should be no way analyze the computational complexity of implemented to change the decision or the transaction. In this project, DApp. Section 6 draws the conclusion and discusses the we used Ethereum blockchain to design such platform. future directions of this research project. Inherent to the structure, blockchain tamper-proofs all data and financial transactions. 2. Blockchain Technology We used a crowdfunding blockchain decentralized application (DApp) and tested it on Rinkeby Ethereum Blockchain consists of a sequence of blocks, each network. We analyzed the computational complexity of the chained to the last block via the previous block’s hash. The DApp’s Ethereum smart contracts based on the amount of blockchain is stored on a decentralized peer-to-peer gas required to deploy the contracts and process the network. Each major node in this network, named a full transactions on Ethereum. node, stores a copy of the blockchain and also serves the other full nodes and several clients. The main benefits of this technology are as follows: 1. Introduction 1. Tamper-proof: Once a block of transactions is mined and added to the blockchain, any In 2019, the global crowdfunding market was valued at manipulation of that data will be immediately 13.9 billion U.S. dollars and was forecast to triple by 2026. revealed by the nodes. Crowdfunding platforms are great ways for getting the 2. Decentralized data management: The blockchain public to help fund a private project. However, since there network is independent from any centralized is no guarantee that the project owner will use the funds authority. It is managed by a peer to peer network. honourably, there is a gap in the application. Once the fund All the peers can control and monitor the data. is collected, the project owners may use it as they wish, 3. Transparent data: The transactions are publicly even if it is not to fulfil the project’s requirements. There available on the blockchain. is no way for the contributors to monitor the way the 4. Anonymized data: Transactions on the blockchain project owners spend the fund or whether it is required and are made between accounts, and the accounts are useful for the purpose of project. The project owners may anonymized. Although the transactions on the provide some evidence, e.g. a payment receipt, however blockchain are publicly available, the owners of the structure of current crowdfunding platforms even those transactions are anonymized. One single client may that accept cryptocurrencies like Initial Coin Offering use thousands of different accounts for different (ICO) does not provide any embedded feature that proves transactions to better anonymize the accounts such evidences have not been tampered with. involved in their transactions. 3. Related work The application’s user interface contains several pages. The first page provides a list of fundraising campaigns. An Blockchain-based crowdfunding is an emerging authorized user can initiate a new campaign, access the economic phenomenon and a state-of-the-art strategy to details of an already existing campaign or contribute to a finance ventures. It has recently been investigated in campaign. When a user contributes to a campaign, several research projects. [1] proposed a blockchain-based MetaMask deploys and asks the user to confirm that the crowdfunding platform to raise funds for cyber-insurance, given amount of Ethers is to be paid from the user’s insurance for cyber products. [2] compared and contrasted Ethereum Wallet. Once the user confirms, the application the success factors of blockchain-based vs conventional uses the coded Web3 API to upload the confirmed crowdfunding. A good understanding of these success transaction to the Ethereum blockchain. Since blockchain factors is crucial for companies to design their blockchain is transparent, anyone can observe that the transaction was based fundraising initiatives properly and facilitate added to the blockchain. However, due to anonymity, only potential investors to seek main signals and drivers of an authorized user, who is knowledgeable about the outstanding projects. For instance, some of the unique accounts affiliated with their project, can figure out that success factors of blockchain-based crowdfunding this transaction was made by a contributing account. An platforms referring to [3,4] are (1) accepting an account is a unique big number in HEX notation, created international currency like Bitcoin and Ether; (2) Open and managed by the user’s Wallet in MetaMask. source code; (3) social networks combined with the blockchain. In a different research study, [5] used social Another feature of this application is the people who media analytics, analysis of public discussions on social contribute to a campaign are confident that the contributed media, to track the evolution of knowledge about new funds are only spent with the consent of the majority of the technologies in finance among people. Their results contributors, known as Approvers. To be eligible to be an illustrated that during May 2017 to October 2018 when Approver, an individual must contribute at least a they studied the financial social interactions, the minimum value as set by the campaign Manager. When the discussions were dominated by blockchain technology, Manager needs to spend some amount of the collected cryptocurrency and Initial Coin Offering (ICO). funds, they will make a request containing the amount of required funds, the Seller’s account as a contingency of the Our main contribution in this paper is to examine a request, and the purpose of spending the funds. The trustworthy blockchain-based crowdfunding platform and Manager needs to receive a majority (at least 50%) consent analyse the computational complexity of deploying the to proceed in spending the requested funds. Once the designed smart contacts and uploading the transactions to Manager receives a majority of the Approvers’ consent, the Ethereum blockchain in terms of required gas. they may, at their leisure, make the purchase and send the funds to the designated Seller. Again, MetaMask deploys 4. The Architecture of CoinCrowder and asks the user to confirm that the given amount of Ethers is paid from the user’s Ethereum Wallet. The assumption is the payees accept Ethers for payments. Once We used a blockchain-based crowdfunding DApp [6], the user confirms, the application uses the coded Web3 consisting of the following items. API to upload the confirmed transaction to the blockchain. (1) A web-based GUI implemented in Next.js: the This method of spending contributed funds allows the campaign owners and contributors can visually contributors to participate in making decisions as to how interact with the program via the GUI. those funds are spent and to whom those funds are paid. (2) Smart contracts implemented in Solidity: the web Although the account numbers of the Manager, Approvers based GUI can interact with the blockchain, deploy and Sellers are visible publicly, anonymity is maintained smart contracts and upload transactions to the since the identity behind the accounts remains private. The blockchain via Web3 API. DApp implements the described mechanism of (3) Ethereum: