CENG 407 Project Report - CankayaUniversity/ceng-407-408-2023-2024-AGRICROWD-Tarimda-Kitlesel-Fonlama-Uygulamasi GitHub Wiki
[ENG] AGRICROWD examines the intersection of blockchain technology and crowdfunding, which has recently garnered significant attention. The decentralized, transparent, and secure nature of blockchain holds immense potential to revolutionize the crowdfunding landscape. This literature review aims to delve into the synergy between these two pivotal components that constitute the AGRICROWD platform, while thoroughly exploring the fundamental trends, challenges, and opportunities. Additionally, it should be noted that traditional crowdfunding studies are also encompassed within this review. The primary goal of this review is to comprehend the shortcomings and opportunities within existing research, offering recommendations that will guide future studies. The review focuses on the efficiency of blockchain in crowdfunding, investor protection, and its impact on cross-border transactions. It also delves into the examination of regulatory frameworks and legal issues within various jurisdictions. This comprehensive compilation not only presents an analysis of effective crowdfunding initiatives but also provides references to pertinent research and articles within this domain. By doing so, this review establishes a robust foundation for further research and development in both blockchain-based crowdfunding and traditional crowdfunding arenas.
[TR] AGRICROWD, son dönemde büyük bir ilgi odağı haline gelmiş olan blockchain teknolojisi ile kitlesel fonlama konularını mercek altına almaktadır. Blockchain'ın merkezi olmayan, şeffaf ve güvenli yapısı, kitlesel fonlama alanında büyük bir devrim potansiyeli taşımaktadır. Bu literatür taraması, AGRICROWD platformunu oluşturan bu iki önemli bileşen arasındaki kesişimi keşfetmeyi amaçlamakta, temel eğilimleri, karşılaşılan zorlukları ve sunulan fırsatları derinlemesine incelemektedir. Aynı zamanda, geleneksel kitlesel fonlama çalışmalarının da bu incelemenin kapsamında olduğu unutulmamalıdır. İncelemenin amacı, mevcut araştırmaların eksikliklerini ve fırsatlarını anlamak ve gelecekteki çalışmalara yön verecek öneriler sunmaktır. Blockchain'in kitlesel fonlama verimliliği, yatırımcı koruması ve sınır ötesi işlemler üzerindeki etkisine yoğunlaşmaktadır. Ayrıca, farklı yargı alanlarındaki düzenleyici çerçeveleri ve hukuki konuları araştırarak, bu alandaki mevcut durumu ele almaktadır. Bu kapsamlı derleme, etkili kitlesel fonlama girişimlerinin analizini sunmanın yanı sıra, bu alandaki ilgili araştırmaların ve makalelerin kaynaklarını da sağlamaktadır. Bu inceleme, blockchain tabanlı kitlesel fonlama ve geleneksel kitlesel fonlama alanlarında daha fazla araştırma ve geliştirme için güçlü bir temel sunmaktadır.
Numerous models of crowdfunding exist, yet they all share the common objective of garnering sufficient funds to manufacture products or offer services. Crowdfunding fundamentally relies on the reciprocal trust between backers and project creators. However, the conventional approach to crowdfunding presents inherent risks, as contributors lack direct control over their invested funds. The adoption of blockchain technology in the crowd- funding system will aid in the prevention of fraud, and the improvement of the present crowdfunding systems’ transparency and security.[1] Agriculture is one of the world's most essential industries, and food production is critically important for everyone. However, traditional financing models are inadequate to support this sector. Financing of agricultural projects; It is one of the major challenges faced by farmers, food producers and agricultural entrepreneurs. At this point, AGRICROWD's aim is to create a bridge to finance innovations that shape the future of agriculture. This intersection between agritech and crowdfunding will benefit both farmers and investors. In this context, AGRICROWD has the potential to offer a new perspective on the financing of agricultural projects. AGRICROWD represents the technological transformation of finance – by combining crowdfunding with blockchain – and could be an indication of the agriculture sector working more closely with technology.
Crowdfunding is the process where funding for a project or venture is sourced from a large community, rather than relying on substantial contributions from one or two investors. For a successful crowdfunding endeavor, it's imperative to attract and engage a considerable group of patrons, compelling them to believe in and financially support the merit of your project. [2]
We can examine crowdfunding applications under four main headings:
-
Absence of financial obligations: Supporters contribute funds without expecting reimbursement or business equity, freeing you from loans or surrendering company ownership.
-
Advocacy for societal benefits: Potent for initiatives with societal, philanthropic, or communal objectives as individuals support causes aligning with their values.
-
Cultivation of a supportive network: Engaging in this type of crowdfunding can effectively cultivate a community of backers emotionally invested in the success of your project or cause.
-
Selective impact: Campaigns depend on the project's ability to evoke emotional responses, potentially diminishing effectiveness for more commercial ventures.
-
Uncertainty in funding acquisition: No assurance of reaching the financial target; certain platforms may stipulate forfeiting all funds if the goal is not met.
-
Risk of idea exposure: Crowdfunding means disclosing your concept publicly, risking someone else duplicating your idea.
-
Operational costs: Although funds raised are not subject to repayment, most crowdfunding platforms implement a fee correlated with the total amount collected.
-
Retained ownership: No need to relinquish any company equity, unlike models that involve equity exchange.
-
Market validation: Enables evaluation of consumer interest in your offering, indicating market demand for your product or service.
-
Early sales and promotion: Campaigns can double as a mechanism for pre-selling your product, generating buzz, and securing an early adopter customer base.
-
Support network cultivation: Platforms used for crowdfunding offer a means to connect and interact with contributors, fostering a community of advocates.
-
Fixed-goal requirement: On numerous crowdfunding sites, you must meet your funding target to access the funds; the all-or-nothing model is prevalent.
-
Reward delivery obligations: Fulfilling promised rewards can be complex and potentially expensive; failure to deliver can tarnish your reputation.
-
Variable outcomes: Success is not guaranteed; elements like campaign quality, timing, and luck influence outcomes.
-
Idea exposure risk: By going public with your idea, there's a chance of it being replicated; striking a balance between gaining visibility and protecting your concept is essential.
-
Associated costs: Crowdfunding sites usually take a cut from the total funds raised, and there may be extra transaction fees.
-
Potential for substantial funding: Backers may provide more substantial sums compared to reward-based campaigns, allowing startups to secure considerable funding.
-
Enduring partnerships with investors: Equity crowdfunding can foster lasting investor relationships, with backers invested in the company's continuous prosperity.
-
Benefit from investor acumen and connections: Investors typically come with valuable skills, experiences, and networks, serving as invaluable assets for startups.
-
Dilution of Ownership: Issuing equity means relinquishing a share of company control and decision-making power, distributing ownership among investors.
-
Legal and Regulatory Hurdles: Navigating laws governing equity-based crowdfunding can be daunting and may incur significant legal expenses.
-
Heightened Reporting Demands: Managing a larger pool of shareholders entails frequent communication and detailed financial disclosures, demanding more time and administrative effort.
-
Expectations for Financial Returns: Equity investors expect financial returns, placing heightened performance expectations on the company.
-
Risk of Ownership Dilution: Future rounds of equity financing might reduce the ownership percentage of initial investors, potentially leading to discontent among the investor base.
Also known as "peer-to-peer lending" or "P2P lending," debt-based crowdfunding operates like a conventional loan. The startup commits to repaying the loan with interest within a predetermined timeframe.
-
Ownership Preservation: Debt-based crowdfunding doesn't require surrendering any stake in the company; the obligation to investors concludes once the loan is fully repaid.
-
Expedited Funding Process: Obtaining a loan through debt-based crowdfunding is often quicker than traditional banking routes, with more lenient qualification criteria.
-
Predictable Repayment Plan: Debt-based funding provides a set repayment schedule, offering more predictability compared to the fluctuating nature of equity investments.
-
Potential for Reduced Expenses: Debt-based crowdfunding might prove to be a more economical option than equity-based methods or other loan types.
-
Compulsory Repayment: Debt-based crowdfunding necessitates the repayment of the principal amount plus interest, irrespective of business performance.
-
Interest Burden: The loan's cost encompasses the original borrowed amount and the interest accrued throughout the loan's duration.
-
Credit Score Implications: Failing to meet loan repayment schedules can adversely affect your credit score, potentially hindering future financing.
-
Collateral Risk: Some debt-based crowdfunding arrangements may demand collateral or a personal guarantee, with failure to repay risking the forfeiture of secured assets.
Comparison of popular crowdfunding applications is as follows:
Figure 1 Comparison of popular crowdfunding applications
Traditional crowdfunding platforms often grapple with significant fraud concerns. Critics argue that the online nature of crowdfunding might increase the risk of fraud, as standard legal and reputational safeguards might be less effective.
-
Typically, these platforms don't require user verification for project initiation, and legal responsibilities to fulfill project commitments are minimal once a project is live. [1]
-
Risks include the platform shutting down unexpectedly, funds being retained by the platform, delayed reward distribution, creators halting communication, non-delivery of promised products, and incomplete refunds to backers. [4]
-
A primary issue with the standard operations of crowdfunding sites is that backers lack control over their funds once contributed, leading to frequent occurrences of fraud and scams. [5]
-
Additional challenges encompass fund accountability, copyright infringements, and compromised project data privacy. There are instances where project ideas yet to be funded are appropriated and executed by more affluent entities using web scrapers. [1]
In his article "Bitcoin: A Peer-to-Peer Electronic Cash System", Satoshi Nakamoto outlined the mathematical underpinnings of the bitcoin cryptocurrency, introducing the groundbreaking technology known as blockchain. This technology, besides being the basis for cryptocurrencies, is also utilized in the more established financial sector and has paved the way for innovations like smart contracts. [6]
The birth of bitcoin in 2008 has introduced a new concept that is poised to transform various sectors, including banking, government, and media. Some view it as a revolution, while others anticipate it as an evolution that will take years before practical benefits are realized. Despite this, the impact of blockchain technology has already begun, with many big companies adopting its use.
Nakamoto introduced blockchain to address the challenge of building confidence in a decentralized system, specifically for storing timestamped documents in a distributed system. This prevents any third party from secretly tampering with the data's content or timestamps. [6]
- Blockchain transactions are confirmed by multiple nodes, reducing errors. If one node has a mistake, other nodes identify the fault, ensuring higher accuracy. [8]
- Two parties can confirm and complete a transaction without the need for intermediaries, saving both money and time. [8]
- Decentralized networks, like blockchain, make fraudulent transactions nearly impossible, enhancing security. Various blockchain systems employ proof-of-stake or proof-of-work verification techniques to prevent fake transactions. [8]
- Round-the-clock operation of blockchains facilitates more efficient money and asset transfers, especially for international transactions. There's no need to wait for manual verification by government agencies or banks. [8]
- Blockchain has limitations on transaction speed, with scalability being a significant challenge. For instance, Bitcoin can process only 4.6 transactions per second compared to Visa's 1,700. [8]
- The energy consumption of blockchain, particularly for validating transactions, is significantly higher compared to traditional databases, contributing to increased costs and environmental impact. [8]
- Digital assets, such as bitcoin, stored in a blockchain wallet, are protected by a cryptographic key. If lost, there's no centralized authority to recover access, posing a risk of asset loss. [8]
- Blockchain's decentralized nature and increased privacy attract criminal activities, making it challenging to track and regulate illegal transactions. [8]
Since blockchain is fundamentally a distributed system, understanding distributed systems is crucial to comprehend blockchain fully. It is a distributed, decentralized system, to put it more accurately.
Distributed systems refer to a computer paradigm where two or more nodes collaborate to achieve a shared goal, appearing as a single logical platform to users. In a distributed system, an individual participant is called a node, capable of sending and receiving messages with other nodes. Nodes may be malevolent, malfunctioning, or honest, with Byzantine nodes capable of arbitrary behavior. Unexpected or malicious behavior negatively impacts the network's functioning, falling within the Byzantine category. [7]
3.3.1. CAP Theorem Because distributed systems are so difficult to design, it is possible to establish the CAP theorem, which holds that a distributed system cannot have all of its desirable attributes at once. In other words, in a distributed system, it is not feasible to simultaneously provide consistency, availability, and partition tolerance.
• Consistency is a feature that guarantees that every node in a distributed system has access to the most recent copy of the data. • Availability indicates that the system is operational, available for usage, and capable of receiving requests and providing data without any errors when needed. • Partition tolerance guarantees that the distributed system will continue to function properly even in the event that a group of nodes fails.
Blockchain is able to accomplish all three of these characteristics at once, something that a distributed system is unable to do. Replication is used to achieve fault tolerance. This is a popular and extensively applied technique for achieving fault tolerance. Consensus techniques are used to guarantee that every node has an identical copy of the data, hence achieving consistency. Another name for this is state machine replication. In essence, blockchain is a technique for replicating state machines.[7] 3.3.2. Consensus A process of agreement on a final state of data between distrusting nodes is called consensus. Various algorithms can be employed to reach a consensus. In client-server systems, for instance, it is simple to come to an agreement between two nodes. However, in distributed systems with several nodes, reaching consensus on a single value becomes exceedingly challenging. Distributed consensus is the idea of reaching agreement across several nodes. In order for a consensus process to provide the intended outcomes, a number of conditions must be satisfied. These are their requirements, along with brief explanations:[7] • Agreement: The same value is chosen by AII honest nodes. • Termination: The consensus process is terminated by AII honest nodes, and a decision is finally made. • Validity: The value that at least one honest node first offered and that all honest nodes agree upon must match.
• Fault Tolerant: Even with malfunctioning or malevolent nodes present, the consensus mechanism ought to be able to function. • Integrity: This condition states that no node may choose to make the same choice more than once. In a single consensus cycle, the nodes only decide once.
3.3.2.1. Proof of Work Prior to recommending a value for network acceptance, this kind of consensus process needs evidence that sufficient computing power has been used. 3.3.2.2. Proof of Stake This algorithm operates on the premise that a node or user has sufficient stakes in the system; for instance, the user has made sufficient investments in the system to make any harmful effort less profitable than carrying out an assault on the system. Peercoin was the first to develop this concept, and the Ethereum blockchain will employ it. Coin age, which is based on the quantity of time and coins that haven't been spent, is another crucial idea in Proof of Stake (POS). According to this concept, the coin age increases the likelihood of proposing and signing the subsequent block. 3.3.2.3. Delegated Proof of Stake An improvement over traditional point-of-sale systems is called Delegated Proof of Stake (DPOS), which allows any node with a stake in the system to assign voting authority to other nodes for transaction validation. The bitshares blockchain makes advantage of this.
3.4. Various Technical Definitions of Blockchain Blockchain is a type of data structure that essentially use hash pointers rather than regular pointers in a linked list. The prior block is referred to using hash pointers. The following diagram can be used to visualize the structure of a generic blockchain:
Figure 2 Generic Structure of a Blockchain
-
Addresses: Distinct identities for senders and receivers in a blockchain transaction, often public keys or generated from one. Users may create new addresses for each transaction.
-
Transaction: The fundamental building block, representing the transfer of value from one address to another.
-
Block: Comprising several transactions, along with components like nonce, date, and hash pointer from the previous block.
-
Nonce: An arbitrary number used once in cryptographic transmission to prevent replay attacks and maintain communication privacy.
-
Peer-to-Peer Network: A network architecture where all peers can send and receive messages and communicate directly.
-
Virtual Machine: Extends the functionality of a transaction script; some blockchains use virtual machines, like Ethereum Virtual Machine (EVM), to run applications.
-
Nodes: Participants in a blockchain network, undertaking tasks like mining, proposing, and validating transactions based on the consensus process.
-
Smart Contracts: Programs running on the blockchain that encapsulate business logic to execute when specific conditions are met.
- Allow everyone to sign up and participate in the main operations of the blockchain network.
- Require an invitation and legitimate identification for participation, often operated by network operators following specific protocols.
- Have both private and public portions, with select individuals managing the private portion.
- Typical blockchains producing cryptocurrency through mining as part of a consensus process.
The growth of blockchain technology supports ideas like "smart contracts," introduced by Szabo, which leverage user interfaces and computer protocols to execute contract conditions. Smart Contracts are gaining traction due to the ease provided by blockchains, allowing them to replace traditional intermediaries.
-
Crypto-currencies: Examples include Bitcoin, Litecoin, Ripple, and Monero.
- Bitcoin
- Litecoin
- Ripple
- Monero
-
Securities Issuance, Trading, and Settlement: Platforms like NASDAQ private equity, Medici, Blockstream, and Coinsetter focus on securities settlement.
- NASDAQ private equity
- Medici
- Blockstream
- Coinsetter
-
Insurance: Companies like Everledger use blockchain to register properties and provide policyholders access to transaction history.
- Everledger
-
Music Industry: Imogen Heap regulates music rights ownership and calculates royalties.
- Imogen heap
-
Decentralized Proof of Existence of Documents: Platforms like Proof of Existence store and validate the signature and timestamp of a document using blockchain.
-
Decentralized Storage: Storj enables sharing documents without the need for a third party through a peer-to-peer distributed cloud storage platform.
- Storj
-
Anti-counterfeit Solutions: Blockverify uses blockchain to verify the authenticity of items in electronic commerce.
- Blockverify
-
Internet Applications: Namecoin governs DNS in a decentralized manner, involving all users instead of companies and governments.
- Namecoin
Blockchains have a wide range of applications, especially in industries relying on third parties for establishing trust. According to Atzori [11], blockchain has the potential to transform civilization, including politics, by decentralizing government services through permissioned blockchains. This decentralization could enhance public administration functionality. In developing nations, blockchain could facilitate more efficient wealth protection, particularly regarding land rights, helping individuals establish ownership in areas where the government may pose a threat.
Crowdsourcing aims to assist business owners or startups in obtaining finance from a large number of sources, eliminating the need for financial institutions through a peer-to-peer network. Blockchain technology ensures transparent financial transactions, allowing users to view accounts and payments made to fundraisers. The use of blockchain technology in businesses, according to reports, could increase donor appeal, improve efficiency, reliability, and aid in revenue generation.
-
Trust and Confidentiality: Blockchain solves trust, misuse, and confidentiality issues in traditional crowdfunding, eliminating a single point of failure with its decentralized network.
-
Direct Transactions: Blockchain ensures that an investor's money reaches the designated recipient without the need for middlemen.
-
Smart Contracts: Independent smart contracts allow project creators to efficiently raise and reserve cash. Contributors have authority over their invested funds and vote on expenditure proposals.
-
Transaction Tracing: Blockchain technology associates addresses with transaction parties, simplifying transaction tracing and providing accessible records.
-
Hybrid Crowdfunding: Platforms merge reward-based and equity-based crowdfunding, offering backers opportunities as both shareholders and customers.
-
Transparency and Decentralization: Blockchain supports transparency, decentralization, and trust, providing a low-cost alternative for recording business activity.
-
Decentralized: Blockchain networks are not under the authority of a single entity, preventing a single point of failure.
-
Transparency: Data recorded in a blockchain is accessible to the public and visible to all network participants.
-
Immutability: Data entered into the blockchain cannot be altered after being saved.
-
Security and Privacy: Cryptographically secure processes in the blockchain boost privacy and security.
-
Identification and Verification: Users utilize public and private keys for identification, and digital signatures simplify verification during transactions.
The web, known as the "World Wide Web" or simply "Web," is a global network that enables information sharing between computers. Developed by Tim Berners-Lee in 1989, it hosts various content types, allowing users to access information worldwide through internet browsers. The web has evolved from static information presentation to interactive and participatory platforms, with phases like Web1.0, Web2.0, and Web3.0 improving its functionality.
Web 1.0 represents the initial phase of the Internet, characterized as the "static web." During this period (late 1990s to early 2000s), websites aimed to present information, and users consumed content as passive viewers.
Web 2.0 is a milestone offering an interactive, user-focused experience. Websites allow users to create, share, and interact with content, fostering a dynamic and participatory nature. Social media, blogs, and online communities are key components of Web 2.0.
The project leverages Web 2.0's interactive features to establish strong user interaction. The website adopts Web 2.0 principles for a user-friendly interface, enabling users to publish ideas and projects, fostering community participation.
-
Frontend Part (Client-side):
- Core technologies: HTML, CSS, JavaScript
- Libraries and frameworks: React.js
-
Backend Part (Server-side):
- Technologies: Node.js, Express.js
- Database: MongoDB
React.js is a JavaScript library for creating user interfaces, providing a component-based structure for modular and reusable parts.
Node.js is a JavaScript-based runtime environment for server-side applications, offering high performance and scalability.
Express.js is a web application framework for building Node.js applications, providing flexibility and easy development.
MongoDB is a NoSQL database using JSON-like BSON documents, suitable for large data sets and dynamic data models.
Web 3.0 represents an evolving phase, aiming for a smarter, connected, and semantic web experience. It integrates features like semantic links, distributed ledger technologies, machine learning, and artificial intelligence.
For agricultural crowdfunding projects, Web 3.0 offers benefits in reaching wider audiences, secure financing, automated transactions, big data analysis, and increasing community engagement. Blockchain technology, smart contracts, and semantic connections strengthen community participation.
A computer system for gathering, storing, verifying, and presenting data about locations on Earth's surface is called a geographic information system (GIS). GIS may assist people and organizations in better understanding geographical patterns and relationships by connecting seemingly unconnected data.
The White House defines geographic data infrastructure as "the technology, policies, standards, human resources, and related activities necessary to acquire, process, distribute, use, maintain, and preserve spatial data." GIS technology is an essential component of this infrastructure.
Any data that contains a location can be used by a GIS. Numerous parameters can be used to describe the location, including latitude and longitude, address, and ZIP code.
With GIS, a wide range of information kinds may be contrasted and compared. Data on individuals, such as population, income, and educational attainment, may be included in the system. It may contain details on the topography, including the locations of streams, various flora types, and various types of soil. It may contain details regarding the locations of storm drains, roads, and electrical power lines in addition to companies, farms, and schools.
With GIS technology, people can compare the locations of different things in order to discover how they relate to each other. For example, using GIS, a single map could include sites that produce pollution, such as factories, and sites that are sensitive to pollution, such as wetlands and rivers. Such a map would help people determine where water supplies are most at risk.[16]
Figure 3 GIS Structure
This Software Requirements Specification (SRS) document outlines the requirements and specifications for an innovative agricultural crowdfunding platform. The platform aims to revolutionize traditional funding models for agricultural projects by leveraging cutting-edge technologies such as blockchain, smart contracts, and modern web frameworks. This document serves as a blueprint to define the functionalities, constraints, and technical specifications of the proposed platform.
The agricultural crowdfunding platform aims to revolutionize financial support for agricultural initiatives, acting as a catalyst for the advancement of farming practices and investment prospects. It is conceived to cater to a wide array of stakeholders, encompassing individual farmers, agricultural enterprises, and potential investors, establishing a synergistic ecosystem for sustainable agricultural progress.
The core objectives of the platform encompass:
- Empowerment of agricultural initiatives
- Facilitation of investment opportunities
- Assurance of transparency among all participants
By providing a dynamic online hub, the platform enables farmers and agricultural project initiators to showcase their ventures, solicit financial backing, and establish collaborations within a global network of potential investors.
Key functionalities include:
- Creation of comprehensive user profiles
- Detailed project listings
- Secure and transparent payment processing
- Implementation of smart contracts
- Blockchain-based transaction records
- Audit trails ensuring transparency and traceability
The platform targets a diverse audience, including farmers, agricultural entrepreneurs, investors, and donors keen on supporting innovative agricultural endeavors. On the technical side, the development involves utilizing React.js, Node.js, and Express.js for frontend and backend functionalities, employing MongoDB for robust database management, and enforcing stringent security measures to safeguard user data and uphold platform integrity.
| Term | Definition |
|---|---|
| Blockchain | "Blockchain” is a distributed database or ledger used in many industries. This technology can be used for a variety of purposes, including cryptocurrencies, decentralized finance (DeFi) applications, non-unique tokens (NFTs), and smart contracts.[1] |
| Smart Contracts | A “Smart Contract” is a self-executing program that automates the necessary processes in an agreement or contract.[2] |
| Cryptocurrency | A digital or virtual currency secured by cryptography, allowing secure and anonymous transactions, commonly built on blockchain technology. |
| Decentralization | The distribution of control and authority across multiple nodes or individuals rather than being concentrated in a single central entity. |
| Transparency | Refers to the openness and accessibility of information within a system, ensuring that data and processes are visible, accountable, and easily understood by stakeholders. |
| Crowdfunding | Crowdfunding is the process of raising funds for a project or venture by obtaining small amounts of money from a large number of people, often facilitated through online platforms. |
| Transaction | A "transaction" in blockchain refers to the transfer or exchange of digital assets, utilizing a transparent, secure, and decentralized record-keeping system. |
| Entrepreneur | An Entrepreneur is an individual with the ability to establish, manage their own business, and often implement innovative projects with new ideas or ventures. |
[1]. https://decrypt.co/resources/blockchain-basics-what-is-blockchain
[2]. https://www.investopedia.com/terms/s/smart-contracts.asp
The SRS document encompasses various sections, outlining both functional and non-functional requirements, system features, technical architecture, and constraints. It provides a comprehensive understanding of the agricultural crowdfunding platform's specifications, guiding the development process and ensuring alignment with project goals.
The agricultural crowdfunding platform embodies an innovative digital environment specifically designed to revolutionize the financial landscape within the agricultural sector. Functioning as an independent and comprehensive online solution, it serves as a pivotal point of connection between agricultural project initiators, encompassing individual farmers, cooperatives, and larger-scale agricultural enterprises, and potential investors, including individuals, organizations, or institutions interested in supporting these initiatives.
The platform's development methodology is anchored in the agile framework, an iterative and flexible approach that accommodates evolving project requirements and ensures a responsive development lifecycle. Agile methodology, with its emphasis on adaptability and collaboration, allows for incremental development, continuous feedback, and adjustments throughout the project lifecycle.
The development process initiates with a comprehensive analysis of stakeholder requirements, establishing a foundational understanding of the platform's core functionalities and features. Following this, the development team engages in a series of iterative sprints, each focused on specific aspects of the platform's architecture, design, and functionality.
The agile methodology's hallmark of iterative cycles fosters constant communication and collaboration between development teams, stakeholders, and end-users. Regular sprint reviews and retrospectives enable the team to evaluate progress, identify potential bottlenecks, and adapt swiftly to changing requirements.
Furthermore, embracing an agile mindset encourages the integration of best practices and innovative technologies into the development process. This facilitates the seamless incorporation of emerging trends and technologies, ensuring the platform remains adaptable, scalable, and aligned with industry standards.
Throughout the development lifecycle, agile principles, such as flexibility, adaptability, and customer-centricity, guide the development team in delivering a robust, user-friendly, and feature-rich agricultural crowdfunding platform.
- Investee must upload details of the own project.
- Investee must enter the progress of the project into the system in detail.
- The investee should distribute the profits generated from product sales back through the system, particularly in a reward-based system.
- Investors should be able to thoroughly examine the details of projects.
- Investors should have the option to either contribute donations or engage in reward-based funding for projects.
- Investors should have the option to either contribute donations or engage in reward-based funding for projects.
- The Admin must have the capability to schedule maintenance operations within the system to ensure its smooth functioning.
- The Admin should regularly review system performance and apply necessary updates or fixes to enhance functionality and security.
- The Admin may need to oversee the system's infrastructure to optimize for performance and cost-efficiency.
- Additionally, the Admin should monitor user activities for compliance with platform policies and take appropriate action when necessary.
The platform will feature an intuitive and user-centric web interface developed using React.js. It will offer a user-friendly dashboard enabling farmers and project initiators to showcase their ventures and allowing investors to explore projects and participate in crowdfunding activities seamlessly. The interface will prioritize accessibility, ensuring ease of navigation and interaction across various devices and screen sizes.
The platform's hardware requirements are minimal and will support standard web browser functionalities, allowing users to access the platform across a broad spectrum of devices including desktops, laptops, tablets, and smartphones.
To ensure seamless interaction between various components, the platform integrates Node.js and Express.js for the backend, MongoDB for data storage, and blockchain technologies for secure and transparent transactions. Additionally, the platform communicates with third-party digital wallets such as MetaMask. This integration is essential in providing users with a secure and efficient mechanism for managing digital assets, enabling the smooth processing of transactions and the execution of smart contracts, which are pivotal to the platform's digital transaction capabilities.
The platform will utilize HTTPS (Hypertext Transfer Protocol Secure) for secure communication between users' browsers and the platform's servers, ensuring data confidentiality and integrity.
Use Case:
- Register
- Login
- Modify User Information
- Logout
Diagram:
Figure 4 Profile Management Use Case
Pre-Conditions:
- The user must intend to register in the system.
- The user should provide necessary information (name, email, password, etc.) during registration.
Scenario: New users provide the necessary information to register in the system and choose their preferences among role options. These preferences determine whether they will register as an investor or a user seeking investment (Investee). After entering their personal information, users can register in the system.
Post-Conditions:
- The user must register by selecting one of the role options (Investor or Investee).
- The system successfully completes the registration process, allowing the user to log in to the system.
Pre-Conditions:
- The user must have previously registered.
- The user must enter the correct username and password.
Scenario: Registered users can log into the system with the accounts they created earlier. They log in by authenticating their identity with a username and password. This enables them to access their accounts and be authorized by the system.
Post-Conditions:
- The user safely logs out of the system.
- The system terminates the user's session and restricts the user's access.
Pre-Conditions:
- The user must have logged into the system.
- The user must have permission to edit their profile information.
Scenario: After logging in, users have the authority to edit their profile information. They can use the "Modify User Information" option to update their user details, correct any incomplete or inaccurate information. This step allows users to keep their personal information up to date.
Post-Conditions:
- The user can successfully update their profile information.
- The system records the user's changes and identifies the user with updated information.
Pre-Conditions:
- The user must want to log out while being logged into the system.
Scenario: The logout process allows users to sign out of the system. Users securely log out, terminating their session and exiting the services provided by the system.
Post-Conditions:
- The user safely logs out of the system.
- The system terminates the user's session and restricts the user's access.
Use Case:
- Add a project
- Invest in a project
- Receive Investment
- Give Reward
- Receive Reward
Diagram:
Figure 5 Investment Use Case Diagram
This use case involves transactions between Investee and Investor users. The first scenario covers listing projects and making investments. The second scenario includes the Investee seeking investment and the Investor making the investment by either purchasing company shares or donating to the project. The final scenario encompasses transactions such as acquiring products or company shares in return for the investments made.
-
Add Project List
-
Pre-Condition:
- Investee must have logged into the system.
-
Scenario:
- Investee adds new projects to the system.
-
Post-Condition:
- A new project is successfully added to the system and listed.
-
Pre-Condition:
-
View Project List
-
Pre-Condition:
- Investor or Investee must have logged into the system.
-
Scenario:
- Investor views the list of existing projects.
-
Post-Condition:
- The list of existing projects is displayed to the user.
-
Pre-Condition:
-
Invest a Project
-
Pre-Condition:
- Investor must have viewed the projects and made a selection.
-
Scenario:
- Investor chooses to invest in a specific project.
-
Post-Condition:
- Investment is made into a specific project.
-
Pre-Condition:
-
Receive Investment
-
Pre-Condition:
- Investee must have added the projects to the system and they should have been selected by investors.
-
Scenario:
- Investee receives investment for their projects.
-
Post-Condition:
- Investment is made into the project.
-
Pre-Condition:
-
Buy Company Project Shares
-
Pre-Condition:
- Investor must have identified suitable projects to purchase shares of the company, enabling them to receive a proportional share of profits corresponding to the invested amount.
-
Scenario:
- This scenario emphasizes that the "Buy Company Project Shares" step requires the investor to select appropriate projects for purchasing shares, allowing them to gain a proportionate share of profits based on their investment amount.
-
Post-Condition:
- Shares of the company's projects are successfully acquired, entitling the investor to a proportional share of profits based on the invested amount.
-
Pre-Condition:
-
Invest a Project
-
Pre-Condition:
- Investor must have decided to invest in a new project.
-
Scenario:
- Investor invests in a new project.
- Donation: Investor makes the investment through a donation.
- Invest a Project: Investor makes the investment by purchasing company shares.
-
Post-Condition:
- Investment is made into the new project.
-
Pre-Condition:
-
Give Reward
-
Pre-Condition:
- Investee or Investor must have selected the project to reward participants.
-
Scenario:
- Investee provides the Investor with a reward in return for their investment.
-
Post-Condition:
- Rewards are given to the project participants.
-
Pre-Condition:
-
Receive Reward
-
Pre-Condition:
- Investee or Investor must have determined the project from which they will receive the reward.
-
Scenario:
- Product: Investor receives the return in the form of a product.
- Company Share: Investor receives the return in the form of company shares.
-
Post-Condition:
- Users receive the reward.
-
Pre-Condition:
Figure 6 Maintenance Use Case Diagram
This use case involves transactions between Investee and Investor users. The first scenario covers listing projects and making investments. The second scenario includes the Investee seeking investment and the Investor making the investment by either purchasing company shares or donating to the project. The final scenario encompasses transactions such as acquiring products or company shares in return for the investments made.
-
Add Project List
-
Pre-Condition:
- Investee must have logged into the system.
-
Scenario:
- Investee adds new projects to the system.
-
Post-Condition:
- A new project is successfully added to the system and listed.
-
Pre-Condition:
-
View Project List
-
Pre-Condition:
- Investor or Investee must have logged into the system.
-
Scenario:
- Investor views the list of existing projects.
-
Post-Condition:
- The list of existing projects is displayed to the user.
-
Pre-Condition:
-
Invest a Project
-
Pre-Condition:
- Investor must have viewed the projects and made a selection.
-
Scenario:
- Investor chooses to invest in a specific project.
-
Post-Condition:
- Investment is made into a specific project.
-
Pre-Condition:
-
Receive Investment
-
Pre-Condition:
- Investee must have added the projects to the system and they should have been selected by investors.
-
Scenario:
- Investee receives investment for their projects.
-
Post-Condition:
- Investment is made into the project.
-
Pre-Condition:
-
Buy Company Project Shares
-
Pre-Condition:
- Investor must have identified suitable projects to purchase shares of the company, enabling them to receive a proportional share of profits corresponding to the invested amount.
-
Scenario:
- This scenario emphasizes that the "Buy Company Project Shares" step requires the investor to select appropriate projects for purchasing shares, allowing them to gain a proportionate share of profits based on their investment amount.
-
Post-Condition:
- Shares of the company's projects are successfully acquired, entitling the investor to a proportional share of profits based on the invested amount.
-
Pre-Condition:
-
Invest a Project
-
Pre-Condition:
- Investor must have decided to invest in a new project.
-
Scenario:
- Investor invests in a new project.
- Donation: Investor makes the investment through a donation.
- Invest a Project: Investor makes the investment by purchasing company shares.
-
Post-Condition:
- Investment is made into the new project.
-
Pre-Condition:
-
Give Reward
-
Pre-Condition:
- Investee or Investor must have selected the project to reward participants.
-
Scenario:
- Investee provides the Investor with a reward in return for their investment.
-
Post-Condition:
- Rewards are given to the project participants.
-
Pre-Condition:
-
Receive Reward
-
Pre-Condition:
- Investee or Investor must have determined the project from which they will receive the reward.
-
Scenario:
- Product: Investor receives the return in the form of a product.
- Company Share: Investor receives the return in the form of company shares.
-
Post-Condition:
- Users receive the reward.
-
Pre-Condition:
The platform will adhere to stringent security measures, employing encryption standards, secure authentication protocols, and regular security audits to protect user data, financial transactions, and overall platform integrity.
This Software Design Document (SDD) defines the detailed software design and architecture of the "Agricrowd" platform. Agricrowd is designed to facilitate the more efficient distribution of financial support and resources in the agricultural sector, providing farmers and agricultural entrepreneurs with the necessary tools and resources to realize innovative projects. This document provides in-depth information required to understand the functional and technological aspects of the platform, guiding developers, designers, and project managers. By comprehensively addressing the system's components, interfaces, data structures, security policies, and user interactions, it offers a clear understanding and consistent vision across all aspects of the project. The goal is to position the Agricrowd platform as a sustainable and effective solution, overcoming current challenges in the agricultural sector. This will enable agricultural projects to reach a broader investor base, fostering innovation and development in the agricultural sector and ultimately contributing to global food security.
This SDD comprehensively addresses the software components, technological framework, functionality, and user interactions of the "Agricrowd" platform. The scope includes the system's architecture, data models, user interface design, security measures, performance requirements, scalability strategies, and future development pathways. It is designed to provide a clear explanation of how the platform offers a solution for various types of users, the technological infrastructure of this solution, and how users will interact with the platform.
| Term | Definition |
|---|---|
| Agricrowd | Agricultural crowdfunding platform. |
| Software Design Document (SDD) | A document outlining software design. |
| Blockchain | Distributed ledger technology for secure and immutable data recording. |
| Investee | Typically the project or entrepreneur seeking funds. |
| Investor | An individual or organization providing capital to projects or ventures. |
| Smart Contract | Self-executing contracts running on a blockchain, triggered by specific conditions. |
| Cryptocurrency | Digital or virtual currency secured using encryption techniques. |
| Wallet | Secure digital asset storage for blockchain transactions. |
| React | React is an open-source JavaScript library for building user interfaces on web applications, known for its efficiency in rendering and managing dynamic, interactive components. |
This section provides a concise summary of the document's structure and content, offering readers a clear guide to the information and details they will encounter in the following sections. It also outlines the purpose of each section and its role in the overall development process of the "Agricrowd" project. By doing so, this section provides readers with a comprehensive understanding of what to expect as they navigate through the document and presents a general framework for the design and development process of "Agricrowd."
"Agricrowd" has been designed in response to the current challenges and opportunities in the agricultural sector. This section elaborates on the sources of inspiration behind the project, its objectives, and its long-term vision. It provides an in-depth perspective on how "Agricrowd" aims to transform the agricultural sector, offer new opportunities to farmers and entrepreneurs, and create value for investors. Additionally, it emphasizes the project's social impact, its potential to promote sustainable agricultural practices, and how it intends to bring together the global agricultural community. The Motivation section highlights that "Agricrowd" is not just a technological initiative but also possesses a comprehensive social mission.
The system design of Agricrowd has been thoughtfully and thoroughly planned to meet the functional and technological requirements of the platform. This section details the fundamental architectural building blocks, components, and their interrelationships within Agricrowd. The system design is meticulously prepared to ensure that users can use the platform efficiently, securely, and effectively.
The architectural design of Agricrowd lays the foundation for the agricultural crowdfunding platform and effectively brings together farmers and investors. Utilizing modern and scalable technologies (Node.js, React, MongoDB, and Ethereum), the platform enables users to easily create, showcase, and fundraise for projects. With a focus on security and efficiency, Agricrowd provides a transparent and reliable environment to meet the financing needs of the agricultural sector.
Agricrowd is a crowdfunding platform aimed at addressing a fundamental issue in the agricultural sector — the limited access to financing for farmers and agricultural entrepreneurs. The constraints of traditional financing methods pose significant barriers, particularly for small-scale farmers and new ventures. The platform seeks to tackle this problem by presenting these users' projects to a broad investor base and facilitating the fundraising process. The primary challenge is creating a reliable, accessible, and transparent environment that meets the varying needs of different user groups such as farmers, entrepreneurs, and investors. Agricrowd aims to fulfill these needs, thereby fostering sustainable growth and supporting innovative projects in the agricultural sector.
Agricrowd utilizes modern and powerful technologies to create an effective crowdfunding platform in the agricultural sector. The technologies selected to meet the needs for performance, scalability, and security include:
- Frontend: React - Offers dynamic and responsive user experiences. Its component-based architecture allows for the rapid and efficient development of user interfaces. [17]
- Backend: Node.js - Provides robust data processing and API services, ensuring the platform operates quickly and reliably. Node.js is particularly adept at managing high concurrent transactions. [18]
- Database: MongoDB - An ideal choice for flexible data structures and fast query responses. It effectively manages large data sets and offers high performance. [19]
- Blockchain: Ethereum - Used for smart contracts and secure transactions. Ethereum's widely-adopted platform ensures transparent and reliable fund management. [20]
- MetaMask Wallet: Enables users to easily interact with the Ethereum network. It's a fundamental tool for managing crypto assets and interacting with smart contracts. [21]
- Solidity and Remix: Solidity is the preferred language for developing Ethereum smart contracts. Remix is a web-based IDE used for the development, testing, and deployment of these contracts. [22]
- IPFS and Pinata: Distributed file storage solutions. IPFS offers efficient data storage, while Pinata provides easy access and management. Together, they optimize the platform's data storage and access processes. [23]
- Blockchain Test Networks (Sepolia, etc.): Ethereum's test networks are used to test smart contracts and transactions before they are deployed on the main network. These networks help identify errors and security vulnerabilities early in the development process, ensuring the platform is safer and more effectively presented to users. [24]
The integration of these technologies makes Agricrowd a reliable, accessible, and transparent crowdfunding platform for farmers, entrepreneurs, and investors in the agricultural sector. Each technology has been carefully selected and implemented to enhance the overall performance and user experience of the platform.
Figure 7 Context Diagram - DFD Level-0
Figure 8 DFD Level-1
Figure 9 DFD Level-2
Figure 10 Activity Diagram
Figure 11 Class Diagram
Figure 12 Register Sequence Diagram
Figure 13 Login Sequence Diagram
Figure 14 Add Project Sequence Diagram
Figure 15 Investment Sequence Diagram
Figure 16 Giving/Receiving Sequence Diagram
Figure 17 Maintenance Sequence Diagram
Figure 18 Main Page
Figure 19 Login Page
In Figure 19, there is a section where we can register to view projects in the system and make investments. This is also the area where we can log in to the system.
Figure 20 Projects on Map Page
Figure 21 Discover Projects Page
Figure 22 Project Description Page
Figure 23 Whitepaper Page
Figure 24 Work Plan
[1]. H. S. Rao, P. Sinha, S. S. B. C, V. K. P. Aniketh and N. M., "Blockchain Based Crowdfunding Platforms - Exploratory Literature Survey," 2023 5th Biennial International Conference on Nascent Technologies in Engineering (ICNTE), Navi Mumbai, India, 2023, pp. 1-4, doi: 10.1109/ICNTE56631.2023.10146727.
[2]. P. Shelke, S. Zanjal, R. Patil, D. Desai, H. Chavan and V. Kulkarni, "Blockchain Technology Based Crowdfunding Using Smart Contracts," 2022 International Conference on Augmented Intelligence and Sustainable Systems (ICAISS), Trichy, India, 2022, pp. 939-943, doi: 10.1109/ICAISS55157.2022.10010749.
[4]. Saadat, Md. Nazmus, Syed Abdul Halim, Husna Osman, Rasheed Mo- hammad Nassr and Megat F. Zuhairi. “Blockchain based crowdfunding systems.” Indonesian Journal of Electrical Engineering and Computer Science (2019): n. Pag.
[5]. Jadye, Siddhesh, Swarup Chattopadhyay, Yash Khodankar, and Nita Patil. ”Decentralized Crowdfunding Platform Using Ethereum Blockchain Technology.” (2021).
[6]. M. Di Pierro, "What Is the Blockchain?," in Computing in Science & Engineering, vol. 19, no. 5, pp. 92-95, 2017, doi: 10.1109/MCSE.2017.3421554.
[7]. Bashir Imran. 2017. Mastering Blockchain: Distributed Ledgers Decentralization and Smart Contracts Explained. Birmingham UK: Packt Publishing.
[8]. Rodeck David, Curry Benjamin(Apr 28, 2022) “What Is Blockchain?” https://communications.pasenategop.com/wp-content/uploads/sites/15/2022/06/What-Is-Blockchain.pdf
[9]. Nofer, M., Gomber, P., Hinz, O. et al. Blockchain. Bus Inf Syst Eng 59, 183–187 (2017). https://doi.org/10.1007/s12599-017-0467-3
[10]. Blockchain Council. "Types of Blockchains Explained - Public Vs. Private Vs. Consortium, https://www.blockchain-council.org/blockchain/types-of-blockchains-explained-public-vs-private-vs-consortium/.
[11]. Atzori M (2015) Blockchain technology and decentralized governance: Is the state still necessary? Work Pap
[12]. Zhao, Hongjiang and Coffie, Cephas P.K, The Applications of Blockchain Technology in Crowdfunding Contract (January 11, 2018).
[13]. L. Dong and J. Shangjie, "Website Construction Based on Web2.0 Technology," 2011 International Symposium on Computer Science and Society, Kota Kinabalu, Malaysia, 2011, pp. 3-6, doi: 10.1109/ISCCS.2011.8.
[14]. Modan Shahil, October 25, 2023, “The benefits of ReactJS and reasons to choose it for your Project”.
[15]. S. Pandey, S. Goel, S. Bansla and D. Pandey, "Crowdfunding Fraud Prevention using Blockchain," 2019 6th International Conference on Computing for Sustainable Global Development (INDIACom), New Delhi, India, 2019, pp. 1028-1034.
[16]. Jeannie Evers, Emdash Editing, Emdash Editing, “Geography, Geographic Information Systems (GIS), Physical Geography”, National Geographic Society, November 3, 2023
[17]. Facebook. "React - A JavaScript library for building user interfaces." https://reactjs.org/docs/getting-started.html
[18]. Node.js Foundation. "Node.js Documentation." https://nodejs.org/en/docs/
[19]. Reference: MongoDB, Inc. "MongoDB Documentation." https://docs.mongodb.com/
[20]. Buterin, Vitalik. "Ethereum Whitepaper." https://ethereum.org/en/whitepaper/
[21]. MetaMask. "MetaMask Documentation." https://docs.metamask.io/
[22]. Ethereum. "Solidity Documentation." https://docs.soliditylang.org/
[23]. Protocol Labs. "IPFS Documentation." https://docs.ipfs.io/
[24]. Ethereum.org. "Ethereum Test Networks." https://ethereum.org/en/developers/docs/networks/