young call girls in Green Park🔝 9953056974 🔝 escort Service
Adoption Blockchain Smart Contracts in Developing Information Systems.pdf
1. Adoption Blockchain Smart Contracts in Developing Information Systems
Speaker: Mahdi Fahmideh (PhD in Information Systems)
Senior Lecturer in Cyber Security, University of Southern Queensland (UniSQ), Australia
E-email: Mahdi dot Fahmideh at usq.edu.au
1
7th Iranian Conference on Advances in Enterprise Architecture (ICAEA 2023)
November 2023
2. Career history
Algorithms and Data Structures
Postdoctoral Researcher (Oct 2016 – Dec 2018)
Undergrad/post-grad subjects in IS and SE
(March 2015 – present)
Mahdi
PhD
Business School
(September 2013- July 2017)
ranked 4th in Australia, 45th in the world, 2018 QS World University Rankings
(School of Systems,
Management and Leadership)
teaches
was-a
at
is-a
ABCD technologies (Artificial intelligence, Blockchain, Cloud computing, and big Data)
Data Management and Security
Software
Development Methodologies
Backend Web
Programming
Lecturer @
(2019-2021)
Professional Practice
and Research Project
System Analysis
and Design
Post-doc (2012 – present)
- 6 ERA-Core lead-author A*
Being a role model for
IS/SE community,
improving people’s lives
with IT
Industry (software developer)
(2002-2012, e.g., publishing, insurance,
defense, accounting sectors)
Design science
researcher
nominated for 2020 OCTAL
Award at
Early career researcher
is-a
served as a
Guest Editor-Elsevier Journal IST
-Guest Editor-Elsevier Journal of Pervasive and Mobile
Computing
-Reviewer (ACM Computing Surveys)
-Track chair (e.g., EEMMSAD Conference 2021)
-Program committee
Senior Lecturer @
(2021- ?)
3. Blockchain technology
Blockchain based (software) information systems uses
concepts and technologies popularized by cryptocurrencies
such as Bitcoin—highly decentralized, open transaction
ledgers with immutable content.
Increasing adoption of blockchain technology in different
domains such as finance, supply chain management,
healthcare, and voting systems to enhance transparency,
security, and trust in digital transactions and data management.
(some) IT-based organizations have found compelling
blockchain use cases, some other still figuring out..
3
4. Blockchain technology
Technical application: Digital transformation to
ABCD technologies (i.e., modern Internet-based
computing technologies of Artificial Intelligence,
Blockchain smart contracts, Cloud computing, and
big Data).
Blockchain can address challenges in adoption of
AI, Cloud computing, and big Data technologies
(and vice versa)
4
Cloud computing
Blockchain
5. Blockchain technology (continue)
Advantages of blockchain for information systems
Decentralization: Blockchain operates on a decentralized network - distributed ledger technology
(DLT)- eliminating the need for a central authority and allowing peer-to-peer transactions,
reducing the risk of single points of failure
Immutability: Once information is recorded on the blockchain, it cannot be altered or deleted,
ensuring data integrity and providing a reliable audit trail for all transactions
Enhanced security: Cryptographic techniques and consensus algorithms in blockchain provide
robust security, protecting data from unauthorized access and tampering, making it highly secure
for sensitive information
Transparency and traceability: Blockchain offers transparency by allowing all participants in
the network to view the transactions. This transparency, combined with the immutability of
records, enhances traceability, enabling a clear and accountable history of all transactions
And more ?
5
6. Key building elements/components of blockchain
• In a simple view, blockchain is an accounting book or digital
distributed database. It has a chain of blocks (i.e., records) that are
sequentially linked together.
• A block contains transactional data, a time stamp, and a hash value
of its previous block.
• The data records in a block are non-reversible, transparent, and
immutable.
• Each block depends on its predecessor block and is secured via
cryptography techniques.
• A block is created by a node (a computer in the distributed ledger
network).
• The chain of blocks is stored on a distributed network of nodes
where each node contains a copy of the entire blockchain
• The chain is visible and verifiable by all nodes in the network
• Once a block with its own timestamp is appended to the chain, the
creator node broadcasts that block to all the other nodes in the peer-
to-peer distributed network.
• Some nodes are validators, responsible for validating a newly added
block to the chain.
6
Components of blockchain technology
7. Key building blocks of blockchain
A key element of blockchain technology is the ability to create smart
contracts (e.g., e.g., Solidity on Ethereum platform)
• translating the clauses of a business contract into code and
embedding them into software or hardware to make them automated
and self-execute
• an automatable and enforceable agreement. Automatable by
computer, although some parts may require human input and control.
Enforceable either by legal enforcement of rights and obligations or
via tamper-proof execution of computer code (Clack et al. 2016)
• Reserve the necessary logic for the creation and validation of
transactions and enable users to read, update, and delete the
data that is stored in blockchain platforms
• Reducing the cost of contracting between transacting parties
and avoiding malicious actions during contract execution
7
Components of Blockchain technology (continue)
14. 14
(platforms) technologies to develop blockchain based systems
Example technologies to develop blockchain based systems
Technology Type Aim
On-chain
components
implementation
BigChainDB Blockchain platform A big data distributed platform with a support of blockchain characteristics
Californium CoAP Development framework Securing data transfer between IoT device data and blockchain platforms
Chain Core Blockchain platform Issuing and transferring financial assets on a permissioned blockchain infrastructure.
Corda Open source distributed ledger Enabling the development of smart contracts with a support for pluggable consensus mechanisms and minimizing transaction cost
Credit Distributed ledger dev. framework Developing permission based smart contracts
Domus Tower Blockchain platform Implementing consortium blockchain with a focus on finance domain functionalities
Elements Open source blockchain platform Enhancing Bitcoin functionalities at the communication and protocol levels
Ethereum Blockchain platform Enhancing Bitcoin functionalities and implementing smart contracts.
Eris:db Distributed ledger Enhancing Bitcoin functionalities
HydraChain Blockchain platform An extension to Ethereum platform for creating permissioned, private, and consortium blockchain
Hyperledger Fabric Open source blockchain platform Providing support for smart contract implementation and test in different application domains
Hyperledger Iroha Distributed ledger Developing smart contracts for mobile-based applications
Hyperledger Sawtooth Lake Open source blockchain platform Providing support for smart contract development with specific support for decoupling transaction business logic from the consensus layer
JUICE Tool Enabling the implementation and monitoring of Solidity smart contracts running on Ethereum platform
Multichain Open source blockchain platform Supporting Bitcoin functionalities for multi-asset financial transactions
Stellar Distributed ledger Enabling distributed payments infrastructure with RESTful HTTP API servers
Symbiont Assembly Distributed ledger A distributed ledger based on Apache Kafka to develop smart contracts
Truffle Framework Compilation, test, integration, and deployment of smart contracts
Bitcoin Testnet Framework Testing smart contracts without changing real system data or transactions
Hyperledger Besu Open source development framework A Java-based Ethereum client to develop and deploy applications to run on the public Ethereum public network or private permissioned network
Mininet Tool An emulator to analyse transaction blockchain transaction delays
Off-chain
components
implementation
JSON RPC Protocol Remote procedure call used by Ethereum clients to interact with Ethereum nodes
Web3j Library A lightweight Java and Android library for working with smart contracts and integrating with Ethereum platform
CouchDB Database A document-based NoSQL database that uses JSON to store data, JavaScript as its query language, and commonly used with Hyperledger Fabric
Raspberry Pi Toolkit Collection of hardware and programming language to develop blockchain-based IoT systems
REST API API To query data and test HTTP requests as well as call blockchain platform APIs
Bluetooth, ZigBee Hardware Hardware Communication protocols
Apache Tomcat Platform Hosting and implementing back-end and front-end applications interaction with off-chain components
15. Key challenges in developing information systems leveraging blockchain
technologies
Business enterprises are interested in taking benefits of blockchain technologies to empower their systems
Blockchain based systems as a complex socio-technical IT artefact
As a DLT underpinned by fundamental assumptions such as decentralization, peer-to-peer (P2P) transmission, transparency with pseudonymity,
irreversibility of records, and computational logic.
These assumptions raise a set of important challenges when developing systems leveraging blockchain
❑ Security and privacy: visibility of blocks and smart contracts’ codes to users (public blockchain), attacks to smart contracts
❑ Scalability and performance: increased number of transactions and participant nodes grows, blockchain system performance can be degraded
❑ Interoperability and standards: different protocols, consensus algorithms, and data formats
❑ Energy consumption: gas fee (or gas consumption) necessitates significant computational resources and energy consumption
❑ Maintenance: updating deployed smart contract code, such as incorporating new features, addressing flaws, or enhancing code efficiency of
smart contracts
❑ Regulatory and legal: evolving regulatory landscape can be a barrier to adoption, as blockchain systems often operate across borders and must
comply with various legal requirements
❑ Other challenges..?
15
16. Reports of blockchain adoption failures
Examples of blockchain adoption failures
• MtGox attack in 2014 led to a declared loss of $600 million
• Bitfinex attack in 2016 led to a loss of $65 million, and a DAO
(decentralized autonomous organization) attack in 2016 caused the
withdrawal of Ether digital currency funds worth $50–60 million
• Ethereum: the DAO hack and Parity Wallet hack caused a loss of USD
$150 M in total
• EOS and Axie Infinity [3], were stolen, respectively, USD $58,000 and
USD$600 million, using faked tokens
• What are reasons in blockchain adoption failures?
• These failures are commonly attributed to a lack of adoption of a
systematic development approach, a project management flaw that
is aptly phrased as un-ruled and hurried software development
• Examples: poor quality assurance, smart contract scope creep,
inconsistent development, lack of accountability,
16
17. Information systems development methods (ISD methods or ISDMs)
(a.k.a. software engineering methodologies)
❑ Analogy: to build or buy a property (e.g., house, unit apartment, etc), we
need to adopt a method to organise and anticipate requirements, steps,
and risks.
❑ To build information systems (or software systems), we need to adopt
systematic development methods
❑ Ad-hoc system development vs. systematic (yet tailorable) system
development
❑ Adopting a systematic methods for managing the complexity of
IoT platform development vs. ad-hoc use of implementation
techniques and technologies to build systems which are likely to
deliver a vulnerable and poor-quality platform
❑ Information system development methods (development methods for
short): entire suite of system development lifecycle activities, e.g.,
planning, analysis, design, building, testing, and maintenance, undertaken
by humans individually/collectively to create a working information
system
❑ As the core centrepiece of quality management initiatives to build
sustainable information systems in a cost-effective manner
❑ Examples: Agile methods, object oriented methods, agent oriented
methods, etc 17
18. ISD methods for developing systems leveraging blockchain technologies
❑ Why ISD methods?
❑ A long-standing acknowledgment that the adoption of ISD methods, amongst other factors, plays a crucial role in the successful
implementation and effective maintenance of systems coupled with emerging technologies
❑ Research and practice have largely benefited from ISD methods as the core centrepiece of quality management initiatives to build
sustainable information systems in a cost-effective manner
❑ A blockchain based system is, after all, essentially a type of information system development endeavour!
❑ Conventional ISD methods applicable to blockchain development?
❑ In contrast to the conventional system development which takes place predominantly within an individual system- the socio-technical
nature of blockchain based systems raises a range of new important complexities
❑ Blockchain-based systems often require decentralized, consensus-driven architectures and smart contracts, diverging from the
centralized nature of conventional ISD methods.
❑ Unique characteristics like cryptographic security and peer-to-peer networks
❑ Some complexities are rooted in the immaturity of current technologies BUT some are intrinsic to blockchain technology
❑ Development of blockchain based systems can be much more complicated than that typically deemed in the conventional system
development wisdom
18
19. Benefits of applying ISD methods to build blockchain based systems
❑ Structured and systematic
❑ providing guidelines, relevant tasks, modeling techniques, and best practices to manage complexity, minimize errors, and improve the overall
quality of the blockchain based system
❑ Requirements driven
❑ by capturing and prioritizing various stakeholders’ requirements and expectations (what smart contracts are feasible?), ensuring that the
developed blockchain based system meets their needs
❑ Risk mitigation
❑ inherent risks in blockchain based systems such as security vulnerabilities, data privacy concerns, interoperability challenges, and scalability
issues can be better handled by development methods throughout development lifecycle as they help identify potential risks, assess their
impact, and devise techniques to mitigate them
❑ Integration and interoperability
❑ blockchain based systems may involve various off-chain and on-chain components leveraging different (non) blockchain technologies. ISD
methods can help with the design and implementation necessary interfaces, protocols, and data exchange mechanisms for seamless
integration among different blockchain based systems
❑ Quality assurance
❑ organizations can enhance the quality of their blockchain based systems, e.g., reliability, performance, and security
19
20. Constituents of ISD methods
20
Development
process
Roles Models
What activities/tasks
incorporated into blockchain
sys development
process?
What
roles, e.g., developers,
stakeholders, might
be involved in blockchain
based sys. development?
What
models, e.g., diagrams,
notations, might be
produced during blockchain
based sys. Development?
What tools, technologies,
techniques, heuristics,
guidelines, principles are
provided to operationalise and
support the development
process, roles, models,?
adapted from Sabine’s model (with kind permission)
❑ An ISD method, regardless of its application domain, can be
characterised in three core aspects
21. Research approach
❑ Design science research approach
❑ Design and validate an integrated ISD method providing a cohesive understating of blockchain system development
❑ A foundation for researchers and practitioners looking forward to utilizing the ISD methods in the context of
blockchain development
❑ Literature sources:
❑ Leading Information Systems venues, e.g., senior basket of AIS
❑ Leading Software Engineering venues
❑ Over 50 studies from academic and multi-vocal literature
❑ 10 * domain expert reviews with experience in developing blockchain systems in different industry sectors
❑ Two case studies (application domains: food trust and token exchanger)
22. Generic method for development of blockchain based systems
Analysis
- Assess readiness
Preliminary design
- Identify participants
- Approve agreement
- Decide on/off blockchain
- Select platform
- Define smart contract skeleton
- Define incentive protocols
- Resolve dispution
- Define smart contract changes
Detailed design
- Create consensus protocols
- Define interactions
- Optimize gas consumption
- Design permissions
- Design security
- Design replications
- Configure system
- Publish smart contracts
Maintenance
- Integrator
- Auditor
- Blockchain user
- Legal professional
Smart contract
developer
- Decide on blockchain type
- Analyze technology - Test smart contracts
- Implement smart contracts
- Integrate with off blockchain
Construction Transition
- Develop use cases
Retirement
Architect
Models
Generated output Phase Role
Sequences
- Security
- Core blockchain developer
- Smart contract developer
Legend
-Use case
-Prototype
-Requirements
-Smart contracts
-Base architecture
-Forking
-Data flow
-Interactions
-Consensus
-Transactions
-Executable smart
contracts
Role
Development
process
Modeling
-Miner
-Node operator
-Monitor nodes
-Evaluate contract
correctness
-Terminate
23. Generic method for development of blockchain based systems (continue)
❑ Example roles
Sample list of situational factors for consideration in feasibility analysis task (called later readiness assessment)
Category Situational factor Possible values for the factor
Organization
Management commitment Low, medium, high
Organizational restructuring Hierarchical, functional, horizontal, divisional, matrix, team-based, network
Business change Rarely, occasionally, frequent, always
Energy and gas consumption cost Low, medium, high
Software team Development skills in cryptography, law/legislation Low, medium, high
Technical
Immutability of data Stable, volatile
Data format Homogeneous, mixture, substance
Visibility/transparency Public, private, protected, package private
Transaction fee Free, low cost, variable, expensive
Data provenance Source, temporal, meta-data result
Transactionality Low, medium, high
transaction performance Critical, fairly important, low, moderate
Roll-back performance Critical, fairly important, low, moderate
Demanding infrastructure None, emergent, operating, matured
Vendor lock-in Impossible, unlikely, even chance, certain
Hosting modes Cloud, dedicated servers, virtual private,
Smart contract tool availability Yes, no
24. Generic method for development of blockchain based systems (continue)
❑ Example tasks related to
preliminary design and
construction phases
❑ Define smart contract
skeleton and implement
smart contracts
25. Generic method for development of blockchain based systems (continue)
❑ Example roles
26. Generic method for development of blockchain based systems (continue)
❑ Example modellings
27. Implications for research and practice
❑ Tailoring methods specific to blockchain development scenario. Recognizing the need for customized
development methods based on blockchain project is acknowledged. The persistent notion of a "silver bullet"
or a one-size-fits-all solution remains impractical in developing blockchain-based systems. Organisations and
software teams may employ in-house development approaches, yet these may be limited, concentrating on
specific blockchain development tasks while overlooking others.
❑ Situational method engineering (SME). Tailoring/creating project-specific development methods via
selecting appropriate method fragments from a method base and assembling them to construct a highly
customized method for a given project.
❑ Identifying value-driven smart contracts. What requirements are valuable and they instigate a variety of
stakeholders with diverging goals and commitment levels if they are addressed by BBS, for example, smart
contracts?
❑ Value driven blockchain smart contracts, i.e., requirements (engineering) analysis for blockchain smart
contract development
❑ Integrating and migrating legacy systems to blockchain platforms. Legacy software systems operating and
storing critical organizational data may predate blockchain technology. How and what new practices a
software team should incorporate into the development process to make legacy systems blockchain-enabled.
❑ Using generative AI as a facilitator for transforming legacy codes to smart contracts
28. Selected references
❑ C. D. Clack, V. A. Bakshi, and L. Braine. 2016. Smart contract templates: Foundations, design landscape and research directions. Retrieved from
https://arxiv.org/abs/1608.00771.
❑ S. Porru, A. Pinna, M. Marchesi, and R. Tonelli. 2017. Blockchain-oriented software engineering: challenges and new directions. In Proceedings of the
IEEE/ACM 39th International Conference on Software Engineering Companion (ICSEC’17). IEEE, 169–171.
❑ M. Fahmideh, J. Grundy, A. Ahmad, J. Shen, J. Yan, D. Mougouei, P. Wang et al. Engineering Blockchain-based Software Systems: Foundations, Survey, and
Future Directions, ACM Computing Surveys 55, no. 6 (2022): 1-44.
❑ M. Fahmideh, B. Abedin, J. Shen, Toward an integrated framework of developing blockchain systems, decision support systems (to appear)