The document discusses efficient smart contract design for blockchains. It begins with an introduction to blockchains and smart contracts. It then describes the current Ethereum blockchain design, which executes smart contract transactions sequentially. This results in poor throughput due to underutilization of multi-core processors. The document proposes a new concurrent methodology using software transactional memory systems to allow miners to execute smart contract transactions concurrently. This aims to improve efficiency and throughput. However, concurrent execution presents challenges such as identifying and resolving data conflicts between transactions. The document discusses protocols to enable concurrent transaction execution while maintaining equivalent results to the serial execution model.
IRJET- Study of Blockchain and its ConceptsIRJET Journal
This document discusses using blockchain technology to implement a log storage system. It begins with an introduction to blockchain and its key properties. It then discusses several concepts related to implementing a log storage system using blockchain, including using a logchain as a service and the Medusa system which utilizes Hyperledger. It also covers different blockchain platforms like Hyperledger Fabric and Ethereum. Consensus algorithms including proof-based and voting-based methods are described. Finally, potential applications of a blockchain-based log storage system are outlined such as for libraries, organizations, healthcare, and cloud storage.
User authentication is a fundamental security building block that verifies an entity's claimed identity. It involves identification and verification using something the user knows, possesses, is, or does. Authentication protocols are used to establish identity and exchange session keys securely. Kerberos is a widely used trusted third-party authentication system that allows clients to securely authenticate to services across an organization using tickets. Federated identity management allows common authentication across multiple separate enterprises and applications using standards like SAML and WS-Federation.
Lecture 9 key distribution and user authentication rajakhurram
1. The document discusses two main methods for key distribution: symmetric key distribution using symmetric encryption like Kerberos, and key distribution using asymmetric encryption like X.509 certificates.
2. It provides an overview of how symmetric key distribution works in Kerberos, including the use of a key distribution center and ticket granting tickets.
3. It also summarizes X.509 certificates, how they are issued by a certificate authority with a user's public key and signature, and how they can be used to verify a user's identity.
- Analyze the strength and weakness of public blockchain and the goal of private blockchain.
- Explains the core architectural features, mechanisms and provisioning process of Hyperledger Fabric.
This document provides an introduction to Hyperledger Fabric, a permissioned blockchain platform developed by the Hyperledger project. It outlines the key components of Hyperledger Fabric including nodes, transactions, channels, chaincode, and membership services. It also discusses the differences between public and private blockchains as well as examples use cases for Hyperledger Fabric such as global supply chain management and city management.
Hyperledger Fabric is an implementation of blockchain technology created by the Linux Foundation. It provides a modular architecture and flexible hosting options for developing blockchain applications. Key features include a shared ledger, smart contracts implemented as chaincode, and privacy/permissioning through membership services. The document provides an overview of Hyperledger Fabric v1 and its technical architecture, including concepts like channels, endorsement policies, and the role of ordering service nodes. It also walks through the steps of a sample transaction flow in the network.
The document discusses digital signatures and authentication protocols. It covers the properties of digital signatures, including how they can verify authorship and authenticate message contents. Direct digital signatures involve the sender signing a message with their private key, while arbitrated signatures involve a third party. Authentication protocols are used to establish identity and exchange session keys, and must address issues like confidentiality, timeliness, and replay attacks. The document also describes common cryptographic algorithms and standards used for digital signatures, including the Digital Signature Algorithm (DSA).
This presentation summarizes Secure Socket Layer (SSL) technology. It discusses how SSL uses encryption to provide security and integrity for data transmission. The presentation covers SSL architecture, including the certificate and hashing components. It also describes the SSL handshake process and how symmetric and asymmetric encryption algorithms are used to securely transfer data. Common algorithms like RSA, Diffie-Hellman, DES, and AES are also mentioned.
IRJET- Study of Blockchain and its ConceptsIRJET Journal
This document discusses using blockchain technology to implement a log storage system. It begins with an introduction to blockchain and its key properties. It then discusses several concepts related to implementing a log storage system using blockchain, including using a logchain as a service and the Medusa system which utilizes Hyperledger. It also covers different blockchain platforms like Hyperledger Fabric and Ethereum. Consensus algorithms including proof-based and voting-based methods are described. Finally, potential applications of a blockchain-based log storage system are outlined such as for libraries, organizations, healthcare, and cloud storage.
User authentication is a fundamental security building block that verifies an entity's claimed identity. It involves identification and verification using something the user knows, possesses, is, or does. Authentication protocols are used to establish identity and exchange session keys securely. Kerberos is a widely used trusted third-party authentication system that allows clients to securely authenticate to services across an organization using tickets. Federated identity management allows common authentication across multiple separate enterprises and applications using standards like SAML and WS-Federation.
Lecture 9 key distribution and user authentication rajakhurram
1. The document discusses two main methods for key distribution: symmetric key distribution using symmetric encryption like Kerberos, and key distribution using asymmetric encryption like X.509 certificates.
2. It provides an overview of how symmetric key distribution works in Kerberos, including the use of a key distribution center and ticket granting tickets.
3. It also summarizes X.509 certificates, how they are issued by a certificate authority with a user's public key and signature, and how they can be used to verify a user's identity.
- Analyze the strength and weakness of public blockchain and the goal of private blockchain.
- Explains the core architectural features, mechanisms and provisioning process of Hyperledger Fabric.
This document provides an introduction to Hyperledger Fabric, a permissioned blockchain platform developed by the Hyperledger project. It outlines the key components of Hyperledger Fabric including nodes, transactions, channels, chaincode, and membership services. It also discusses the differences between public and private blockchains as well as examples use cases for Hyperledger Fabric such as global supply chain management and city management.
Hyperledger Fabric is an implementation of blockchain technology created by the Linux Foundation. It provides a modular architecture and flexible hosting options for developing blockchain applications. Key features include a shared ledger, smart contracts implemented as chaincode, and privacy/permissioning through membership services. The document provides an overview of Hyperledger Fabric v1 and its technical architecture, including concepts like channels, endorsement policies, and the role of ordering service nodes. It also walks through the steps of a sample transaction flow in the network.
The document discusses digital signatures and authentication protocols. It covers the properties of digital signatures, including how they can verify authorship and authenticate message contents. Direct digital signatures involve the sender signing a message with their private key, while arbitrated signatures involve a third party. Authentication protocols are used to establish identity and exchange session keys, and must address issues like confidentiality, timeliness, and replay attacks. The document also describes common cryptographic algorithms and standards used for digital signatures, including the Digital Signature Algorithm (DSA).
This presentation summarizes Secure Socket Layer (SSL) technology. It discusses how SSL uses encryption to provide security and integrity for data transmission. The presentation covers SSL architecture, including the certificate and hashing components. It also describes the SSL handshake process and how symmetric and asymmetric encryption algorithms are used to securely transfer data. Common algorithms like RSA, Diffie-Hellman, DES, and AES are also mentioned.
The document provides an overview of the Hyperledger community update and blockchain frameworks. It summarizes that Hyperledger is an open source collaborative effort hosted by The Linux Foundation to advance blockchain technologies across multiple industries. It then provides details on the various Hyperledger frameworks such as Fabric, Sawtooth, Iroha, Indy, and Burrow. It also summarizes the business blockchain tools under Hyperledger like Composer, Cello, Explorer, and Caliper. The document outlines the leadership and global community engagement efforts around Hyperledger.
SSL was introduced in 1995 as a component of the Netscape Navigator browser to provide privacy and security for information transmitted between a user's browser and a server, typically for e-commerce. SSL uses encryption, message authentication codes, and certificates to provide security features like confidentiality, message integrity, and authentication over the internet. It establishes a secure channel for communication between the client and server through the SSL handshake and record protocol layers. SSL is widely used on e-commerce sites and other websites to secure transmission of sensitive information.
International Journal of Engineering and Science Invention (IJESI)inventionjournals
International Journal of Engineering and Science Invention (IJESI) is an international journal intended for professionals and researchers in all fields of computer science and electronics. IJESI publishes research articles and reviews within the whole field Engineering Science and Technology, new teaching methods, assessment, validation and the impact of new technologies and it will continue to provide information on the latest trends and developments in this ever-expanding subject. The publications of papers are selected through double peer reviewed to ensure originality, relevance, and readability. The articles published in our journal can be accessed online.
Blockchain Scalability - Architectures and AlgorithmsGokul Alex
My presentation on 'Blockchain Scalability - Architectures and Algorithms' for the TechAthena Digital Community Webinar.
Blockchain Scalability is one of the most significant concern for Minimum Viable Blockchain Implementation. It is one of the key aspects determining the relevance and feasibility of Blockchain Technology for a particular use case.This session will cover the fundamental aspects of distributed computing that determine the contours of scalability.
Subsequently, the session will outline the parameters and metrics related to Blockchain Scalability in detail. In this context, the session will deep dive into architectural and algorithmic techniques that enables a scalable Blockchain.Architectural techniques such as vertical scaling and horizontal scaling will be explained in detail. Design techniques such as State Channels, Sharding, SideChains, Off chain computations, Block Size and Time Optimization etc. will be explained.
In summary, this session will conclude with the implications and trade-off between Blockchain Scalability, Security, Simplicity and Interoperability. Looking forward to your views and thoughts !
Architecture of the Hyperledger Blockchain Fabricmustafa sarac
The document summarizes the architecture of Hyperledger Fabric, an implementation of a distributed ledger platform. Key points:
- Hyperledger Fabric uses a modular architecture and allows pluggable consensus protocols, currently implementing PBFT.
- It distinguishes between validating peers that run consensus and non-validating peers.
- Smart contracts called "chaincode" are run on peers and can read/write to the ledger state.
- Transactions are added to the ledger through consensus of validating peers executing the chaincode. Membership is currently static.
Fair and trustworthy: Lock-free enhanced tendermint blockchain algorithmTELKOMNIKA JOURNAL
Blockchain Technology is exclusively used to make online transactions secure by
maintaining a distributed and decentralized ledger of records across multiple computers.
Tendermint is a general-purpose blockchain engine that is composed of two
parts; Tendermint Core and the blockchain application interface. The application interface
makes Tendermint suitable for a wide range of applications. In this paper, we
analyze and improve Practical Byzantine Fault Tolerant (PBFT), a consensus-based
Tendermint blockchain algorithm. In order to avoid negative issues of locks, we first
propose a lock-free algorithm for blockchain in which the proposal and voting phases
are concurrent whereas the commit phase is sequential. This consideration in the algorithm
allows parallelism. Secondly, a new methodology is used to decide the size
of the voter set which is a subset of blockchain nodes, further investigating the block
sensitivity and trustworthiness of nodes. Thirdly, to fairly select the voter set nodes,
we employ the random walk algorithm. Fourthly, we imply the wait-freedom property
by using a timeout due to which all blocks are eventually committed or aborted. In
addition, we have discussed voting conflicts and consensuses issues that are used as a
correctness property, and provide some supportive techniques.
This document summarizes a seminar presentation on public key infrastructure (PKI). It discusses key concepts of PKI including digital signatures, certificates, validation, revocation, and the roles of certification authorities. The presentation covers how asymmetric encryption, hashing, and digital signatures enable secure authentication and authorization in a PKI. It also examines the entities, operations, and technologies involved in implementing and managing a PKI, such as certificate authorities, registration authorities, key generation and storage, and certification revocation lists.
Hyperledger Fabric Application Development 20190618Arnaud Le Hors
Slides presented at the Hyperledger Fabric Workshop in Barcelona on July 10th, 2019.
This covers the development of a Fabric application and smart contract (i.e. chaincode), with some tips on good practices and the IBM Blockchain Platform extension for VS Code.
This document discusses the RSA network security approach. It begins with an introduction to RSA, describing how it uses large prime numbers and exponentiation to encrypt and decrypt messages. It also discusses how RSA can be used for both encryption and digital signatures to provide authentication. The document then covers symmetric and public key cryptography concepts before focusing more on the specifics of the RSA algorithm and its use for secure network communications.
Introduction
Business blockchain requirements vary. Some uses require rapid network consensus
systems and short block confirmation times before being added to the chain. For others,
a slower processing time may be acceptable in exchange for lower levels of required
trust. Scalability, confidentiality, compliance, workflow complexity, and even security
requirements differ drastically across industries and uses. Each of these requirements, and
many others, represent a potentially unique optimization point for the technology.
For these reasons, Hyperledger incubates and promotes a range of business blockchain
technologies including distributed ledgers, smart contract engines, client libraries, graphical
interfaces, utility libraries, and sample applications. Hyperledger’s umbrella strategy
encourages the re-use of common building blocks via a modular architectural framework.
This enables rapid innovation of distributed ledger technology (DLT), common functional
modules, and the interfaces between them. The benefits of this modular approach include
extensibility, flexibility, and the ability for any component to be modified independently
without affecting the rest of the system.
Understanding hd wallets design and implementationArcBlock
ArcBlock Technical Learning Series Presents Understanding HD Wallets. This talk will look at the building blocks to creating a virtual currency wallet including some of the basic design ideas, and implementation methods.
This document provides an introduction and overview of Hyperledger, including:
- Hyperledger is a modular blockchain framework with different implementations like Fabric, Iroha, Sawtooth, etc.
- Fabric is intended as a foundation for developing applications and solutions with a modular architecture.
- Composer is a development tool that allows modeling of assets, participants, and transactions to build applications on top of blockchains.
- The document demonstrates modeling hardware assets, allocating ownership with transactions, and running queries using Composer.
An introduction to blockchain and hyperledger v ruLennartF
The document provides an introduction to blockchain and Hyperledger. It discusses how Hyperledger Fabric now supports Ethereum smart contracts, allowing Ethereum developers to integrate with and migrate to Hyperledger Fabric. It also summarizes some of the key components, security aspects, and functionality of IBM's blockchain platform and Hyperledger, including consensus mechanisms, identity management, pluggable components, and how applications interact with the platform.
The Fabric platform is intended as a foundation for developing blockchain applications, products or solutions. The fabric is a Private and Permissioned system which delivers a high degree of confidentiality, resiliency, flexibility, and scalability. It adopted a modular architecture and supports pluggable implementations of different components like consensus, membership services etc. Like other blockchain technologies, Fabric has a ledger, smart contracts, and it is a system by which participants manage their transactions. The smart contract in the fabric is known as chaincode and it is in the chaincode the business logic is embedded. The following features impart high degree of security and privacy for the fabric framewor
Developing applications with Hyperledger Fabric SDKHorea Porutiu
The document discusses Hyperledger Fabric and the Hyperledger Fabric SDK. It provides an overview of the Fabric SDK and demonstrates how to use it to interact with a Hyperledger Fabric network, including enrollment, invoking chaincode to read and write to the ledger, and submitting transactions. It also discusses an IBM Food Trust use case for tracking food supply chains using Hyperledger Fabric.
Cued click point image based kerberos authentication protocolIAEME Publication
The document presents a proposed authentication system that combines cued click point (CCP) graphical passwords with the Kerberos authentication protocol. CCP uses a sequence of images where the user selects one click point per image. This is made more secure through the addition of a sound signature. The system aims to address weaknesses in text passwords by leveraging human memory for visual information. It also utilizes Kerberos to provide network security and mutual authentication between clients and servers. The proposed model would allow administrators to assign user credentials for system access. Users would select a tolerance level and set graphical passwords by choosing images and click points. Their profile would be generated and the entire login process secured using Kerberos authentication.
The document discusses message authentication and digital signatures. It defines message authentication as verifying that received messages come from the intended source and have not been altered. Digital signatures provide message authentication, non-repudiation, and establish the origin of a message. There are two types of digital signatures: arbitrated signatures which use a trusted third party, and true digital signatures which are sent directly from the signer to the verifier. The document describes RSA and Digital Signature Algorithm (DSA) approaches for implementing true digital signatures.
The document discusses authentication protocols and digital signatures. It describes mutual authentication protocols that allow two parties to verify each other's identities and exchange session keys. It also discusses one-way authentication protocols. The document focuses on explaining the Digital Signature Standard (DSS) and the Digital Signature Algorithm (DSA). It provides details on how DSA uses public/private key pairs to generate and verify digital signatures for authenticating messages and senders.
Credit goes to Christopher B Ferris @christo4ferris who put together this presentation which covers the latest developments of Hyperledger Fabric made available in Fabric 1.1 and 1.2 and what can be expected next.
Deploy a blockchain web-app with Hyperledger Fabric 1.4 - Concepts & CodeHorea Porutiu
This video will talk through the concepts needed to understand a Hyperledger Fabric solution - it will talk about smart contracts, the client application, the connection profile, the hyperledger fabric SDK, and how to use a UI to update the ledger.
This document provides an overview of blockchain and Ethereum. It defines blockchain as a decentralized, distributed database or ledger of records that maintains information in immutable blocks. Each block contains a collection of transactions and points to the previous block. Blockchain applications include cryptocurrencies, smart contracts, supply chain management, and more. The document then discusses Ethereum, describing its peer-to-peer network and how transactions are executed and added to the blockchain via miners and validators. It provides details on Ethereum smart contracts and includes an example ballot smart contract written in Solidity to illustrate how voting would work.
This document discusses key concepts and components related to blockchain solutions, including actors such as users, developers, operators, and architects. It describes various components that make up blockchain solutions such as ledgers, smart contracts, consensus mechanisms, and how applications interact with blockchains. It also covers considerations for blockchain developers and operators, and challenges around integrating blockchains with existing systems and achieving determinism.
The document provides an overview of the Hyperledger community update and blockchain frameworks. It summarizes that Hyperledger is an open source collaborative effort hosted by The Linux Foundation to advance blockchain technologies across multiple industries. It then provides details on the various Hyperledger frameworks such as Fabric, Sawtooth, Iroha, Indy, and Burrow. It also summarizes the business blockchain tools under Hyperledger like Composer, Cello, Explorer, and Caliper. The document outlines the leadership and global community engagement efforts around Hyperledger.
SSL was introduced in 1995 as a component of the Netscape Navigator browser to provide privacy and security for information transmitted between a user's browser and a server, typically for e-commerce. SSL uses encryption, message authentication codes, and certificates to provide security features like confidentiality, message integrity, and authentication over the internet. It establishes a secure channel for communication between the client and server through the SSL handshake and record protocol layers. SSL is widely used on e-commerce sites and other websites to secure transmission of sensitive information.
International Journal of Engineering and Science Invention (IJESI)inventionjournals
International Journal of Engineering and Science Invention (IJESI) is an international journal intended for professionals and researchers in all fields of computer science and electronics. IJESI publishes research articles and reviews within the whole field Engineering Science and Technology, new teaching methods, assessment, validation and the impact of new technologies and it will continue to provide information on the latest trends and developments in this ever-expanding subject. The publications of papers are selected through double peer reviewed to ensure originality, relevance, and readability. The articles published in our journal can be accessed online.
Blockchain Scalability - Architectures and AlgorithmsGokul Alex
My presentation on 'Blockchain Scalability - Architectures and Algorithms' for the TechAthena Digital Community Webinar.
Blockchain Scalability is one of the most significant concern for Minimum Viable Blockchain Implementation. It is one of the key aspects determining the relevance and feasibility of Blockchain Technology for a particular use case.This session will cover the fundamental aspects of distributed computing that determine the contours of scalability.
Subsequently, the session will outline the parameters and metrics related to Blockchain Scalability in detail. In this context, the session will deep dive into architectural and algorithmic techniques that enables a scalable Blockchain.Architectural techniques such as vertical scaling and horizontal scaling will be explained in detail. Design techniques such as State Channels, Sharding, SideChains, Off chain computations, Block Size and Time Optimization etc. will be explained.
In summary, this session will conclude with the implications and trade-off between Blockchain Scalability, Security, Simplicity and Interoperability. Looking forward to your views and thoughts !
Architecture of the Hyperledger Blockchain Fabricmustafa sarac
The document summarizes the architecture of Hyperledger Fabric, an implementation of a distributed ledger platform. Key points:
- Hyperledger Fabric uses a modular architecture and allows pluggable consensus protocols, currently implementing PBFT.
- It distinguishes between validating peers that run consensus and non-validating peers.
- Smart contracts called "chaincode" are run on peers and can read/write to the ledger state.
- Transactions are added to the ledger through consensus of validating peers executing the chaincode. Membership is currently static.
Fair and trustworthy: Lock-free enhanced tendermint blockchain algorithmTELKOMNIKA JOURNAL
Blockchain Technology is exclusively used to make online transactions secure by
maintaining a distributed and decentralized ledger of records across multiple computers.
Tendermint is a general-purpose blockchain engine that is composed of two
parts; Tendermint Core and the blockchain application interface. The application interface
makes Tendermint suitable for a wide range of applications. In this paper, we
analyze and improve Practical Byzantine Fault Tolerant (PBFT), a consensus-based
Tendermint blockchain algorithm. In order to avoid negative issues of locks, we first
propose a lock-free algorithm for blockchain in which the proposal and voting phases
are concurrent whereas the commit phase is sequential. This consideration in the algorithm
allows parallelism. Secondly, a new methodology is used to decide the size
of the voter set which is a subset of blockchain nodes, further investigating the block
sensitivity and trustworthiness of nodes. Thirdly, to fairly select the voter set nodes,
we employ the random walk algorithm. Fourthly, we imply the wait-freedom property
by using a timeout due to which all blocks are eventually committed or aborted. In
addition, we have discussed voting conflicts and consensuses issues that are used as a
correctness property, and provide some supportive techniques.
This document summarizes a seminar presentation on public key infrastructure (PKI). It discusses key concepts of PKI including digital signatures, certificates, validation, revocation, and the roles of certification authorities. The presentation covers how asymmetric encryption, hashing, and digital signatures enable secure authentication and authorization in a PKI. It also examines the entities, operations, and technologies involved in implementing and managing a PKI, such as certificate authorities, registration authorities, key generation and storage, and certification revocation lists.
Hyperledger Fabric Application Development 20190618Arnaud Le Hors
Slides presented at the Hyperledger Fabric Workshop in Barcelona on July 10th, 2019.
This covers the development of a Fabric application and smart contract (i.e. chaincode), with some tips on good practices and the IBM Blockchain Platform extension for VS Code.
This document discusses the RSA network security approach. It begins with an introduction to RSA, describing how it uses large prime numbers and exponentiation to encrypt and decrypt messages. It also discusses how RSA can be used for both encryption and digital signatures to provide authentication. The document then covers symmetric and public key cryptography concepts before focusing more on the specifics of the RSA algorithm and its use for secure network communications.
Introduction
Business blockchain requirements vary. Some uses require rapid network consensus
systems and short block confirmation times before being added to the chain. For others,
a slower processing time may be acceptable in exchange for lower levels of required
trust. Scalability, confidentiality, compliance, workflow complexity, and even security
requirements differ drastically across industries and uses. Each of these requirements, and
many others, represent a potentially unique optimization point for the technology.
For these reasons, Hyperledger incubates and promotes a range of business blockchain
technologies including distributed ledgers, smart contract engines, client libraries, graphical
interfaces, utility libraries, and sample applications. Hyperledger’s umbrella strategy
encourages the re-use of common building blocks via a modular architectural framework.
This enables rapid innovation of distributed ledger technology (DLT), common functional
modules, and the interfaces between them. The benefits of this modular approach include
extensibility, flexibility, and the ability for any component to be modified independently
without affecting the rest of the system.
Understanding hd wallets design and implementationArcBlock
ArcBlock Technical Learning Series Presents Understanding HD Wallets. This talk will look at the building blocks to creating a virtual currency wallet including some of the basic design ideas, and implementation methods.
This document provides an introduction and overview of Hyperledger, including:
- Hyperledger is a modular blockchain framework with different implementations like Fabric, Iroha, Sawtooth, etc.
- Fabric is intended as a foundation for developing applications and solutions with a modular architecture.
- Composer is a development tool that allows modeling of assets, participants, and transactions to build applications on top of blockchains.
- The document demonstrates modeling hardware assets, allocating ownership with transactions, and running queries using Composer.
An introduction to blockchain and hyperledger v ruLennartF
The document provides an introduction to blockchain and Hyperledger. It discusses how Hyperledger Fabric now supports Ethereum smart contracts, allowing Ethereum developers to integrate with and migrate to Hyperledger Fabric. It also summarizes some of the key components, security aspects, and functionality of IBM's blockchain platform and Hyperledger, including consensus mechanisms, identity management, pluggable components, and how applications interact with the platform.
The Fabric platform is intended as a foundation for developing blockchain applications, products or solutions. The fabric is a Private and Permissioned system which delivers a high degree of confidentiality, resiliency, flexibility, and scalability. It adopted a modular architecture and supports pluggable implementations of different components like consensus, membership services etc. Like other blockchain technologies, Fabric has a ledger, smart contracts, and it is a system by which participants manage their transactions. The smart contract in the fabric is known as chaincode and it is in the chaincode the business logic is embedded. The following features impart high degree of security and privacy for the fabric framewor
Developing applications with Hyperledger Fabric SDKHorea Porutiu
The document discusses Hyperledger Fabric and the Hyperledger Fabric SDK. It provides an overview of the Fabric SDK and demonstrates how to use it to interact with a Hyperledger Fabric network, including enrollment, invoking chaincode to read and write to the ledger, and submitting transactions. It also discusses an IBM Food Trust use case for tracking food supply chains using Hyperledger Fabric.
Cued click point image based kerberos authentication protocolIAEME Publication
The document presents a proposed authentication system that combines cued click point (CCP) graphical passwords with the Kerberos authentication protocol. CCP uses a sequence of images where the user selects one click point per image. This is made more secure through the addition of a sound signature. The system aims to address weaknesses in text passwords by leveraging human memory for visual information. It also utilizes Kerberos to provide network security and mutual authentication between clients and servers. The proposed model would allow administrators to assign user credentials for system access. Users would select a tolerance level and set graphical passwords by choosing images and click points. Their profile would be generated and the entire login process secured using Kerberos authentication.
The document discusses message authentication and digital signatures. It defines message authentication as verifying that received messages come from the intended source and have not been altered. Digital signatures provide message authentication, non-repudiation, and establish the origin of a message. There are two types of digital signatures: arbitrated signatures which use a trusted third party, and true digital signatures which are sent directly from the signer to the verifier. The document describes RSA and Digital Signature Algorithm (DSA) approaches for implementing true digital signatures.
The document discusses authentication protocols and digital signatures. It describes mutual authentication protocols that allow two parties to verify each other's identities and exchange session keys. It also discusses one-way authentication protocols. The document focuses on explaining the Digital Signature Standard (DSS) and the Digital Signature Algorithm (DSA). It provides details on how DSA uses public/private key pairs to generate and verify digital signatures for authenticating messages and senders.
Credit goes to Christopher B Ferris @christo4ferris who put together this presentation which covers the latest developments of Hyperledger Fabric made available in Fabric 1.1 and 1.2 and what can be expected next.
Deploy a blockchain web-app with Hyperledger Fabric 1.4 - Concepts & CodeHorea Porutiu
This video will talk through the concepts needed to understand a Hyperledger Fabric solution - it will talk about smart contracts, the client application, the connection profile, the hyperledger fabric SDK, and how to use a UI to update the ledger.
This document provides an overview of blockchain and Ethereum. It defines blockchain as a decentralized, distributed database or ledger of records that maintains information in immutable blocks. Each block contains a collection of transactions and points to the previous block. Blockchain applications include cryptocurrencies, smart contracts, supply chain management, and more. The document then discusses Ethereum, describing its peer-to-peer network and how transactions are executed and added to the blockchain via miners and validators. It provides details on Ethereum smart contracts and includes an example ballot smart contract written in Solidity to illustrate how voting would work.
This document discusses key concepts and components related to blockchain solutions, including actors such as users, developers, operators, and architects. It describes various components that make up blockchain solutions such as ledgers, smart contracts, consensus mechanisms, and how applications interact with blockchains. It also covers considerations for blockchain developers and operators, and challenges around integrating blockchains with existing systems and achieving determinism.
The document discusses deploying a blockchain web application using Hyperledger Fabric. It begins by introducing key concepts like blockchain vocabulary, the difference between public and private blockchains, and the architecture of a Hyperledger Fabric solution. It then covers the components of a Hyperledger Fabric network, including peers, smart contracts, the ledger, and client applications. It provides an example of how a smart contract updates the world state and an example use case of an e-voting application on the blockchain.
IBM Blockchain Platform - Architectural Good Practices v1.0Matt Lucas
This document discusses architectural good practices for blockchains and Hyperledger Fabric performance. It provides an overview of key concepts like transaction processing in Fabric and performance metrics. It also covers optimizing different parts of the Fabric network like client applications, peers, ordering service, and chaincode. The document recommends using tools like Hyperledger Caliper and custom test harnesses for performance testing and monitoring Fabric deployments. It highlights lessons learned from real projects around reusing connections and load balancing requests.
This document summarizes a presentation about blockchain on Azure. It discusses:
1. The four pillars of blockchain - secure, shared, distributed, and ledger.
2. Different types of blockchain networks including public, private, and consortium.
3. Why Microsoft is well-positioned for blockchain with its open ecosystem on Azure.
4. How blockchain is evolving from simple ledgers to incorporating smart contracts and external data access through cryptlets.
5. Examples of blockchain applications including supply chain management and social good projects.
This document provides an overview of blockchain technology and its applications for business. It begins with defining blockchain as a shared, immutable ledger for recording transactions across a network of nodes. It then discusses how blockchain can be used to build trust and transparency in business processes by enabling real-time sharing of information across organizations. The document provides examples of how blockchain is being applied in various industries like trade finance, food supply chains, and healthcare to improve processes like payments, provenance tracking, and data sharing. It also outlines factors to consider when selecting blockchain use cases and developing blockchain solutions.
This document provides an overview of the anatomy of a Hyperledger application. It describes the key components including the Hyperledger architecture, application components, smart contracts, permissioned ledger access, and how applications interact with the blockchain network. The Hyperledger architecture supports various participants like developers, users, and network operators. Applications use smart contracts to interact with the ledger, while smart contracts encapsulate business logic and transactions. Permissioned access controls who can access the ledger through the use of certificates. The document also provides examples of how applications, smart contracts, and external systems integrate with the permissioned ledger.
- Hyperledger Fabric now supports Ethereum smart contracts through integration with the Ethereum Virtual Machine (EVM). This will allow Ethereum developers to work with Hyperledger Fabric and migrate smart contracts and decentralized apps between the platforms.
- Hyperledger is an open source blockchain project hosted by the Linux Foundation. It includes various blockchain frameworks and tools including Fabric, Sawtooth, and Composer. Fabric is the most widely adopted Hyperledger blockchain framework.
- Hyperledger blockchain applications interact with peers to access and update the shared ledger. The ledger contains a growing list of immutable transaction records organized into blocks.
Simone Bronzini - Weaknesses of blockchain applications - Codemotion Milan 2018Codemotion
Due to the immutability of the ledger and the difficulty to update their consensus rules, Blockchain applications have many critical layers where a bug can cause huge, irreversible fund losses. This talk will shed some light on why and how Blockchain applications are so critical and will discuss past events that led to fund loss or consensus failures due to bugs in critical parts of the code of Bitcoin and Ethereum applications.
This document is a sample exam for the EXIN Blockchain Foundation certification. It contains an introduction explaining the exam format, 40 multiple choice questions, and an answer key and evaluation section. The exam consists of 40 multiple choice questions worth 1 point each. Examinees need 26 points to pass and are given 60 minutes to complete the exam. The questions cover topics related to blockchain fundamentals like the functions of nodes, consensus algorithms, and security mechanisms.
Blockchain in enterprise - Challenges, Considerations and DesignsMichael Chi
What are challenges you will be facing while working on an enterprise Blockchain solution ? What are possible services, solutions we can leverage to create an enterprise blockchain solution ? Here we share our experience and walk you step by step through an on-production blockchain project process.
IBM presents: Hyperledger Fabric Hands On Workshop - part 1Grant Steinfeld
This document summarizes a presentation about Hyperledger Fabric. The presentation introduced Fabric as an open-source enterprise-grade distributed ledger platform, and discussed its key elements - certificate authorities, peers, ordering service, and channels. It also provided an overview of Fabric's architecture and demonstrated how smart contracts interact with the ledger through developing and running a sample application. The presenter encouraged attendees to get hands-on experience with Fabric through tutorials and coding labs.
Klaytn: Service-Oriented Enterprise-Grade Public Blockchain Platformif kakao
한재선(Jason.han) / Ground X
---
Ground X에서 개발하고 있는 퍼블릭 블록체인 플랫폼인 Klaytn에 대해 소개합니다. Klaytn은 대규모 사용자를 기반으로 하는 서비스를 블록체인 기반에서 실행시키는데 최적화된 플랫폼으로서, 기업 수준의 서비스 제공자가 믿고 사용할만한 기능과 거버넌스 등을 제공하는 것을 목표로 한다. 본 발표에서는 현재 블록체인 기술의 이슈를 살펴보고, Klaytn의 솔루션을 소개합니다. 특히 속도와 성능에서의 이슈뿐 아니라 사용자 경험의 개선이나 대규모 서비스를 실행하기 위한 플랫폼 기능들에 대해서도 살펴보고자 합니다.
This document discusses the possibilities of combining artificial intelligence and blockchain technology. Some key points made include:
- AI and encryption work well together, and blockchain can help track and explain AI decisions.
- AI can manage blockchains more efficiently than humans.
- Combining the two could improve data and model trustworthiness, effectiveness through better data sharing, and artificial trust between machines.
- AI techniques like federated learning could introduce new decentralized systems, while AI brings security benefits to blockchain.
Presentation given at an Invited talk at Leicester University. Covers work we are doing at the Open University on applying blockchains/distributed ledgers in the adult educational space
Hyperledger Fabric Technical Deep Dive 20190618Arnaud Le Hors
Slides presented at the Hyperledger Fabric workshop in Barecelona on July 10th, 2019.
This introduces blockchain for business and describes in details the Hyperledger Fabric design principles, overall architecture, its components, and the transaction flow.
This document discusses blockchain technology and its applications. It begins with definitions of blockchain, describing how blocks are linked together in a growing list using cryptography. It then covers blockchain consensus protocols like proof-of-work and proof-of-stake. Applications of blockchain discussed include use in IoT for addressing space, identity management, and access control, as well as in smart agriculture for supply chain tracking and fair pricing. The document concludes by outlining challenges for blockchain like security issues, scalability as the ledger grows, legal questions around jurisdiction, and limitations to transactional privacy.
This document provides an overview of blockchain technology. It defines blockchain as a continuously growing list of records called blocks that are linked using cryptography. Each block contains a hash pointer linking it to the previous block along with a timestamp and transaction data. The document discusses the levels of blockchain from basic storage of digital records to executing smart contracts. It provides examples of blockchain applications in areas like payments and describes the advantages like reduced costs and intermediaries as well as disadvantages like performance needs. Finally, it discusses future works and adoption of blockchain technology.
1) The document describes a decentralized application (dApp) that aims to securely store vehicle details on the blockchain to address issues like tampering of registration details and creation of fake identity cards.
2) Current vehicle data storage in centralized servers is hackable and vulnerable, while a blockchain provides a permanent, decentralized, and secure way to store and retrieve vehicle details.
3) The dApp pushes vehicle details like VIN, model, plate number, owner onto the Ethereum blockchain using smart contracts, and retrieves the data to a dashboard using tools like web3.js and Metamask. This resolves issues around trusting third parties and identifies smuggled vehicles.
This document proposes storing weather report data on the blockchain to improve weather prediction accuracy. It identifies issues with existing weather data systems such as data being manually collected and potentially tampered. The proposed solution involves using IoT sensors to automatically collect temperature and humidity data, storing it on the blockchain to make it trusted and immutable, which could then be used to enhance prediction algorithms. The document outlines the technical approach involving sensors, cloud services, smart contracts, and blockchain storage. An initial proof of concept collecting and storing weather data this way was implemented successfully.
This document discusses blockchain technology and Ethereum. It provides an overview of basic blockchain features like decentralization and cryptography. It describes how Ethereum uses smart contracts and the Solidity programming language. It also discusses Ethereum test networks for development versus the main network. The document outlines how decentralized applications are built using smart contracts, databases, front-end frameworks, and tools like Truffle. It provides details on the author's work with crypto currencies, initial coin offerings, and smart contract testing. Finally, it proposes ideas for blockchain applications to reduce corruption and monitor vehicle performance.
The document proposes using blockchain technology to monitor factories and industries for illegally disposing of waste. Smart devices would collect data on air quality and waste levels, which would be stored decentralized on the blockchain. A smart contract would then record the data permanently on the blockchain, preventing tampering. This ensures factories and industries comply with waste disposal limits set by the government.
This document proposes using blockchain technology to monitor factories and industries by recording their hazardous waste disposal measurements immutably on a distributed ledger. Blockchain provides a permanent, decentralized, and cryptographically secure record that cannot be tampered with. Smart contracts would collect data from sensors, store it decentralizedly, then push the measurements to the blockchain, enforcing compliance by making waste disposal amounts transparent and immutable. This ensures factories follow limits and prevents illegal tampering of waste disposal records.
The document discusses blockchain technology and related concepts. It explains the double spending problem and how miners validate transactions in bitcoin to prevent double spending. It also describes cryptographic hash functions, digital signatures, the mining process, proof-of-work, blockchain types including public, private and consortium models, consensus, and smart contracts.
The document discusses block chain technology and its applications. It begins with an overview of bitcoin and how blockchains work, then discusses how bitcoin is obtained through mining. It describes how blockchains provide a secure and distributed ledger to record transactions. The document proposes a project using blockchain technology to record and secure funding distributions for an open defecation free survey in India in order to reduce corruption. In the proposed system, funds would be tracked in a distributed ledger from the original budget amount down to individual recipients.
This document proposes using blockchain technology to address issues with fake driving licenses and vehicle smuggling through centralized databases. It outlines developing a decentralized system using smart contracts and distributed ledgers to securely store identity and vehicle registration data in a tamper-proof manner. The document discusses analyzing existing centralized systems, developing a blockchain solution, deploying a smart contract on the Ropsten test network, and potential future applications like integrating the system with transportation companies.
Ethereum is a decentralized platform that runs smart contracts. It uses a blockchain and cryptocurrency called Ether. Smart contracts are programs that run exactly as programmed without downtime, censorship, fraud or third party interference. They are written in Solidity and run on the Ethereum Virtual Machine. Remix is an IDE used to write, deploy and test smart contracts. It provides different environments like JavaScript VM, injected web3 and web3 provider to interact with local or remote Ethereum networks.
The document discusses the deep web and dark web. The deep web refers to parts of the world wide web that are not indexed by traditional search engines. It is estimated to be 500 times larger than the surface web. The dark web is a part of the deep web that allows for anonymous communication and is used for both legal and illegal activities due to its anonymity. Some illegal activities include buying drugs and weapons. The Tor project is commonly used to access the dark web anonymously.
Decentralization of internet of things with blockchain architectureV C
This document proposes decentralizing the Internet of Things using blockchain architecture. It discusses challenges like storing IoT device data and linking communications between devices. The authors propose sending data directly from IoT devices to APIs and then to smart contracts using Oraclize, allowing the smart contracts to store the data on the blockchain. Potential applications include using IoT sensors to monitor pollution levels and track vehicle locations to combat theft. Future work involves practical experiments, applying the approaches to more major applications, and further integrating IoT and blockchain.
This document presents a project to create a reliable crop information system for farmers. It aims to develop a model to increase crop production and an application for farmers to predict the best seasonal and yearly crops, provide historical crop data, and details on seeds and pesticides for predicted crops. The project uses linear regression algorithms and input labels like rainfall, season, soil type, and production data to predict the best yielding crop as the output. It describes a working mobile application model that takes location and soil data from farmers to provide personalized best crop recommendations and information through voice and images. Technologies involved include Scratch, MIT App Inventor, Android App Studio, Java, JavaScript, IBM Bluemix, and machine learning courses.
Bitcoin is a cryptocurrency and peer-to-peer electronic cash system that uses blockchain technology to record and verify transactions. New bitcoins are created through a process called mining, where users lend their computing power to verify transactions and are rewarded with bitcoins. The blockchain is a public digital ledger that records all bitcoin transactions, maintaining transparency and preventing corruption. However, bitcoins also carry risks like volatility, lack of regulation, and potential use for illegal activities. While their use is not currently illegal in India, the government is still researching whether and how to implement them.
The document provides an overview of the EOS blockchain, including what EOS is, why it was created, its key features and architecture. Some of the main points covered include:
- EOS aims to be a decentralized operating system that can support industrial-scale decentralized applications. It has its own cryptocurrency called EOS and claims to remove transaction fees, conduct millions of transactions per second, and have good governance.
- EOS uses delegated proof-of-stake consensus where block producers are elected by token holders and produce blocks in rounds. The top 21 voted producers in each round validate transactions and update the blockchain.
- The document discusses EOS's scalability, flexibility, usability, governance
Taking AI to the Next Level in Manufacturing.pdfssuserfac0301
Read Taking AI to the Next Level in Manufacturing to gain insights on AI adoption in the manufacturing industry, such as:
1. How quickly AI is being implemented in manufacturing.
2. Which barriers stand in the way of AI adoption.
3. How data quality and governance form the backbone of AI.
4. Organizational processes and structures that may inhibit effective AI adoption.
6. Ideas and approaches to help build your organization's AI strategy.
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
This presentation provides valuable insights into effective cost-saving techniques on AWS. Learn how to optimize your AWS resources by rightsizing, increasing elasticity, picking the right storage class, and choosing the best pricing model. Additionally, discover essential governance mechanisms to ensure continuous cost efficiency. Whether you are new to AWS or an experienced user, this presentation provides clear and practical tips to help you reduce your cloud costs and get the most out of your budget.
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...Alex Pruden
Folding is a recent technique for building efficient recursive SNARKs. Several elegant folding protocols have been proposed, such as Nova, Supernova, Hypernova, Protostar, and others. However, all of them rely on an additively homomorphic commitment scheme based on discrete log, and are therefore not post-quantum secure. In this work we present LatticeFold, the first lattice-based folding protocol based on the Module SIS problem. This folding protocol naturally leads to an efficient recursive lattice-based SNARK and an efficient PCD scheme. LatticeFold supports folding low-degree relations, such as R1CS, as well as high-degree relations, such as CCS. The key challenge is to construct a secure folding protocol that works with the Ajtai commitment scheme. The difficulty, is ensuring that extracted witnesses are low norm through many rounds of folding. We present a novel technique using the sumcheck protocol to ensure that extracted witnesses are always low norm no matter how many rounds of folding are used. Our evaluation of the final proof system suggests that it is as performant as Hypernova, while providing post-quantum security.
Paper Link: https://eprint.iacr.org/2024/257
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
Digital Marketing Trends in 2024 | Guide for Staying AheadWask
https://www.wask.co/ebooks/digital-marketing-trends-in-2024
Feeling lost in the digital marketing whirlwind of 2024? Technology is changing, consumer habits are evolving, and staying ahead of the curve feels like a never-ending pursuit. This e-book is your compass. Dive into actionable insights to handle the complexities of modern marketing. From hyper-personalization to the power of user-generated content, learn how to build long-term relationships with your audience and unlock the secrets to success in the ever-shifting digital landscape.
Dandelion Hashtable: beyond billion requests per second on a commodity serverAntonios Katsarakis
This slide deck presents DLHT, a concurrent in-memory hashtable. Despite efforts to optimize hashtables, that go as far as sacrificing core functionality, state-of-the-art designs still incur multiple memory accesses per request and block request processing in three cases. First, most hashtables block while waiting for data to be retrieved from memory. Second, open-addressing designs, which represent the current state-of-the-art, either cannot free index slots on deletes or must block all requests to do so. Third, index resizes block every request until all objects are copied to the new index. Defying folklore wisdom, DLHT forgoes open-addressing and adopts a fully-featured and memory-aware closed-addressing design based on bounded cache-line-chaining. This design offers lock-free index operations and deletes that free slots instantly, (2) completes most requests with a single memory access, (3) utilizes software prefetching to hide memory latencies, and (4) employs a novel non-blocking and parallel resizing. In a commodity server and a memory-resident workload, DLHT surpasses 1.6B requests per second and provides 3.5x (12x) the throughput of the state-of-the-art closed-addressing (open-addressing) resizable hashtable on Gets (Deletes).
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyScyllaDB
Freshworks creates AI-boosted business software that helps employees work more efficiently and effectively. Managing data across multiple RDBMS and NoSQL databases was already a challenge at their current scale. To prepare for 10X growth, they knew it was time to rethink their database strategy. Learn how they architected a solution that would simplify scaling while keeping costs under control.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/temporal-event-neural-networks-a-more-efficient-alternative-to-the-transformer-a-presentation-from-brainchip/
Chris Jones, Director of Product Management at BrainChip , presents the “Temporal Event Neural Networks: A More Efficient Alternative to the Transformer” tutorial at the May 2024 Embedded Vision Summit.
The expansion of AI services necessitates enhanced computational capabilities on edge devices. Temporal Event Neural Networks (TENNs), developed by BrainChip, represent a novel and highly efficient state-space network. TENNs demonstrate exceptional proficiency in handling multi-dimensional streaming data, facilitating advancements in object detection, action recognition, speech enhancement and language model/sequence generation. Through the utilization of polynomial-based continuous convolutions, TENNs streamline models, expedite training processes and significantly diminish memory requirements, achieving notable reductions of up to 50x in parameters and 5,000x in energy consumption compared to prevailing methodologies like transformers.
Integration with BrainChip’s Akida neuromorphic hardware IP further enhances TENNs’ capabilities, enabling the realization of highly capable, portable and passively cooled edge devices. This presentation delves into the technical innovations underlying TENNs, presents real-world benchmarks, and elucidates how this cutting-edge approach is positioned to revolutionize edge AI across diverse applications.
A Comprehensive Guide to DeFi Development Services in 2024Intelisync
DeFi represents a paradigm shift in the financial industry. Instead of relying on traditional, centralized institutions like banks, DeFi leverages blockchain technology to create a decentralized network of financial services. This means that financial transactions can occur directly between parties, without intermediaries, using smart contracts on platforms like Ethereum.
In 2024, we are witnessing an explosion of new DeFi projects and protocols, each pushing the boundaries of what’s possible in finance.
In summary, DeFi in 2024 is not just a trend; it’s a revolution that democratizes finance, enhances security and transparency, and fosters continuous innovation. As we proceed through this presentation, we'll explore the various components and services of DeFi in detail, shedding light on how they are transforming the financial landscape.
At Intelisync, we specialize in providing comprehensive DeFi development services tailored to meet the unique needs of our clients. From smart contract development to dApp creation and security audits, we ensure that your DeFi project is built with innovation, security, and scalability in mind. Trust Intelisync to guide you through the intricate landscape of decentralized finance and unlock the full potential of blockchain technology.
Ready to take your DeFi project to the next level? Partner with Intelisync for expert DeFi development services today!
Skybuffer SAM4U tool for SAP license adoptionTatiana Kojar
Manage and optimize your license adoption and consumption with SAM4U, an SAP free customer software asset management tool.
SAM4U, an SAP complimentary software asset management tool for customers, delivers a detailed and well-structured overview of license inventory and usage with a user-friendly interface. We offer a hosted, cost-effective, and performance-optimized SAM4U setup in the Skybuffer Cloud environment. You retain ownership of the system and data, while we manage the ABAP 7.58 infrastructure, ensuring fixed Total Cost of Ownership (TCO) and exceptional services through the SAP Fiori interface.
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...alexjohnson7307
Predictive maintenance is a proactive approach that anticipates equipment failures before they happen. At the forefront of this innovative strategy is Artificial Intelligence (AI), which brings unprecedented precision and efficiency. AI in predictive maintenance is transforming industries by reducing downtime, minimizing costs, and enhancing productivity.
GraphRAG for Life Science to increase LLM accuracyTomaz Bratanic
GraphRAG for life science domain, where you retriever information from biomedical knowledge graphs using LLMs to increase the accuracy and performance of generated answers
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Stm
1. Efficient Smart Contract Design for Blockchains a
Presented by:
Sathya Peri
Associate Professor
IIT Hyderabad, India
CSE Department
March 25, 2019
a
The initial idea has been presented in Doctoral Symposium, ICDCN 2019, and
awarded as ‘Best Poster Award’. The full paper has been accepted in PDP 2019.
1 of 72
2. Outline of the Talk
Introduction to Blockchain
Current Blockchain Design
Bottleneck in Existing Blockchain Design
Challenges to Execute the Smart Contracts Concurrently
Proposed Methodology: Concurrent Miner and Validator
Experimental Evaluation
Conclusion and Future Work
2 of 72
3. Introduction
Blockchain
• Blockchain is a decentralized, distributed database or ledger of
records.
b
https://bitcoin.org/en/
c
https://www.ethereum.org/
d
https://www.hyperledger.org/
3 of 72
4. Introduction
Blockchain
• Blockchain is a decentralized, distributed database or ledger of
records.
• It maintains information in the form of blocks.
b
https://bitcoin.org/en/
c
https://www.ethereum.org/
d
https://www.hyperledger.org/
3 of 72
5. Introduction
Blockchain
• Blockchain is a decentralized, distributed database or ledger of
records.
• It maintains information in the form of blocks.
• Each block is a collection of transactions and has a pointer to its
previous block.
b
https://bitcoin.org/en/
c
https://www.ethereum.org/
d
https://www.hyperledger.org/
3 of 72
6. Introduction
Blockchain
• Blockchain is a decentralized, distributed database or ledger of
records.
• It maintains information in the form of blocks.
• Each block is a collection of transactions and has a pointer to its
previous block.
• By design these blocks are immutable but publicly readable.
b
https://bitcoin.org/en/
c
https://www.ethereum.org/
d
https://www.hyperledger.org/
3 of 72
7. Introduction
Blockchain
• Blockchain is a decentralized, distributed database or ledger of
records.
• It maintains information in the form of blocks.
• Each block is a collection of transactions and has a pointer to its
previous block.
• By design these blocks are immutable but publicly readable.
• Example: Bitcoinb, Ethereumc, and Hyperledgerd etc.
b
https://bitcoin.org/en/
c
https://www.ethereum.org/
d
https://www.hyperledger.org/
3 of 72
9. Introduction
Smart contracts
• Modern blockchain systems interpose an additional software layer
between clients and the blockchain.
• Client requests are directed to scripts, called smart contracts.
Examples are Ballot, coin, simple auction etc.
4 of 72
10. Introduction
Smart contracts
• Modern blockchain systems interpose an additional software layer
between clients and the blockchain.
• Client requests are directed to scripts, called smart contracts.
Examples are Ballot, coin, simple auction etc.
• Smart contracts are similar to a legal contract in which terms are
recorded in a legal language.
4 of 72
11. Introduction
Smart contracts
• Modern blockchain systems interpose an additional software layer
between clients and the blockchain.
• Client requests are directed to scripts, called smart contracts.
Examples are Ballot, coin, simple auction etc.
• Smart contracts are similar to a legal contract in which terms are
recorded in a legal language.
• Advantages:
1. No need for a trusted third party
to validate the contract.
2. Low contracting enforcement.
3. Compliance costs.
4 of 72
13. Ethereum High Level Design
• Ethereum nodes form a peer-to-peer system.
5 of 72
14. Ethereum High Level Design
• Ethereum nodes form a peer-to-peer system.
• Clients (external to the system) wishing to execute smart
contracts, contact a peer of the system.
5 of 72
15. Ethereum High Level Design
• Ethereum nodes form a peer-to-peer system.
• Clients (external to the system) wishing to execute smart
contracts, contact a peer of the system.
Peer1
Peer2
Peer3
Peer4
Client1
Client2
Client3
T1
T2
T3
B1 B2 B3
B1 B2 B3
B1 B2 B3
B1 B2 B3
Figure: Clients send Transaction T1, T2 and T3 to Miner (Peer4)
5 of 72
16. Ethereum High Level Design
Peer4 T1 T2 T3 FS
Hash of the
Previous
Block
B1 B2 B3 B4
Figure: Miner forms a block B4 and computes final state (FS) sequentially
5 of 72
18. Ethereum High Level Design
Peer1
Peer2
Peer3
B1 B2 B3
B1 B2 B3
B1 B2 B3
B4
B4
B4
T1 T2 T3 FS
Hash of the
Previous
Block
T1 T2 T3 FS
Hash of the
Previous
Block
T1 T2 T3 FS
Hash of the
Previous
Block
Compute CS
Compute CS Compute CS
Figure: Validators (Peer 1, 2 and 3) compute current state (CS) sequentially
5 of 72
19. Ethereum High Level Design
Peer1
Peer2
Peer3
B1 B2 B3
B1 B2 B3
B1 B2 B3
B4
B4
B4
T1 T2 T3 FS
Hash of the
Previous
Block
T1 T2 T3 FS
Hash of the
Previous
Block
T1 T2 T3 FS
Hash of the
Previous
Block
CS = FS
Reject Block B4
No Yes Agree on
Block B4
CS = FS
Reject Block B4
No Agree on
Block B4
Yes
CS = FS
Agree on
Block B4
No
Reject Block B4
Yes
Figure: Validators verify the FS and reach the consensus protocol
5 of 72
20. Ethereum High Level Design
Peer1
Peer2
Peer3
Peer4
B1 B2 B3
B1 B2 B3
B1 B2 B3
B1 B2 B3 B4
B4
B4
B4
Figure: Block B4 successfully added to the blockchain
5 of 72
22. Bottleneck in Existing Blockchain
Ethereum
• In the current era of multi-core processors, serial execution of the
transactions by the miners and validators fail to utilize the cores
properly and as a result, have poor throughput.
6 of 72
23. Bottleneck in Existing Blockchain
Ethereum
• In the current era of multi-core processors, serial execution of the
transactions by the miners and validators fail to utilize the cores
properly and as a result, have poor throughput.
(b) Concurrent Execution(a) Serial Execution of transactions
T2
T1
T2
T1
send(A, B, 10$) send(A, B, 10$)
send(C, D, 20$)send(C, D, 20$)
C1
C1
C2C2
Figure: Motivation towards concurrent execution over serial
6 of 72
24. Bottleneck in Existing Blockchain
Ethereum
• In the current era of multi-core processors, serial execution of the
transactions by the miners and validators fail to utilize the cores
properly and as a result, have poor throughput.
(b) Concurrent Execution(a) Serial Execution of transactions
T2
T1
T2
T1
send(A, B, 10$) send(A, B, 10$)
send(C, D, 20$)send(C, D, 20$)
C1
C1
C2C2
Figure: Motivation towards concurrent execution over serial
• By adding concurrency to smart contracts execution, we can
achieve better efficiency and higher throughput.
6 of 72
26. Challenges (1/2)
• Concurrent execution of smart contracts transactions may access
the conflicting shared data.
8 of 72
27. Challenges (1/2)
• Concurrent execution of smart contracts transactions may access
the conflicting shared data.
• Identifying the conflicts at run-time is not straightforward.
8 of 72
28. Challenges (1/2)
• Concurrent execution of smart contracts transactions may access
the conflicting shared data.
• Identifying the conflicts at run-time is not straightforward.
• Improper use of locks may lead to deadlock.
8 of 72
29. Challenges (1/2)
• Concurrent execution of smart contracts transactions may access
the conflicting shared data.
• Identifying the conflicts at run-time is not straightforward.
• Improper use of locks may lead to deadlock.
• Discovering an equivalent serial schedule of concurrent execution
of smart contract transactions is difficult.
8 of 72
30. Challenges (2/2)
• Concurrent execution of smart contracts transactions by validator
may incorrectly reject the valid block proposed by the miner.
9 of 72
31. Challenges (2/2)
• Concurrent execution of smart contracts transactions by validator
may incorrectly reject the valid block proposed by the miner.
B
A
(b) Equivalent execution by miner(a) Concurrent transactions (c) Equivalent execution by validator
B
A
FS
10$
10$
Accounts IS
20$
0$
T2
T1
T2
C1
C2
C2
send(A, B, 10$) C1
send(B, A, 20$)
send(A, B, 10$) send(A, B, 10$)
send(B, A, 20$) send(B, A, 20$)
T1T1
T2
C1
A2
0$
FS
10$
10$
Accounts IS
20$
Figure: Concurrent execution of transactions by miner and validator
9 of 72
33. Proposed Methodology
Concurrent Miner
• We develop an efficient framework to execute the smart contract
transactions concurrently by miner using optimistic Software
Transactional Memory systems (STMs).
10 of 72
34. Software Transactional Memory Systems (STMs)
• STMs are a convenient programming interface for a programmer to
access shared memory using concurrent threads without worrying
about concurrency issues.
11 of 72
35. Software Transactional Memory Systems (STMs)
• STMs are a convenient programming interface for a programmer to
access shared memory using concurrent threads without worrying
about concurrency issues.
• We have used two protocols implemented in IITH-STM library for
concurrent execution of the smart contracts by miner.
11 of 72
36. Software Transactional Memory Systems (STMs)
• STMs are a convenient programming interface for a programmer to
access shared memory using concurrent threads without worrying
about concurrency issues.
• We have used two protocols implemented in IITH-STM library for
concurrent execution of the smart contracts by miner.
1. Basic Time-stamp Ordering (BTO) Protocol.
2. Multi-Version Time-stamp Ordering (MVTO) Protocol.
11 of 72
37. Basic Time-stamp Ordering (BTO) Protocol e
• If pi (x) and qj (x), i = j, are operations in conflict, the following
has to hold:
◦ pi (x) is executed before qj (x) iff ts(ti ) < ts(tj ).
w2(x, 10) w2(y, 10)
A1
r1(y, A)r1(x, 0)
T2
T1
C2
Figure: BTO
e
Gerhard Weikum and Gottfried Vossen. Transactional Information Systems: Theory, Algorithms, and the Practice
of Concurrency Control and Recovery, 2002.
12 of 72
38. Multi-Version Time-stamp Ordering (MVTO)
Protocol f
• MVTO maintains multiple versions corresponding to each shared
data-objects.
• It reduces the number of aborts and improves the throughput.
w2(x, 10) w2(y, 10)
A1
r1(y, A)r1(x, 0)
T2
T1
C2
Figure: BTO
f
Kumar et al. A TimeStamp Based Multi-version STM Algorithm. In ICDCN, 2014
13 of 72
39. Multi-Version Time-stamp Ordering (MVTO)
Protocol f
• MVTO maintains multiple versions corresponding to each shared
data-objects.
• It reduces the number of aborts and improves the throughput.
w2(x, 10) w2(y, 10)
A1
r1(y, A)r1(x, 0)
T2
T1
C2
Figure: BTO
w2(x, 10) w2(y, 10)
C1
r1(y, 0)
T2
T1
C2
r1(x, 0)
Figure: MVTO
f
Kumar et al. A TimeStamp Based Multi-version STM Algorithm. In ICDCN, 2014
13 of 72
40. Block Graph
• The miner generates a Block Graph (BG) to capture the
dependencies between the smart contract transactions.
14 of 72
41. Block Graph
• The miner generates a Block Graph (BG) to capture the
dependencies between the smart contract transactions.
• BG used by validator to execute smart contract transactions
concurrently.
14 of 72
42. Block Graph
• The miner generates a Block Graph (BG) to capture the
dependencies between the smart contract transactions.
• BG used by validator to execute smart contract transactions
concurrently.
• Two transactions which do not have a path should be able to
execute concurrently.
14 of 72
43. Block Graph Components
• The vertices correspond only to committed transactions (or atomic
units).
15 of 72
44. Block Graph Components
• The vertices correspond only to committed transactions (or atomic
units).
• The edges of the block graph depends on the STM protocol.
15 of 72
45. Block Graph Components
• The vertices correspond only to committed transactions (or atomic
units).
• The edges of the block graph depends on the STM protocol.
• For BTO:
◦ Uses single version and satisfies co-opacity (similar to CSR).
◦ Hence, conflict graph is same as block graph.
◦ If Ti , Tj are conflicting and i < j then add an edge from Ti to Tj in
the graph.
15 of 72
46. Block Graph Components
• The vertices correspond only to committed transactions (or atomic
units).
• The edges of the block graph depends on the STM protocol.
• For BTO:
◦ Uses single version and satisfies co-opacity (similar to CSR).
◦ Hence, conflict graph is same as block graph.
◦ If Ti , Tj are conflicting and i < j then add an edge from Ti to Tj in
the graph.
(a). Concurrent Execution of Transactions
(b). Block Graph
w2(x, 10) w2(y, 10)
T2
C2 T2 T3
A1
r1(y, A)r1(x, 0)
T1
T3
r3(x, 10) r3(y, 10)
C3
15 of 72
47. Block Graph Edges
• MVTO uses multiple versions and satisfies opacity.
16 of 72
48. Block Graph Edges
• MVTO uses multiple versions and satisfies opacity.
• Here, block graph is same as multi-version serialization graph.
16 of 72
49. Block Graph Edges
• MVTO uses multiple versions and satisfies opacity.
• Here, block graph is same as multi-version serialization graph.
• Edges in MVTO:
◦ Real Time Edge: Commit/Termination of a transaction Ti < begining
of transaction Tj . Then Edge goes from Ti → Tj .
16 of 72
50. Block Graph Edges
• MVTO uses multiple versions and satisfies opacity.
• Here, block graph is same as multi-version serialization graph.
• Edges in MVTO:
◦ Real Time Edge: Commit/Termination of a transaction Ti < begining
of transaction Tj . Then Edge goes from Ti → Tj .
◦ Read From Edge: A transaction Tj reading from transaction Ti . Then
Edge goes from Ti → Tj .
16 of 72
51. Block Graph Edges
• MVTO uses multiple versions and satisfies opacity.
• Here, block graph is same as multi-version serialization graph.
• Edges in MVTO:
◦ Real Time Edge: Commit/Termination of a transaction Ti < begining
of transaction Tj . Then Edge goes from Ti → Tj .
◦ Read From Edge: A transaction Tj reading from transaction Ti . Then
Edge goes from Ti → Tj .
◦ Version Order Edge: It captures the multiversion relations among the
transactions and form the edges.
16 of 72
53. Block Graph
Lock-Free Concurrent BG Methods
Concurrent Miner Methods: addVert(), addEdge()
• addVert(): Adds vertices to the graph.
17 of 72
54. Block Graph
Lock-Free Concurrent BG Methods
Concurrent Miner Methods: addVert(), addEdge()
• addVert(): Adds vertices to the graph.
• addEdge(): Adds edges to the graph.
17 of 72
55. Block Graph
Lock-Free Concurrent BG Methods
Concurrent Miner Methods: addVert(), addEdge()
• addVert(): Adds vertices to the graph.
• addEdge(): Adds edges to the graph.
T0
Th1
Figure: High Level View of Block Graph: Thread 1 (Th1) wants to create a
node for T0 in the BG
17 of 72
56. Block Graph
Data structure of Lock-Free Concurrent Block Graph: Adjacency List
−∞
−∞ +∞
+∞
AU eNext
vNext0 0
ts inCnt
1
Th1
Figure: Thread 1 (Th1) created a node for T0 and added into the BG
- Vertices and edges are stored in the increasing order of time stamp
in vertex and edge list respectively.
18 of 72
57. Block Graph
High Level View of the BLock Graph
T0
T5
T7
Th2
Th3
Figure: Concurrently, two threads Th2 and Th3 want to add a node T5 and
T7 in the BG respectively
19 of 72
59. Block Graph
−∞
−∞ +∞
+∞
Th2
Curr
Th2
Pred AU eNext
vNext0 0
ts inCnt
1
Th3
Pred
Th3
Curr
Figure: Concurrently, two threads Th2 and Th3 identify the location of T5
and T7 in vertex list respectively
21 of 72
63. Block Graph
−∞
−∞
−∞
−∞
+∞
+∞
+∞
+∞
AU eNext
vNext0 0
ts inCnt
1
AU eNext
vNext5 2
ts inCnt
AU eNext
vNext
ts inCnt
3 07
0
5
ts vref eNext
Th2
Pred
Th2
Curr
Figure: Atomically, Th2 added the conflicting node T5 in edge list of T0
25 of 72
64. Block Graph
−∞
−∞
−∞
−∞
+∞
+∞
+∞
+∞
AU eNext
vNext0 0
ts inCnt
1
AU eNext
vNext5 2
ts inCnt
AU eNext
vNext
ts inCnt
3 07
0 1
5
ts vref eNext
Th2
Pred
Th2
Curr
Figure: Th2 atomically incremented the inCnt of T5 with the help of vertex
reference pointer (verf ) to maintain the dependency
26 of 72
65. Block Graph
High Level View of the Block Graph
T0
T5
T7
T10
Th4
Figure: Thread 4 (Th4) is adding the node of T10 while maintaining the
conflicts from T5 and T7 in the BG
27 of 72
84. Block Graph
Lock-Free Concurrent BG Methods
Concurrent Validator Methods: searchGlobal(), decInCount()
• searchGlobal(): Searches for a vertex with no incoming edges &
claims it.
45 of 72
85. Block Graph
Lock-Free Concurrent BG Methods
Concurrent Validator Methods: searchGlobal(), decInCount()
• searchGlobal(): Searches for a vertex with no incoming edges &
claims it.
• decInCount(): Decrements the in-degree of a vertex.
45 of 72
86. Block Graph
High Level View of Block Graph
T0
T5
T7
T10
Th1
Th2
Th3
Th4
Figure: Concurrently, four threads are finding the source node (with indgeree
0) in the Block Graph to execute the smart contract functions (atomic units
(or AU))
46 of 72
87. Block Graph
High Level View of Block Graph
T5
T7
T10
Th1
Th2
Th3
Th4
T0
Figure: Thread Th1 and Th3 identified the source node and claimed it
47 of 72
88. Block Graph
−∞
−∞
−∞
−∞
−∞
+∞
+∞
+∞
+∞
ts vref eNext
+∞
AU eNext
vNext0 0
ts inCnt
1
AU eNext
vNext5 2
ts inCnt
5
1
AU eNext
vNext
ts inCnt
3 07
AU eNext
vNext
ts inCnt
410 2
10
ts vref eNext
10
ts vref eNext
Th1
Th3
Th4
Th2
Figure: Concurrently, four threads are finding the source node in the BG48 of 72
89. Block Graph
−∞
−∞
−∞
−∞
−∞
+∞
+∞
+∞
+∞
ts vref eNext
+∞
Th2
Th3
Th4
Th1
AU eNext
vNext0 0
ts inCnt
1
AU eNext
vNext5 2
ts inCnt
5
1
AU eNext
vNext
ts inCnt
3 07
AU eNext
vNext
ts inCnt
410 2
10
ts vref eNext
10
ts vref eNext
-1
Figure: Thread Th1 identified and claimed the source node49 of 72
90. Block Graph
−∞
−∞
−∞
−∞
−∞
+∞
+∞
+∞
+∞
ts vref eNext
+∞
Th2
Th4
Th1
AU eNext
vNext0
ts inCnt
1
AU eNext
vNext5 2
ts inCnt
5
1
AU eNext
vNext
ts inCnt
3 07
AU eNext
vNext
ts inCnt
410 2
10
ts vref eNext
10
ts vref eNext
Th3
-1
Figure: Concurrently, Th1 is executing the smart contract function and Th3
is searching for other source node
50 of 72
91. Block Graph
−∞
−∞
−∞
−∞
−∞
+∞
+∞
+∞
+∞
ts vref eNext
+∞
Th2
Th4
Th1
Th3
AU eNext
vNext0
ts inCnt
1
AU eNext
vNext5 2
ts inCnt
5
1
AU eNext
vNext
ts inCnt
3 07
AU eNext
vNext
ts inCnt
410 2
10
ts vref eNext
10
ts vref eNext
-1
Figure: Th3 is searching for other source node to claim it
51 of 72
92. Block Graph
−∞
−∞
−∞
−∞
−∞
+∞
+∞
+∞
+∞
ts vref eNext
+∞
Th2
Th4
Th1
Th3
AU eNext
vNext0 -1
ts inCnt
1
AU eNext
vNext5 2
ts inCnt
5
1
AU eNext
vNext
ts inCnt
3 07
AU eNext
vNext
ts inCnt
410 2
10
ts vref eNext
10
ts vref eNext
-1
Figure: Th3 identified the source node as T7 and claimed it
52 of 72
93. Block Graph
High Level View of Block Graph
Th4
T5
T7
T10
Th1
Th2
Th3
T0
Figure: Decrementing the indegree count of conflicting node (T5 and T10)
by Th1 and Th3 respectively after executing the smart contract functions
53 of 72
94. Block Graph
High Level View of Block Graph
Th4
T5
T7
Th1
Th3
T0
Th2
T10
Figure: T5 is claimed by thread Th4 and Th2 is waiting to claim T10
54 of 72
95. Block Graph
−∞
−∞
−∞
−∞
−∞
+∞
+∞
+∞
+∞
Th3
Th1
+∞
Th2
AU eNext
vNext0 -1
ts inCnt
1
AU eNext
vNext5 2
ts inCnt
5
1
AU eNext
vNext
ts inCnt
37
AU eNext
vNext
ts inCnt
410 2
10
ts vref eNext
10
ts vref eNext
Th4
ts vref eNext
-1
Figure: Identifying the conflicting node of T0 and T7 by Th1 and Th2 in
their respective edge list
55 of 72
96. Block Graph
−∞
−∞
−∞
−∞
−∞
+∞
+∞
+∞
+∞
Th3
Th1
+∞
Th2
Th4
AU eNext
vNext0 -1
ts inCnt
1
AU eNext
vNext5 2
ts inCnt
5
1
AU eNext
vNext
ts inCnt
37
AU eNext
vNext
ts inCnt
410 2
10
ts vref eNext
10
ts vref eNext
ts vref eNext
-1
0
1
Figure: Th1 and Th3 decrement the inCnt atomically of T5 and T10
respectively with the help of vref pointer
56 of 72
97. Block Graph
−∞
−∞
−∞
−∞
−∞
+∞
+∞
+∞
+∞
+∞
Th2
Th4
Th1
AU eNext
vNext0 -1
ts inCnt
1
AU eNext
vNext5 2
ts inCnt
5
AU eNext
vNext
ts inCnt
37
AU eNext
vNext
ts inCnt
410
10
ts vref eNext
10
ts vref eNext
ts vref eNext
-1
0 -1
1
Th3
Figure: Th4 claimed the source node (T5) and executing the atomic unit57 of 72
98. Block Graph
−∞
−∞
−∞
−∞
−∞
+∞
+∞
+∞
+∞
+∞
Th2
Th1
AU eNext
vNext0 -1
ts inCnt
1
AU eNext
vNext5 2
ts inCnt
5
AU eNext
vNext
ts inCnt
37
AU eNext
vNext
ts inCnt
410
10
ts vref eNext
10
ts vref eNext
ts vref eNext
-1
1
Th4
-1
Th3
Figure: Th4 identifies the conflicting node of T5 in its edge list58 of 72
99. Block Graph
−∞
−∞
−∞
−∞
−∞
+∞
+∞
+∞
+∞
+∞
Th2
Th1
AU eNext
vNext0 -1
ts inCnt
1
AU eNext
vNext5 2
ts inCnt
5
AU eNext
vNext
ts inCnt
37
AU eNext
vNext
ts inCnt
410
10
ts vref eNext
10
ts vref eNext
ts vref eNext
-1
1
Th4
-1
Th3
0
Figure: Th4 atomically decrements the indegree count of T1059 of 72
100. Block Graph
High Level View of Block Graph
Th4
T5
T7
Th1
Th3
T0
Th2
T10
Figure: After executing the smart contract function (AU) of T5 by Th4 it
decrements the indegree count of T10. Thread Th2 claims the source node
as T10
60 of 72
101. Block Graph
−∞
−∞
−∞
−∞
−∞
+∞
+∞
+∞
+∞
+∞
Th2
Th1
AU eNext
vNext0 -1
ts inCnt
1
AU eNext
vNext5 2
ts inCnt
5
AU eNext
vNext
ts inCnt
37
AU eNext
vNext
ts inCnt
410
10
ts vref eNext
10
ts vref eNext
ts vref eNext
-1
0
-1
Th3
-1
Th4
Figure: Th2 claimed the source node T10 and executes the AU61 of 72
102. Block Graph
High Level View of Block Graph
T5
T7
T0
T10
Figure: All the atomic units are claimed
62 of 72
103. Block Graph
−∞
−∞
−∞
−∞
−∞
+∞
+∞
+∞
+∞
+∞AU eNext
vNext0 -1
ts inCnt
1
AU eNext
vNext5 2
ts inCnt
5
AU eNext
vNext
ts inCnt
37
AU eNext
vNext
ts inCnt
410
10
ts vref eNext
10
ts vref eNext
ts vref eNext
-1
-1
-1
Figure: All the atomic units are claimed63 of 72
105. Experimental Evaluation (1/3)
• Smart Contracts are written in Solidity language which runs on
Ethereum Virtual Machine (EVM).
64 of 72
106. Experimental Evaluation (1/3)
• Smart Contracts are written in Solidity language which runs on
Ethereum Virtual Machine (EVM).
• EVM doesn’t supports multi-threading.
64 of 72
107. Experimental Evaluation (1/3)
• Smart Contracts are written in Solidity language which runs on
Ethereum Virtual Machine (EVM).
• EVM doesn’t supports multi-threading.
• We converted smart contracts from solidity to C++ language for
concurrent execution.
64 of 72
108. Experimental Evaluation (2/3)
• We consider four benchmarks Simple Auction, Coin, Ballot, Mixed
contracts from Solidity documentation.
65 of 72
109. Experimental Evaluation (2/3)
• We consider four benchmarks Simple Auction, Coin, Ballot, Mixed
contracts from Solidity documentation.
• Simple Auction: Multiple bidders will take the part in bid and at
the end of the auction, a bidder with the highest amount will be
successful.
65 of 72
110. Experimental Evaluation (2/3)
• We consider four benchmarks Simple Auction, Coin, Ballot, Mixed
contracts from Solidity documentation.
• Simple Auction: Multiple bidders will take the part in bid and at
the end of the auction, a bidder with the highest amount will be
successful.
• Coin: It is the simplest form of a cryptocurrency. Whoever having
account with sufficient balance can send coins from his account to
another account.
65 of 72
111. Experimental Evaluation (2/3)
• We consider four benchmarks Simple Auction, Coin, Ballot, Mixed
contracts from Solidity documentation.
• Simple Auction: Multiple bidders will take the part in bid and at
the end of the auction, a bidder with the highest amount will be
successful.
• Coin: It is the simplest form of a cryptocurrency. Whoever having
account with sufficient balance can send coins from his account to
another account.
• Ballot: It implements an electronic voting contract in which voters
cast their vote to the proposal.
65 of 72
112. Experimental Evaluation (2/3)
• We consider four benchmarks Simple Auction, Coin, Ballot, Mixed
contracts from Solidity documentation.
• Simple Auction: Multiple bidders will take the part in bid and at
the end of the auction, a bidder with the highest amount will be
successful.
• Coin: It is the simplest form of a cryptocurrency. Whoever having
account with sufficient balance can send coins from his account to
another account.
• Ballot: It implements an electronic voting contract in which voters
cast their vote to the proposal.
• Mixed: Combination of above three contracts in equal proportion.
65 of 72
113. Experimental Evaluation (3/3)
• We run our experiment for two workloads:
1. The number of transactions (or atomic-units) varies from 50 to 400,
while threads and shared data-objects are fixed to 50 and 40
respectively.
2. The number of threads varies from 10 to 60 while atomic-units are
fixed to 400 and shared data-objects to 40.
66 of 72
114. Experimental Evaluation (3/3)
• We run our experiment for two workloads:
1. The number of transactions (or atomic-units) varies from 50 to 400,
while threads and shared data-objects are fixed to 50 and 40
respectively.
2. The number of threads varies from 10 to 60 while atomic-units are
fixed to 400 and shared data-objects to 40.
• Concurrent Validator used two approaches: 1) Fork-Join Approach
and 2) Decentralized Approach.
66 of 72
115. Simple Auction Contracts
1 0 2 0 3 0 4 0 5 0 6 0
1
2
4
8
1 6
3 2
6 4
1 2 8
5 0 1 0 0 1 5 0 2 0 0 2 5 0 3 0 0 3 5 0 4 0 0
1
2
4
8
1 6
3 2
6 4
1 2 8
# o f t h r e a d s
S e r i a l B T O M i n e r M V T O M i n e r B T O D e c e n t r a l i z e d V a l i d a t o r
M V T O D e c e n t r a l i z e d V a l i d a t o r B T O F o r k - j o i n V a l i d a t o r M V T O F o r k - j o i n V a l i d a t o r
( b )( a )
SpeedupOverSerial
# o f a t o m i c - u n i t s
Figure: Simple Auction Contracts
- It achieve 3.9x and 4.45x average speedups for concurrent miner using BTO and MVTO
STM protocol respectively. Along with BTO and MVTO validator outperform average
35.8x and 43.1x than serial validator respectively.
67 of 72
116. Coin Contracts
5 0 1 0 0 1 5 0 2 0 0 2 5 0 3 0 0 3 5 0 4 0 0
1
2
4
8
1 6
3 2
6 4
1 0 2 0 3 0 4 0 5 0 6 0
1
2
4
8
1 6
3 2
( b )( a )
SpeedupOverSerial
# o f a t o m i c - u n i t s # o f t h r e a d s
S e r i a l B T O M i n e r M V T O M i n e r B T O V a l i d a t o r
M V T O D e c e n t r a l i z e d V a l i d a t o r B T O F o r k - j o i n V a l i d a t o r M V T O F o r k - j o i n V a l i d a t o r
Figure: Coin Contracts
- It achieve 4.7x and 5.2x average speedups for concurrent miner using BTO and MVTO
STM protocol respectively. Along with BTO and MVTO validator outperform average
25.6x and 31.3x than serial validator respectively.
68 of 72
117. Ballot Contracts
5 0 1 0 0 1 5 0 2 0 0 2 5 0 3 0 0 3 5 0 4 0 0
1
2
4
8
1 6
3 2
6 4
1 2 8
1 0 2 0 3 0 4 0 5 0 6 0
1
2
4
8
1 6
3 2
6 4
1 2 8
2 5 6
( b )( a )
SpeedupOverSerial
# o f a t o m i c - u n t i s
S e r i a l B T O M i n e r M V T O M i n e r B T O D e c e n t r a l i z e d V a l i d a t o r
M V T O D e c e n t r a l i z e d V a l i d a t o r B T O F o r k - j o i n V a l i d a t o r M V T O F o r k - j o i n V a l i d a t o r
# o f t h r e a d s
Figure: Ballot Contract
- It achieve 3.1x and 2.8x average speedups for concurrent miner using BTO and MVTO
STM protocol respectively. Along with BTO and MVTO validator outperform average
55.9x and 62.9x than serial validator respectively.
69 of 72
118. Mixed Contracts
5 0 1 0 0 1 5 0 2 0 0 2 5 0 3 0 0 3 5 0 4 0 0
1
2
4
8
1 6
3 2
6 4
1 2 8
1 0 2 0 3 0 4 0 5 0 6 0
1
2
4
8
1 6
3 2
6 4
1 2 8
( b )( a )
SpeedupOverSerial
# o f a t o m i c - u n i t s # o f t h r e a d s
S e r i a l B T O M i n e r M V T O M i n e r B T O D e c e n t r a l i z e d V a l i d a t o r
M V T O D e c e n t r a l i z e d V a l i d a t o r B T O F o r k - J o i n V a l i d a t o r M V T O F o r k - J o i n V a l i d a t o r
Figure: Mixed Contract
- It achieve 3.0x and 3.7x average speedups for concurrent miner using BTO and MVTO
STM protocol respectively. Along with BTO and MVTO validator outperform average
52.3x and 59.1x than serial validator respectively.
70 of 72
120. Conclusion g
• Introduced a novel way to execute the smart contract concurrently
by miner using optimistic STMs.
g
Technical report: https://arxiv.org/abs/1809.01326
71 of 72
121. Conclusion g
• Introduced a novel way to execute the smart contract concurrently
by miner using optimistic STMs.
• Implemented the concurrent miner with the help of BTO and
MVTO but its generic to any STM protocol.
g
Technical report: https://arxiv.org/abs/1809.01326
71 of 72
122. Conclusion g
• Introduced a novel way to execute the smart contract concurrently
by miner using optimistic STMs.
• Implemented the concurrent miner with the help of BTO and
MVTO but its generic to any STM protocol.
• We proposed a lock-free graph library to generate the block graph.
g
Technical report: https://arxiv.org/abs/1809.01326
71 of 72
123. Conclusion g
• Introduced a novel way to execute the smart contract concurrently
by miner using optimistic STMs.
• Implemented the concurrent miner with the help of BTO and
MVTO but its generic to any STM protocol.
• We proposed a lock-free graph library to generate the block graph.
• We proposed concurrent validator that re-executes the smart
contract transactions deterministically and efficiently with the help
of block graph given by concurrent miner.
g
Technical report: https://arxiv.org/abs/1809.01326
71 of 72
124. Conclusion g
• Introduced a novel way to execute the smart contract concurrently
by miner using optimistic STMs.
• Implemented the concurrent miner with the help of BTO and
MVTO but its generic to any STM protocol.
• We proposed a lock-free graph library to generate the block graph.
• We proposed concurrent validator that re-executes the smart
contract transactions deterministically and efficiently with the help
of block graph given by concurrent miner.
• Proposed protocol shows significant performance gain as compare
to serial miner and validator.
g
Technical report: https://arxiv.org/abs/1809.01326
71 of 72
126. Future Work
• Concurrent Execution of Smart Contracts using object semantics.
• Exploring and Utilizing the Multi-Version in Hyperledger.
72 of 72
127. Future Work
• Concurrent Execution of Smart Contracts using object semantics.
• Exploring and Utilizing the Multi-Version in Hyperledger.
• This idea can be applied to other blockchains such as Hyperledger,
Ripple, Quorum etc as well.
72 of 72