Jason Simeon Genge - An introduction to Ethereum, the peer to peer computing framework based on the blockchain design. It describes how Ethereum relat...
Java is an object-oriented language that enables you to create real world applications. The course provides an introduction to object-oriented concepts and its implementation in Java technology programs.
.NET Framework - In today's world of enterprise application development either desktop or Web, one of leaders and visionary is Microsoft .NET technology. The .NET platform also known as the .NET
Big data means truly major information; it is a gathering of extensive datasets that can't be prepared utilizing customary registering procedures. Huge information is not just information; rather it has turned into a total subject, which includes dif
An interesting beginner's guide to the basics of social media and what are it's various components produced by the digital marketing company iCrossing.
Full description
dgFull description
DWDM
What is Bart DoingDescripción completa
Full description
What Is Literature’s Now
What is Yuen Method
Introduction and Components of ERP (enterprise resource planning) software.
What is Concept Mapping
Jason Simeon Genge
Jason Simeon Genge https://www.slideshare.net/jasonsimeongenge1 2017
The Blockchain ■
■
■
In 2008, Bitcoin was launched as a peer-to-peer database that relied on a new data structure referred to as the‘blockchain’. The blockchain consists of blocks, whereeach block holds a set of transactions and a reference to the previous block. This helped create a chain of all transactions that ever occurred.
-
-
-
This data structure is replicated across all participating nodes so that every participant is aware of the transactions without having toget them from a centralauthority.
Jason Simeon Genge
ethereum
Distributed Consensus
-
-
■
In order to control how new blocks (with new transactions) are added to the chain, the design relies on a consensus mechanism which requires anyone (a node in the peer to peer network) who would like to nominate a new block (with new transactions it has gathered from its peers) to solve a puzzle that requires significant computations (computer processing power). The difficulty of thispuzzle is dynamically adjusted such that it takes on average 10 minutes for any one node to solve the puzzle. A process known as mining.
-
■
Whenever a node solves the puzzle and create the new block (which includes new transactions that it has gathered from other peers around it), the node is rewarded with an amount of new Bitcoins which it can use to pay for the cost of solving the puzzle (computer equipment and electricity).
Jason Simeon Genge
ethereum ethereum
Decentralization
■
■
■
Given the architecture of the blockchain, the database continues to grow so long asnodes keep trying to nominate and verify newblocks regardless of nodes joining or leaving the network
The factthat the entire database exists without depending on a single node, makes it very powerful and almost impossible to alter or destroy (the decentralized feature of the blockchain)
-
-
-
The integrity/validity of transactions in the block chain is ensured through the use of cryptographic techniques that make itefficient to verify if any invalid transactions have been added
Jason Simeon Genge
ethereum ethereum
Beyond Bitcoin ■
■
The architecture of the blockchain is very powerful as it enables decentralization while maintaining security. This has significant implications on the design of computer systems asit allows computer applications to be scalable and reduce the requirement for a large central infrastructure
While the first successful use of the blockchain database architecture was demonstrated on the Bitcoin network, many started exploring how they can utilize this design for othertransactions beyond value transfer transactions which Bitcoin mainly handles
Jason Simeon Genge
-
-
-
ethereum ethereum
Towards a Peer to Peer Computing Framework
-
■
The Ethereum project set out to design the required pieces to evolve the blockchain froma distributed transactional database to be part of a general purpose peer to peer computing framework.
-
■
While, the design of the blockchain solved many issues when it comes to decentralizing and securing transactions. There was noeasy way to specify logic that made use of that database for purposes beyond the transfer of value between accounts. -
■
At the heart of ethereum is a virtual machine capable of executing instructions known as the Ethereum Virtual Machine (EVM), it allows the execution of programmed instructions stored within the blockchain
Jason Simeon Genge
ethereum
The Blockchain of State and Transactions ■
■
■
To introduce the ability to execute programs, the blockchain was modified such that each block not only contains the latesttransactions but also the latest state of member programs (aka., contracts). With every new block the state of contracts in the blockchain is updated per the processed transactions thereby taking the blockchain toa new state.
-
-
-
As amean to ensure that provided instructions do not run forever, a constraint is built into the execution of every contract so that any party invoking a contract in a transaction is required to provide special tokens of monetary value that get consumed depending on the number of instructions and the storage used by the contract.
Jason Simeon Genge
ethereum
Contracts as Accounts
■
■
■
A contract has a permanent address on the blockchain which gets assigned when it is created. This permanent address isused to identify the contract. Every contract contains a balance of the basic monetary unit in the ethereum network referred to as ether.
Address
Balance
If a contract does not include any programmed instructions, it behaves as an account. It has an address and a balance. This account can receive/send ethers from/to other accounts/contracts.
Jason Simeon Genge
ethereum ethereum
Contracts as Decentralized Executable Programs Address ■
■
■
Ether is required to call a contract, this is done to ensure that infinite execution does notoccur as the execution stops the moment the ether amount sent along with the call isconsumed When a contract is called, a small amount of ether is required to be sent along with the call. This amount is eventually transferred to the node that gets to nominate the next block inthe block chain. However, when a contract is called, an amount of ether can be directly transferred to that contract there by instituting a balance transfer like in the case of apayment When referring to the calling of acontract, it is in reference to invoking one of the methods in the programmed instructions which can be used to execute a certainaction
Balance
Fields -
Methods Events -
ethereum ethereum
Contracts as Decentralized Executable Programs
■
■
■
The execution of amethod can modify the state of the contract by manipulating one or more of its fields A contract can also have set of events which are used to notify interested parties of the occurrence of certain events during thelifetime of the contract A contract lives forever on the blockchain once it is created unless, the original instructions made use of the suicide feature, afeature which destroys a contract and transfers its ether balance to anotheraccount
Jason Simeon Genge
Address
Balance
Fields -
Methods Events -
ethereum ethereum
Messaging and File Sharing...
■
■
■
In addition to the use ofthe ethereum virtual machine to execute contract logic. The ethereum project also introduced two additional protocols to provide peer to peer support for exchanging message as well exchanging static files
ethereum
The peer to peer protocol used forexchanging message is named whisper and it provides a powerful distributed and private messaging capabilities with support for single cast, multicast and broadcast messages The peer to peer protocol used forexchanging static files is named swarm and it provides a new incentivized approach to distribute static content among peers and exchange them efficiently
Jason Simeon Genge
swarm
whisper
ethereum ethereum
Decentralized Messaging
■
■
■
■
■
■
Whisper provides a peer to peer protocolfor exchanging short timed messages privately
Whisper relies on a subject key (Topic) approach to deliver messages wheremessages are published using a hashedtopic Messages can be encrypted with a specific key for privacy Indirectly supports broadcast, multicast and unicast
whisper
Whisper is ahigh latency and low bandwidth messaging protocol Provides the ability to use masks/filters to narrow down topics of interest withoutgiving away what topic is beingsought
ethereum ethereum
Incentivized File Transfer ...
■
■
■
Leverages the underlying ethereum infrastructure through the use of a contracts and ethers to encourage cooperationamong nodes Filesare split into chunks which are stored in nodes in the network An accounting protocol is used by peers tokeep track of chunks delivered and received and resulting micro-payments owed
Jason Simeon Genge
swarm
ethereum ethereum
DEMO ■
■
Jason Simeon Genge
Assume we would like to create a smart door which opens up if given the rightkey. Adding anew user required two or more users to authenticate the transaction.