Home Blog Page 65

What are Ethereum Nodes And Sharding?

0
What are Ethereum Nodes And Sharding?

Share and get +16 +16 In this guide, you will learn What are ethereum Nodes And Sharding. If you’d like to learn even more, please take a look at our blockchain courses.If you have been active in one form or another in cryptocurrency for the last year then you would know that there has been one issue which has plagued both bitcoin and Ethereum: Scalability.Bitcoin has somewhat addressed this issue by activating Segwit and by hard forking into Bitcoin Cash. Ethereum, however, is trying to solve this issue in a different way. One of the many protocols that they are looking to activate, as they go into the next phase of their growth, is “sharding”. Before we understand what that means, we need to have a thorough understanding of networks and nodes. ethereum Nodes And Sharding?” width=”1200″ height=”628″ />What are Ethereum Nodes And Sharding? What are nodes, networks, and parameters?Let’s understand what the concept means by using simple day-to-day activities.(Before we begin, credit to 3dBuzz for the wonderful explanation.) Think of a box:This box takes in inputs, performs some sort of operations on them, and then gives an output. This box is a “node”. Keep in mind, nodes are not exactly “boxes”, we are just using a hypothetical case here.A network is a collection of these nodes which are interlinked to one another.Parameters are the rules that the nodes are bound by.That, in essence, is what nodes and networks are. Now let’s check out some simple day-to-day activities explained via nodes and networks.Let’s see how a simple paper shredder works.So, what happened here?You are using three nodes: The paper the shredder and the….well…” shredded stuff”. These three nodes make up the “Shredding network”. Let’s have some more fun with this. Till now, we have assumed that nodes take in only one input. What if they take more than that?Let’s take the example of a toaster. A toaster takes in two inputs:So this is what it will look like:Remember one thing, a toaster can’t work if even one of its inputs is missing.Now, it’s time to take it up another notch.Let’s think of a complex network, which uses parameters. Think of your television set. Your television set is connected to your service provider. Suppose you own a PS4, and because you suck at making decisions, you own an Xbox as well.So, if we were to map out the whole “TV network”, this is what it would look like:Uh, oh.. we have a problem here.You can only access one of those nodes via your TV. You can’t really watch Game of Thrones and play Uncharted at the same time now, can you? So, how are you going to make sure that your TV can access only one node at a time? This is where you introduce the parameters. The parameters are what make your nodes unique. Suppose, you want to add a parameter to the television called “Channel Switcher”. And this is what the channel switcher works like:If you press “0” then it will show normal TV aka service provider.If you press “1” then you will be able to access PS4.If you press “2” then you will be able to access Xbox.Just by the addition of these parameters you made your node i.e. the television unique. So, let’s explore what other parameters we can give our television to make it more unique:Size: Say, our television is a 55-inch screen.Colour: Our TV is silvery grey in colour.Brand: We have a Sony TV.Type: We have a plasma screen.Ok, so now thanks to our parameters, we have a television which is more well defined. Now we know that we have a 55 inch, silvery grey, plasma screen Sony TV.So, from everything that we have learned so far, let’s try to define what nodes, network and parameters mean.Nodes: Individual components which take in input and performs a function on them and gives out an output.Network: Collection of nodes which are interconnected to one another.Parameters: Rules that define a node and make it more uniqueNodes and Network in the context of telecommunicationsOur entire telecommunications system works on the basis of networks and nodes. Your internet, calls, SMSs, every single one of those work because of carefully laid out networks and nodes. So, how do you define a telecom network? According to Encyclopedia Britannica,“Telecom network is an electronic system of links and switches, and the controls that govern their operation, that allows for data transfer and exchange among multiple users.”Why do we need a telecommunications network?While it is possible to make one-to-one connections between individual people, it will be extremely expensive and cumbersome. Plus, it will be an extremely ineffective process because most of the communication lines will be idle and under/not utilized.To make this process more efficient, we use a telecommunications network. So, what is the definition of a node in this context?In this context, the node is either a redistribution point or a communications end-point.So, let’s see an example of how this works. Consider a simple GSM network. Suppose, Alice wants to send an SMS to Bob, how will the entire system work? (Shoutout to Roviell YouTube channel for the explanation).Step 1: Alice writes the message and presses send. The message goes to the Base Station aka BST. The BST connects you to the network. There are tons of BSTs around. Think of them as waiters in a restaurant. You simply raise your hand (send an SMS) and you get their attention.Step 2: The Base Station Controller aka BSC makes sure that the BSTs are all in order and that everything is in working condition. Using our restaurant analogy, the BSC is the “maître d’hôtel” or the head waiter who makes sure that each table is been attended to by waiters. (Remember Jean Phillippe from Hell’s Kitchen? Yeah, that guy.)Step 3: From the BSC the message now goes to the Mobile Switching Center aka MSC. It makes sure that the data moves seamlessly from the stations to the networks and vice-versa. In our restaurant analogy, the MSC are the head chefs, who take the orders and relay them to the chefs AND also put the finishing touches on the dishes before sending them out.Step 4: Now the message gets sent to the Short Message Service Center aka SMSC. These are the chefs in the analogy. Over here, the message is saved until they get more information about the recipient. The SMSC gets help from sources like the Home Location Register (HLR) and the Visitor Location Register (VLR), these 2 are databases which contain all the information about the network. They basically help track down the sender AND the recipient to see if the message can be sent. They check whether the recipient’s phone is switched off, or if it is out of coverage area etc. If for some reason the message can’t be sent, then it gets stored in the SMSC for a maximum of 6 hours before it gets deleted.Step 5: Now, if the SMS is good to go, the SMSC hands the message over to the recipient’s MSC.Step 6: The SMS goes to the BSC.Step 7: The BSC forwards the message to the BST.Step 8: The BST then finally sends the message to the recipient. So, this is an overview of how the entire SMS system works. The BSC, BST, MSC, SMSC, HLR and VLR are all nodes in the GSM network. This is what the whole thing looks like:What is a Peer-to-Peer Network? A normal network structure is the “client-server” structure.How does that work?There is a centralized server. And everyone who wants to connect with the server can send a query to get the required information. This is pretty much how the internet works. When you want to Google something, you send a query to the Google server, which comes back with the required results. So, this is a client-server system. Now, what is the problem with this model?Since everything is dependent on the server, it is critical for the server to be functioning at all times for the system to work. It is a bottleneck. Now suppose, for whatever reason the main server stops working, everyone in the network will be affected. Plus, there are also security concerns. Since the network is centralized, the server itself handles a lot of sensitive information regarding the c
lients. This means that anyone can hack the server and get those pieces of information. Plus, there is also the issue of censorship. What if the server decides that a particular item (movie, song, book etc.) is not agreeable and decides not to propagate it in their network?So, to counter all these issues, a different kind of network architecture came about. It is a network which partitions its entire workload between participants, who are all equally privileged, called “peers”. There is no longer one central server, now there are several distributed and decentralized peers. This is a peer-to-peer network.Image Courtesy: InfoZones Why do people use the peer-to-peer network?One of the main uses of the peer-to-peer network is file sharing, also called torrenting. If you are to use a client-server model for downloading, then it is usually extremely slow and entirely dependent on the health of the server. Plus, like we said, it is prone to censorship.However, in a peer-to-peer system, there is no central authority, and hence if even one of the peers in the network goes out of the race, you still have more peers to download from. Plus, it is not subject to the idealistic standards of a central system, hence it is not prone to censorshipIf we were to compare the two:Image courtesy: Quora The decentralized nature of a peer-to-peer system becomes critical as we move on to the next section.  How critical? Well, the simple (at least on paper) idea of combining this peer-to-peer network with a payment system has completely revolutionized the finance industry by giving birth to cryptocurrency.The use of networks and nodes in cryptocurrencies.Let’s take a look at Ethereum’s network structure.Ethereum is structured as a peer-to-peer network, such that the participants aka the peers aka the nodes are not given any extra special privileges. The idea is to create an egalitarian network. The nodes are not given any special privileges, however, their functions and degree of participation may differ. There is no centralized server/entity, nor is there any hierarchy. It is a flat topology.All decentralized cryptocurrencies are structured like that is because of a simple reason, to stay true to their philosophy. The idea is to have a currency system, where everyone is treated as an equal and there is no governing body, which can determine the value of the currency based on a whim. This is true for both bitcoin and ethereum.Now, if there is no central system, how would everyone in the system get to know that a certain transaction has happened? The network follows the gossip protocol. Think of how gossip spreads. Suppose Alice sent 3 ETH to Bob. The nodes nearest to her will get to know of this, and then they will tell the nodes closest to them, and then they will tell their neighbors, and this will keep on spreading out until everyone knows. Nodes are basically your nosy, annoying relatives.So, what is a node in the context of ethereum? A node is simply a computer that participates in the ethereum network. This participation can be in three waysBy keeping a shallow-copy of the blockchain aka a Light ClientBy keeping a full-copy of the blockchain aka a Full NodeBy verifying the transactions aka MiningWhat is a Light Client?As we have mentioned before, the idea of a peer-to-peer system is to distribute network responsibilities among nodes called “peers”. No preference is given to any one of them. However, what about people who want to take part in the network but don’t have the system resources to download and maintain the full blockchain in their system? They can choose to become “Light clients”. By being a Light Client, they get high-security assurances about certain states of ethereum and also the power to verify the execution of a transaction.What is a Full Node?Any computer, connected to the ethereum network, which fully enforces all the consensus rules of ethereum is called a Full Node. A full node downloads the entire blockchain in the user’s desktop. Full nodes form the backbone of the ethereum system and keep the entire network honest. Some of the consensus rules that full nodes enforce are:Making sure that the correct block reward is given out for each block mined (5 ETH)Transactions have the correct signaturesTransactions and blocks are in the correct data formatNo double spending is occurring in any of the blocksThe full nodes basically validate the nodes and transactions and relay the information to the other nodes (using the gossip protocol).Miners vs NodesTo keep it simple, all miners are full nodes, but not all full nodes are miners. Miners need to be running full nodes to access the blockchain. Anyone who runs a full node need not mine for blocks.What is the scalability problem that ethereum is facing?How does consensus happen in the Ethereum network? Each and every node in the network does every calculation, and when they all come to a consensus, the transaction is deemed good. Now, this might have worked properly, in the beginning, however, ethereum has grown very popular and the number of transactions has been steadily increasing. Check out this graph by Etherscan:Image Courtesy: EtherscanNow, even though this is a good thing, the number of calculations that the networks have to go through before they can come to a consensus has increased exponentially as a result. Along with that, there is another problem that has come up. ethereum has seen widespread adoption because of the backing by certain corporate heavyweights and the popularity of its ICOs. As a result of this, the number of nodes on the ethereum network has increased exponentially. In fact, it is the cryptocurrency with the most nodes and hence most decentralized.In fact, as of May 2017, ethereum had 25,000 nodes as compared to Bitcoin’s 7000!! That’s more than 3 times. In fact, the number of nodes from April to May increase by 81%…that’s nearly double!Image Courtesy: Trust Nodes.Now, you may be thinking that having more nodes in the network will help speed up the transaction time. Well… think again.Consensus happens in a linear manner. Meaning, suppose there are 3 nodes A, B and C.For consensus to occur, first A would do the calculations and verify and then B will do the same and then C.However, if there is a new node in the system called “D”, that would add one more node to the consensus system, which will increase the overall time period. As ethereum has become more popular, the transaction times have gotten slower.In fact, in a speed test, it was seen that ethereum managed a paltry 20 transactions per second as compared to PayPal’s 193 and Visa’s 1667!!Now remember one thing, ethereum doesn’t envision themselves to be just mere currency, their ultimate vision is to be something like the new internet. They want people to create DApps on the scale of Facebook and Youtube to run on top of their blockchain. In order for something like this to happen, they will need to do something about their scalability issues.In order to address that, three proposals were raised:Increase the block sizeMake users use different alt coinsShardingIncrease the block sizeSo, one solution is to increase the block size. While this would definitely improve the performance by increasing the number of transactions going into one block, there are several problems that can happen as a result:Firstly, this will still not solve the problem of nodes coming to a consensus at a slower pace. In fact, as the number of transactions per block increases, the number of calculations and verifications per node will increase as well.In order to accommodate for more and more transactions, the block sizes need to be increased periodically. This will centralize the system more because normal computers and users won’t be able to download and preserve such bulky blockchains. This goes against the egalitarian spirit of a blockchain.Finally, block size increase will happen only via hardfork, which can split the community. The last time a major hardfork happened in ethereum the entire community was divided and two separate currencies came about. People don’t really want this to happen
again.Make users use different altcoins.Another proposal was to run parallel blockchains instead of one main blockchain.  Basically, instead of making 50 DApps run on one main blockchain, have 2 blockchains and run 25 DApps each. There were two problems with this proposal:It is not wise to split up the hashrate of a chain. The hashrate of the chain after all determines how secure it is from external hackers and fast the system is.It will be easier for malicious miners to get 51% majority on the smaller chains.ShardingFinally, sharding was decided as the way to go for ethereum. Before we do a deep dive into sharding let’s gain a simple understanding as to what it means. Suppose there are three nodes A, B and C and they have to verify data T. Instead of A, B and C verifying the entire data T individually, the data will be broken into 3 shards: T1, T2 and T3. After that A, B and C will verify one shard each side-by-side. As you can see the amount of time you are saving is exponential.Anyway, let’s do a deep dive!What is sharding?Sharding is a term that has been taken from database systems. Let’s see what sharding means with respect to the database. Suppose you have a huge bulky database for your website. Having a bulky database not only makes searching for data slower, but it also hinders your scalability. So, what do you do in this case?What if you do a horizontal partition on your data and turn them into smaller tables and store them on different database servers?Image courtesy: DzoneLike so?Now, you might be asking, why a horizontal partition and not a vertical partition? That is because of the way tables are designed: You see? It is the same table/database but with lesser data. These smaller databases are known as shards of the larger database. Each shard should be identical with the same table structure.Sharding in the context of blockchainNow, as we have seen, the problem with Ethereum consensus is that all the nodes need to do all the calculations and verifications for each and every transaction. This makes the whole process very slow and cumbersome. So, how is sharding going to help this?Consider the state of the ethereum blockchain which we shall call “Global State”, which is visible to everyone. Let’s consider the Merkle Root of this global state. (For Merkle trees and roots read our article on HASHING). This state root is going to be broken up into shard roots and each of these shared roots is going to have their own state. These states are going to be represented in the form of a Merkle tree.This is a very simple structure of what that is supposed to look like.Now, let’s get into the internal mechanics.So what happens what after sharding is activated?The state is split into shardsEach unique account is in one shardAccounts can only transact with other accounts in the same shardIn Devcon, Vitalik Buterin explained shards like this:Imagine that ethereum has been split into thousands of islands. Each island can do its own thing. Each of the island has its own unique features and everyone belonging on that island i.e. the accounts, can interact with each other AND they can freely indulge in all its features. If they want to contact with other islands, they will have to use some sort of protocol.So, the question is, how is that going to change the blockchain?What does a normal block in bitcoin or ethereum (pre-sharding) look like?So, there is a block header and the body which contains all the transactions in the block. The Merkle root of all the transactions will be in the block header.Now, think about this. Did bitcoin really need blocks? Did it really need a blockchain? Satoshi could have simply made a chain of transactions by including the hash of the previous transaction in the newer transaction, making a “transaction chain” so to speak.The reason why they arrange these transactions in a block is to create one level of interaction and make the whole process more scalable. What ethereum suggests is that they change this into two levels of interaction.The First LevelThe first level is the transaction group. Each shard has its own group of a transaction.Image courtesy: Hackernoon The transaction group is divided into the transaction group header and the transaction group body.Transaction Group HeaderThe header is divided into distinct left and right parts.The Left Part: Shard ID: The ID of the shard that the transaction group belongs to.Pre-state root: This the state of the root of shard 43 before the transactions were applied.Post state root: This is the state of the root of shard 43 after the transactions are applied.Receipt root: The receipt root after all the transactions in shard 43 are applied. The Right Part: The right part is full of random validators who need to verify the transactions in the shard itself. They are all randomly chosen.Transaction Group BodyIt has all the transaction IDs in the shard itself.Properties of Level One Every transaction specifies the ID of the shard it belongs to.A transaction belonging to a particular shard shows that it has occurred between two accounts which are native to that particular shard.Transaction group has transactions which belong to only that shard ID and are unique to it.Specifies the pre and post state root. Now, let’s look at the top level aka the second level.The Second LevelImage courtesy: Hackernoon. Don’t be scared! It is easier to understand than it looks.There is the normal blockchain, but now it contains two primary roots:The state rootThe transaction group rootThe state root represents the entire state, and as we have seen before, the state is broken down into shards, which contain their own substates.The transaction group root contains all the transaction groups inside that particular block. Properties Of Level Two Level two is like a simple blockchain, which accepts transaction groups rather than transactions.Transaction group is valid only if:a) Pre-state root matches the shard root in the global state.b) The signatures in the transaction group are all validated.If the transaction group gets in, then the global state root becomes the post-state root of that particular shard ID.So how does cross-shard communication happen? Now, remember our island analogy?The shards are basically like islands. So how do these islands communicate with each other? Remember, the purpose of shards is to make lots of parallel transactions happen at the same time to increase performance. If ethereum allows random cross-shard communication, then that defeats the entire purpose of sharding.So what protocol needs to be followed for cross-shard communication? ethereum chose to follow the receipt paradigm for cross-shard communications.  Check this out:Image courtesy: hackernoon As you can see here, each individual receipt of any transaction can be easily accessed via multiple Merkle trees from the transaction group Merkle root. Every transaction in a shard will do two things:Change the state of the shard it belongs toGenerate a receiptHere is another interesting piece of information. The receipts are stored in a distributed shared memory, which can be seen by other shards but not modified. Hence, the cross-shard communication can happen via the receipts like this:Image courtesy: HackernoonWhat are the challenges of implementing sharding?There needs to be a mechanism to know which node implements which shard. This needs to be done in a secure and efficient way to ensure parallelization and security.Proof of stake needs to be implemented first to make sharding easier according to Vlad Zamfir.The nodes work on a trustless system, meaning node A doesn’t trust node B and they should both come to a consensus regardless of that trust. So, if one particular transaction is broken up into shards and distributed to node A and node B, node A will have to come up with some sort of proof mechanism that they have finished work on their part of the shard.What are Ethereum Nodes And Sharding: ConclusionAs Ethereum expands and ushers in Metropolis and Serenity, sharding becomes more and more critical to their growth. If ethereum does plan on becoming the new internet, they
need to fix their scalability issues. They absolutely need to implement and nail sharding to ensure their growth. Exciting times lie ahead for ethereum!AMAZONPOLLY-ONLYAUDIO-START-In this guide, you will learn what are ethereum Nodes And Sharding. If you’d like to learn even more, please take a look at our blockchain courses. If you have been active in one form or another in cryptocurrency for the last year then you would know that there has been one issue which has plagued both bitcoin and ethereum: Scalability. Bitcoin has somewhat addressed this issue by activating Segwit and by hard forking into Bitcoin Cash. Ethereum, however, is trying to solve this issue in a different way. One of the many protocols that they are looking to activate, as they go into the next phase of their growth, is “sharding”. Before we understand what that means, we need to have a thorough understanding of networks and nodes. What are Ethereum Nodes And Sharding? What are nodes, networks, and parameters? Let’s understand what the concept means by using simple day-to-day activities. (Before we begin, credit to 3dBuzz for the wonderful explanation.) Think of a box: This box takes in inputs, performs some sort of operations on them, and then gives an output. This box is a “node”. Keep in mind, nodes are not exactly “boxes”, we are just using a hypothetical case here. A network is a collection of these nodes which are interlinked to one another. Parameters are the rules that the nodes are bound by. That, in essence, is what nodes and networks are. Now let’s check out some simple day-to-day activities explained via nodes and networks. Let’s see how a simple paper shredder works. So, what happened here? You are using three nodes: The paper the shredder and the….well…” shredded stuff”. These three nodes make up the “Shredding network”. Let’s have some more fun with this. Till now, we have assumed that nodes take in only one input. What if they take more than that? Let’s take the example of a toaster. A toaster takes in two inputs: Electricity Bread So this is what it will look like: Remember one thing, a toaster can’t work if even one of its inputs is missing. Now, it’s time to take it up another notch. Let’s think of a complex network, which uses parameters. Think of your television set. Your television set is connected to your service provider. Suppose you own a PS4, and because you suck at making decisions, you own an Xbox as well. So, if we were to map out the whole “TV network”, this is what it would look like: Uh, oh.. we have a problem here. You can only access one of those nodes via your TV. You can’t really watch Game of Thrones and play Uncharted at the same time now, can you? So, how are you going to make sure that your TV can access only one node at a time? This is where you introduce the parameters. The parameters are what make your nodes unique. Suppose, you want to add a parameter to the television called “Channel Switcher”. And this is what the channel switcher works like: If you press “0” then it will show normal TV aka service provider. If you press “1” then you will be able to access PS4. If you press “2” then you will be able to access Xbox. Just by the addition of these parameters you made your node i.e. the television unique. So, let’s explore what other parameters we can give our television to make it more unique: Size: Say, our television is a 55-inch screen. Colour: Our TV is silvery grey in colour. Brand: We have a Sony TV. Type: We have a plasma screen. Ok, so now thanks to our parameters, we have a television which is more well defined. Now we know that we have a 55 inch, silvery grey, plasma screen Sony TV. So, from everything that we have learned so far, let’s try to define what nodes, network and parameters mean. Nodes: Individual components which take in input and performs a function on them and gives out an output. Network: Collection of nodes which are interconnected to one another. Parameters: Rules that define a node and make it more unique Nodes and Network in the context of telecommunications Our entire telecommunications system works on the basis of networks and nodes. Your internet, calls, SMSs, every single one of those work because of carefully laid out networks and nodes. So, how do you define a telecom network? According to Encyclopedia Britannica, “Telecom network is an electronic system of links and switches, and the controls that govern their operation, that allows for data transfer and exchange among multiple users.” Why do we need a telecommunications network? While it is possible to make one-to-one connections between individual people, it will be extremely expensive and cumbersome. Plus, it will be an extremely ineffective process because most of the communication lines will be idle and under/not utilized. To make this process more efficient, we use a telecommunications network. So, what is the definition of a node in this context? In this context, the node is either a redistribution point or a communications end-point. So, let’s see an example of how this works. Consider a simple GSM network. Suppose, Alice wants to send an SMS to Bob, how will the entire system work? (Shoutout to Roviell YouTube channel for the explanation). Step 1: Alice writes the message and presses send. The message goes to the Base Station aka BST. The BST connects you to the network. There are tons of BSTs around. Think of them as waiters in a restaurant. You simply raise your hand (send an SMS) and you get their attention. Step 2: The Base Station Controller aka BSC makes sure that the BSTs are all in order and that everything is in working condition. Using our restaurant analogy, the BSC is the “maître d’hôtel” or the head waiter who makes sure that each table is been attended to by waiters. (Remember Jean Phillippe from Hell’s Kitchen? Yeah, that guy.) Step 3: From the BSC the message now goes to the Mobile Switching Center aka MSC. It makes sure that the data moves seamlessly from the stations to the networks and vice-versa. In our restaurant analogy, the MSC are the head chefs, who take the orders and relay them to the chefs AND also put the finishing touches on the dishes before sending them out. Step 4: Now the message gets sent to the Short Message Service Center aka SMSC. These are the chefs in the analogy. Over here, the message is saved until they get more information about the recipient. The SMSC gets help from sources like the Home Location Register (HLR) and the Visitor Location Register (VLR), these 2 are databases which contain all the information about the network. They basically help track down the sender AND the recipient to see if the message can be sent. They check whether the recipient’s phone is switched off, or if it is out of coverage area etc. If for some reason the message can’t be sent, then it gets stored in the SMSC for a maximum of 6 hours before it gets deleted. Step 5: Now, if the SMS is good to go, the SMSC hands the message over to the recipient’s MSC. Step 6: The SMS goes to the BSC. Step 7: The BSC forwards the message to the BST. Step 8: The BST then finally sends the message to the recipient. So, this is an overview of how the entire SMS system works. The BSC, BST, MSC, SMSC, HLR and VLR are all nodes in the GSM network. This is what the whole thing looks like: What is a Peer-to-Peer Network? A normal network structure is the “client-server” structure. How does that work? There is a centralized server. And everyone who wants to connect with the server can send a query to get the required information. This is pretty much how the internet works. When you want to Google something, you send a query to the Google server, which comes back with the required results. So, this is a client-server system. Now, what is the problem with this model? Since everything is dependent on the server, it is critical for the server to be functioning at all times for the system to work. It is a bottleneck. Now suppose, for whatever reason the main server stops working, everyone in the network will be affected. Plus, there are also sec
urity concerns. Since the network is centralized, the server itself handles a lot of sensitive information regarding the clients. This means that anyone can hack the server and get those pieces of information. Plus, there is also the issue of censorship. What if the server decides that a particular item (movie, song, book etc.) is not agreeable and decides not to propagate it in their network? So, to counter all these issues, a different kind of network architecture came about. It is a network which partitions its entire workload between participants, who are all equally privileged, called “peers”. There is no longer one central server, now there are several distributed and decentralized peers. This is a peer-to-peer network. Image Courtesy: InfoZones Why do people use the peer-to-peer network? One of the main uses of the peer-to-peer network is file sharing, also called torrenting. If you are to use a client-server model for downloading, then it is usually extremely slow and entirely dependent on the health of the server. Plus, like we said, it is prone to censorship. However, in a peer-to-peer system, there is no central authority, and hence if even one of the peers in the network goes out of the race, you still have more peers to download from. Plus, it is not subject to the idealistic standards of a central system, hence it is not prone to censorship. If we were to compare the two: Image courtesy: Quora The decentralized nature of a peer-to-peer system becomes critical as we move on to the next section. How critical? Well, the simple (at least on paper) idea of combining this peer-to-peer network with a payment system has completely revolutionized the finance industry by giving birth to cryptocurrency. The use of networks and nodes in cryptocurrencies. Let’s take a look at Ethereum’s network structure. ethereum is structured as a peer-to-peer network, such that the participants aka the peers aka the nodes are not given any extra special privileges. The idea is to create an egalitarian network. The nodes are not given any special privileges, however, their functions and degree of participation may differ. There is no centralized server/entity, nor is there any hierarchy. It is a flat topology. All decentralized cryptocurrencies are structured like that is because of a simple reason, to stay true to their philosophy. The idea is to have a currency system, where everyone is treated as an equal and there is no governing body, which can determine the value of the currency based on a whim. This is true for both bitcoin and ethereum. Now, if there is no central system, how would everyone in the system get to know that a certain transaction has happened? The network follows the gossip protocol. Think of how gossip spreads. Suppose Alice sent 3 ETH to Bob. The nodes nearest to her will get to know of this, and then they will tell the nodes closest to them, and then they will tell their neighbors, and this will keep on spreading out until everyone knows. Nodes are basically your nosy, annoying relatives. So, what is a node in the context of ethereum? A node is simply a computer that participates in the ethereum network. This participation can be in three ways By keeping a shallow-copy of the blockchain aka a Light Client By keeping a full-copy of the blockchain aka a Full Node By verifying the transactions aka Mining What is a Light Client? As we have mentioned before, the idea of a peer-to-peer system is to distribute network responsibilities among nodes called “peers”. No preference is given to any one of them. However, what about people who want to take part in the network but don’t have the system resources to download and maintain the full blockchain in their system? They can choose to become “Light clients”. By being a Light Client, they get high-security assurances about certain states of ethereum and also the power to verify the execution of a transaction. What is a Full Node? Any computer, connected to the ethereum network, which fully enforces all the consensus rules of ethereum is called a Full Node. A full node downloads the entire blockchain in the user’s desktop. Full nodes form the backbone of the ethereum system and keep the entire network honest. Some of the consensus rules that full nodes enforce are: Making sure that the correct block reward is given out for each block mined (5 ETH) Transactions have the correct signatures Transactions and blocks are in the correct data format No double spending is occurring in any of the blocks The full nodes basically validate the nodes and transactions and relay the information to the other nodes (using the gossip protocol). Miners vs Nodes To keep it simple, all miners are full nodes, but not all full nodes are miners. Miners need to be running full nodes to access the blockchain. Anyone who runs a full node need not mine for blocks. What is the scalability problem that Ethereum is facing? How does consensus happen in the ethereum network? Each and every node in the network does every calculation, and when they all come to a consensus, the transaction is deemed good. Now, this might have worked properly, in the beginning, however, ethereum has grown very popular and the number of transactions has been steadily increasing. Check out this graph by Etherscan: Image Courtesy: Etherscan Now, even though this is a good thing, the number of calculations that the networks have to go through before they can come to a consensus has increased exponentially as a result. Along with that, there is another problem that has come up. ethereum has seen widespread adoption because of the backing by certain corporate heavyweights and the popularity of its ICOs. As a result of this, the number of nodes on the ethereum network has increased exponentially. In fact, it is the cryptocurrency with the most nodes and hence most decentralized. In fact, as of May 2017, ethereum had 25,000 nodes as compared to Bitcoin’s 7000!! That’s more than 3 times. In fact, the number of nodes from April to May increase by 81%…that’s nearly double! Image Courtesy: Trust Nodes. Now, you may be thinking that having more nodes in the network will help speed up the transaction time. Well… think again. Consensus happens in a linear manner. Meaning, suppose there are 3 nodes A, B and C. For consensus to occur, first A would do the calculations and verify and then B will do the same and then C. However, if there is a new node in the system called “D”, that would add one more node to the consensus system, which will increase the overall time period. As ethereum has become more popular, the transaction times have gotten slower. In fact, in a speed test, it was seen that ethereum managed a paltry 20 transactions per second as compared to PayPal’s 193 and Visa’s 1667!! Now remember one thing, ethereum doesn’t envision themselves to be just mere currency, their ultimate vision is to be something like the new internet. They want people to create DApps on the scale of Facebook and Youtube to run on top of their blockchain. In order for something like this to happen, they will need to do something about their scalability issues. In order to address that, three proposals were raised: Increase the block size Make users use different alt coins Sharding Increase the block size So, one solution is to increase the block size. While this would definitely improve the performance by increasing the number of transactions going into one block, there are several problems that can happen as a result: Firstly, this will still not solve the problem of nodes coming to a consensus at a slower pace. In fact, as the number of transactions per block increases, the number of calculations and verifications per node will increase as well. In order to accommodate for more and more transactions, the block sizes need to be increased periodically. This will centralize the system more because normal computers and users won’t be able to download and preserve such bulky blockchains. This goes against the egalitarian spirit of a blockchain. Finally, block size increase will happen only via hardfork, which can split the community. T
he last time a major hardfork happened in ethereum the entire community was divided and two separate currencies came about. People don’t really want this to happen again. Make users use different altcoins. Another proposal was to run parallel blockchains instead of one main blockchain. Basically, instead of making 50 DApps run on one main blockchain, have 2 blockchains and run 25 DApps each. There were two problems with this proposal: It is not wise to split up the hashrate of a chain. The hashrate of the chain after all determines how secure it is from external hackers and fast the system is. It will be easier for malicious miners to get 51% majority on the smaller chains. Sharding Finally, sharding was decided as the way to go for ethereum. Before we do a deep dive into sharding let’s gain a simple understanding as to what it means. Suppose there are three nodes A, B and C and they have to verify data T. Instead of A, B and C verifying the entire data T individually, the data will be broken into 3 shards: T1, T2 and T3. After that A, B and C will verify one shard each side-by-side. As you can see the amount of time you are saving is exponential. Anyway, let’s do a deep dive! What is sharding? Sharding is a term that has been taken from database systems. Let’s see what sharding means with respect to the database. Suppose you have a huge bulky database for your website. Having a bulky database not only makes searching for data slower, but it also hinders your scalability. So, what do you do in this case? What if you do a horizontal partition on your data and turn them into smaller tables and store them on different database servers? Image courtesy: Dzone Like so? Now, you might be asking, why a horizontal partition and not a vertical partition? That is because of the way tables are designed: You see? It is the same table/database but with lesser data. These smaller databases are known as shards of the larger database. Each shard should be identical with the same table structure. Sharding in the context of blockchain Now, as we have seen, the problem with ethereum consensus is that all the nodes need to do all the calculations and verifications for each and every transaction. This makes the whole process very slow and cumbersome. So, how is sharding going to help this? Consider the state of the ethereum blockchain which we shall call “Global State”, which is visible to everyone. Let’s consider the Merkle Root of this global state. (For Merkle trees and roots read our article on HASHING). This state root is going to be broken up into shard roots and each of these shared roots is going to have their own state. These states are going to be represented in the form of a Merkle tree. This is a very simple structure of what that is supposed to look like. Now, let’s get into the internal mechanics. So what happens what after sharding is activated? The state is split into shards Each unique account is in one shard Accounts can only transact with other accounts in the same shard In Devcon, Vitalik Buterin explained shards like this: Imagine that ethereum has been split into thousands of islands. Each island can do its own thing. Each of the island has its own unique features and everyone belonging on that island i.e. the accounts, can interact with each other AND they can freely indulge in all its features. If they want to contact with other islands, they will have to use some sort of protocol. So, the question is, how is that going to change the blockchain? What does a normal block in bitcoin or ethereum (pre-sharding) look like? So, there is a block header and the body which contains all the transactions in the block. The Merkle root of all the transactions will be in the block header. Now, think about this. Did bitcoin really need blocks? Did it really need a blockchain? Satoshi could have simply made a chain of transactions by including the hash of the previous transaction in the newer transaction, making a “transaction chain” so to speak. The reason why they arrange these transactions in a block is to create one level of interaction and make the whole process more scalable. What ethereum suggests is that they change this into two levels of interaction. The First Level The first level is the transaction group. Each shard has its own group of a transaction. Image courtesy: Hackernoon The transaction group is divided into the transaction group header and the transaction group body. Transaction Group Header The header is divided into distinct left and right parts. The Left Part: Shard ID: The ID of the shard that the transaction group belongs to. Pre-state root: This the state of the root of shard 43 before the transactions were applied. Post state root: This is the state of the root of shard 43 after the transactions are applied. Receipt root: The receipt root after all the transactions in shard 43 are applied. The Right Part: The right part is full of random validators who need to verify the transactions in the shard itself. They are all randomly chosen. Transaction Group Body It has all the transaction IDs in the shard itself. Properties of Level One Every transaction specifies the ID of the shard it belongs to. A transaction belonging to a particular shard shows that it has occurred between two accounts which are native to that particular shard. Transaction group has transactions which belong to only that shard ID and are unique to it. Specifies the pre and post state root. Now, let’s look at the top level aka the second level. The Second Level Image courtesy: Hackernoon. Don’t be scared! It is easier to understand than it looks. There is the normal blockchain, but now it contains two primary roots: The state root The transaction group root The state root represents the entire state, and as we have seen before, the state is broken down into shards, which contain their own substates. The transaction group root contains all the transaction groups inside that particular block. Properties Of Level Two Level two is like a simple blockchain, which accepts transaction groups rather than transactions. Transaction group is valid only if:a) Pre-state root matches the shard root in the global state. b) The signatures in the transaction group are all validated. If the transaction group gets in, then the global state root becomes the post-state root of that particular shard ID. So how does cross-shard communication happen? Now, remember our island analogy? The shards are basically like islands. So how do these islands communicate with each other? Remember, the purpose of shards is to make lots of parallel transactions happen at the same time to increase performance. If ethereum allows random cross-shard communication, then that defeats the entire purpose of sharding. So what protocol needs to be followed for cross-shard communication? ethereum chose to follow the receipt paradigm for cross-shard communications. Check this out: Image courtesy: hackernoon As you can see here, each individual receipt of any transaction can be easily accessed via multiple Merkle trees from the transaction group Merkle root. Every transaction in a shard will do two things: Change the state of the shard it belongs to Generate a receipt Here is another interesting piece of information. The receipts are stored in a distributed shared memory, which can be seen by other shards but not modified. Hence, the cross-shard communication can happen via the receipts like this: Image courtesy: Hackernoon What are the challenges of implementing sharding? There needs to be a mechanism to know which node implements which shard. This needs to be done in a secure and efficient way to ensure parallelization and security. Proof of stake needs to be implemented first to make sharding easier according to Vlad Zamfir. The nodes work on a trustless system, meaning node A doesn’t trust node B and they should both come to a consensus regardless of that trust. So, if one particular transaction is broken up into shards and distributed to node A and node B, node A will have to come up with some sort of proof mechanism that they have finished work on their part of the shard. What
are Ethereum Nodes And Sharding: Conclusion As ethereum expands and ushers in Metropolis and Serenity, sharding becomes more and more critical to their growth. If ethereum does plan on becoming the new internet, they need to fix their scalability issues. They absolutely need to implement and nail sharding to ensure their growth. Exciting times lie ahead for ethereum!-AMAZONPOLLY-ONLYAUDIO-END-

IBM Joins Trade Finance Blockchain Platform We.Trade As New Shareholder

0
IBM Joins Trade Finance Blockchain Platform We.Trade As New Shareholder

IBM has announced a new collaboration with blockchain-based trade finance platform, we.trade to enhance network capabilities and accelerate the global growth of the platform. We.trade was designed to connect buyers, sellers, banks, insurers, and other organizations in a network, simplifying cross-border trading. 
 
 
We.trade is backed by a group of banks, including Deutsche Bank, HSBC, Rabobank, Santander, UBS,  Société Générale, and a few others. As one of the largest blockchain-enabled trade networks in the world, the blockchain platform first aimed to help small and medium-sized enterprises (SMEs) in Europe to get better access to trade finance. With the new partnership with IBM, we.trade is looking to scale globally as it is expanding in Asia, Africa, and Latin America. 
 
Built on the latest version of the IBM Blockchain Platform, IBM has been the platform’s technology partner since the beginning. We.trade was also the first enterprise blockchain consortium to go live back in early 2018. 
 
We.trade automates trade finance processes, including providing traders with access to insurance, credit rating, and logistics services. Jason Kelly, General Manager of Blockchain Services at IBM said, “The strategic direction for we.trade and IBM is focused on driving growth and transparency across the entire trade ecosystem, collaborating to enhance the network effect of blockchain, and expanding access to trade finance and other services to the market place.”
 
IBM also takes a 7 percent stake in we.trade, amongst the 12 existing shareholders: CaixaBank, Deutsche Bank, Erste Group, HSBC, KBC, Nordea, Rabobank, Santander, Société Générale, UBS, and UniCredit. 
 
During the last few months, with the emergence of the coronavirus pandemic, we.trade has observed the trend of removing paper-heavy processes in trade finance. With a digitized solution, improving access to trade finance will be essential to post-pandemic economic recovery.
 
“No other distributed ledger-based platform for trade has moved so rapidly to deliver value for member organizations and their customers,” said Ciaran McGowan, CEO of we.trade. “The enthusiasm for this platform underscores the need to continue to invest and expand access to a growing number of organizations.”
 
HSBC became the first bank to finance transaction via we.trade
 
The Global Trade Review reported that HSBC financed a transaction on the we.trade platform within the second round of pilots that started in June of 2019. The transaction took place between HSBC’s client Beeswift, which was a company that produces protective equipment and their sale to a company in the Netherlands banked by Rabobank. 
 

Blockchain And Supply Chain: A Dynamic Duo

0
Blockchain And Supply Chain: A Dynamic Duo

Share and get +16 +16 Blockchain And Supply Chain: A Dynamic Duo. The life cycle of a product is an intriguing one. The next time you’re buying something in the supermarket, think of what all it went through to get in your hands. Think about where all the raw materials came from, who all transported the raw material to production plant where it was created, and how it eventually got packaged and ended up in the very shop where you are buying it right now. Blockchain and supply chainAs you may have guessed, your product goes through a lot of processes and middlemen. This system of organizations, people, activities, information, and resources involved in moving a product or service from supplier to customer is called “supply chain”.If you’re interested in diving deeper into supply chain and other blockchain business use cases check out our Blockchain for Business accelerator.Components of a Hypothetical Supply ChainTo better understand the components of the supply chain, let’s look at a hypothetical example. The supply chain, in its essence, is an end-to-end system that creates products and services and delivers them to the customer. An interesting thing to note here, the supply chain need not be unidirectional, it can move back as well. Eg. if a customer wants to return a product and issue a refund, they can do so. So, our hypothetical supply chain looks like this:The components of this supply chain are:Natural Resources: Will you require a significant amount of natural resources like water for the creation of your product? If that’s the case, then you will need to make sure that someone is taking care of all these natural resources for you.Materials: The production or procurement of materials such as steel or an alloy.Ingredients and components: So, you have your raw materials and natural resources, now someone needs to create the bare necessities of your product. So, if you are building a smartphone, the ingredients and components of your phone will be the battery or the glass cover.Finished Goods: Now you are going to bring all these components together to create your finished products. So, going by our smartphone example, you are going to bring together all the components like battery, case, screen etc. to create your own smartphone.Retail and E-commerce: The product has been made, now it needs to be shipped to shops and listed on e-commerce websites.Customer: Finally, the customer gets their hand on your product either in the shop or online.Returns, Reuse, and Recycling: Now, a good quality supply chain shouldn’t just go one way. You should have the option where, if a customer is not happy with the product, they can give it back and get a refund. When you get the back the product, you can either reuse it or break it down for recycling.There are two more parts of our supply chain above which we have not mentioned yet:Distribution and FulfillmentTransportation and WarehousingThe reason why we haven’t included these above is that both of them occur at multiple levels throughout the supply chain.Distribution and FulfillmentBefore we understand this part, you need to understand the difference between an end customer/user and a customer in the context of the supply chain. The end user is the person for who you have built that product or service. In our example, this is the potential user of your smartphone.However, if you really think about it, throughout our supply chain we have several supplier-customer interactions. For example, the guys in our smartphone supply chain who will be selling their raw materials (suppliers) to the battery makers (customers). This kind of interactions will happen in multiple levels throughout the supply chain.Transportation and WarehousingTransportation and warehousing will help in the process of getting resources, materials, ingredients, parts, components and finished goods to the right place at the right time to keep the supply chain operating efficiently.So, that’s what our dummy supply chain looks like. An actual supply chain can be a lot more complicated than this with multiple levels of interactions. Something is needed to carefully plan out and oversee all the steps. This is where supply chain management comes in.What is Supply Chain Management?Supply chain management includes integrated planning as well as the execution of different processes within the supply chain. These processes include:Material flowInformation flowFinancial capital flowThe management of the flow of goods, services, and information involving the storage and movement of raw materials, building products as well as full-fledged finished goods from one point to another are known as “supply chain management”. So, why do we need supply chain management?If you properly implement supply chain management, then you will:Increase salesDecrease frauds and overhead costsImprove the quality of improvisationLead to accelerating production and distributionReduce the cost and complexity of the manufacturing process, especially when the process itself is extremely complex.Now, all this is well and good, however, as the manufacturing process becomes more complex, the supply chain invariably becomes extremely convoluted and inefficient. In fact, if you really think about it, the supply chain management system, as we know it, is broken.Problem #1: Hard to Track DownRemember the smartphone supply chain example we did earlier? Most of the ingredients and components come from Asian markets like China. As a consumer, you don’t really know the true value of the products that you are using.Plus, the lack of transparency in modern supply chains is another major issue. If you have a defective component in your phone, then it is near impossible to pinpoint exactly where that defective piece came from and who was the person(s) responsible for it.In fact, let’s give you an example of how truly dangerous this lack of transparency can be.On October 6, 2006, multiple states in the US suffered a major E-Coli outbreak. The culprit? Spinach — Around 199 people were affected of whom 22 were children under 5 years old. 31 of the 199 developed a type of kidney failure called hemolytic-uremic syndrome and 3 people died.As a result of this, the entire food industry went into pandemonium. People were desperately trying to trace the source of the infected spinach. Everyone stopped selling spinach immediately from the market. It took the Food and Drug Administration (FDA) a total of 2 weeks to find the source of the contaminated spinach.Image Credit: NBC NewsCan you guess as to what the source was? It was one supplier. One farm. One lot.That one farm locked up an entire industry for 2 weeks. For that period, farmers whose entire livelihood depended on spinach were left broke and penniless. All this would have been avoided if there was a better way to trace and track down the defective spinach lot.Problem #2: CorruptionThe problem with running a complex supply chain is that you will need to trust all the participants to do their job. You need to trust them to deliver quality while following standard safety standards. However, human beings are not really that trustworthy and are prone to corruption. NOTE: Before we go any further, let’s define “procurement” since we will be using it quite a bit. Procurement is the process of getting the goods and/or services your company needs to fulfill its business model.There are several instances of corruption that can seep into your traditional supply chains. Somewhere in your supply chain, someone insists on getting a product from a specific supplier, without looking at any other offers. When confronted, they insist that only that supplier can meet certain specifications, which may or may not be true.Suppose a company wants to extend its product line. The components that will be needed can be procured from a specific supplier however, the supplier himself is a shady character.Certain suppliers in your supply chain may get preferential treatment by some of your procurement officers because of a personal relationship.Suppose you need a new component/material for a new product
. However, that material is a rare asset, and only one supplier can supply it to you. Knowing his monopoly, the supplier can swindle youOne of your procurement officers has a special deal going on with your suppliers. In exchange for a bribe, the supplier can compensate on the quality of their products.One of your suppliers is secretly delegating work to sub-suppliers who are not bound by the code of ethics that you have impressed upon your main suppliers.A supplier has delivered the item on time and in good condition but is claiming extra expenses and additional costs, forcing a renegotiation of the deal in the processSuppliers and procurement officers can “cook the books” to charge you more than what the transaction was actually worthYou simply have way too many components in your supply chain to keep track of them all. As such, suppliers can pretty much get away with anything. This is a big problem that traditional supply chain management systems have. They are not scalable.Problem #3: CostsThere are four main factors that shoot up the cost in traditional supply chains:Procurement CostsTransportation CostsInventory CostsQuality CostsImage: DummiesProcurement CostsFirst and foremost, the most obvious cost that you will need to mitigate in your supply chain is the procurement costs i.e. paying for products throughout your supply chain. One thing to keep in mind here, if you have a large company, it won’t be possible for you to personally go to the supplier and buy all the components. This is why you will need to hire procurement officers to take care of this for you. So, if you really think about it, when you say “procurement costs”, not only does it include the price of the products, but it includes the salaries and bonuses of the procurement officers and the money that you need to spend on their training as well.Transportation CostsWhen it comes to transportation costs, you will need to make a compromise between speed and expenses. Usually, high-speed transportation choices cost a lot of money. However, going for a financially cheap option can compromise majorly on time, which is almost as important if not more.Inventory CostsInventories are places where you are storing your products. Obviously, that is going to cost a lot of money as well. Now, here is where things become a little messy. Most companies end up borrowing money from banks to pay for the inventories. So, not only do they have to take care of the loan, they have to take care of the interest rates as well.Plus, having an unguarded inventory which is full of your stuff is impractical. Not only do you need to hire folks who can take care of and catalog your products but you will also need to get some security personnel as well. Despite all your best efforts, you will still have to account for shrinkage, i.e. your products could be lost, damaged, stolen, expired, become obsolete.Quality CostsYou expect any product that you buy to meet a certain level of quality. After all, getting defective products will lead on to problems later on down the chain. However, in order to do these quality checks, you will need to hire properly trained experts. Plus, also keep in mind, that a big chunk of your products will be disposed of at once.Problem #4: GlobalizationGlobalization is the process by which your company becomes big enough to have international influence or it starts operating on an international scale. As you can guess, globalization opens up several challenges to supply chain management.Many companies need to run their supply chain through multiple countries to procure different parts of their products. However, this brings in a lot of overcomplications. Keep in mind that your suppliers are in vastly different geographic locations which makes it really hard to co-ordinate and collaborate. In other words, it is really hard to know whether they are actually doing their jobs or not.Enter the BlockchainSo, there are two things that we have learnt so far:Supply chains are absolutely critical for the overall well-being of your business.The current system of supply chains is outdated and requires a significant reboot.This is where the blockchain comes in.Image Credit: Imperial College LondonA blockchain is, in the simplest of terms, a time-stamped series of immutable record of data that is managed by a cluster of computers not owned by any single entity. Each of these blocks of data (i.e. block) are secured and bound to each other using cryptographic principles (i.e. chain).The 3 properties of the blockchain technology that is going to help disrupt the supply chain management system are:DecentralizationImmutableTransparency#1 DecentralizationThe idea of decentralization is at the very core of blockchain technology. What it basically means is that any data that is stored inside the blockchain is not owned by one centralized entity but shared by everyone who is part of that blockchain’s network.The problem with the current supply chain industry is that all the suppliers and procurement officers inadvertently become their own silos of information. There is nothing that is going to tell us with 100% assurance that the information that these people are sending is 100% authentic or not.However, the blockchain breaks down this very concept of silos.When all these different entities, all over the world are connected by this chain, there is no longer any question of data isolation. All the data that would have stored in them is not being shared by everyone on the blockchain.Ok, so you might be wondering, even if they don’t own the data, what is stopping them from tampering with it?Well, for that, let’s look into our next property.#2 ImmutabilityImmutability basically means non-tamperable. Any data that you put inside the blockchain cannot be tampered with.Can you imagine how valuable this will be for supply chain management?It is impossible for anyone to tamper the financial records and to justify extra payments once they have entered the data inside the blockchain.The reason why the blockchain gets this property is that of cryptographic hash functions.In simple terms, hashing means taking an input string of any length and giving out an output of a fixed length. In the context of cryptocurrencies like bitcoin, the transactions are taken as an input and run through a hashing algorithm (bitcoin uses SHA-256) which gives an output of a fixed length.Let’s see how the hashing process works. We are going to put in certain inputs. For this exercise, we are going to use the SHA-256 (Secure Hashing Algorithm 256).As you can see, in the case of SHA-256, no matter how big or small your input is, the output will always have a fixed 256-bits length. This becomes critical when you are dealing with a huge amount of data and transactions. So basically, instead of remembering the input data which could be huge, you can just remember the hash and keep track.A cryptographic hash function is a special class of hash functions which has various properties making it ideal for cryptography. There are certain properties that a cryptographic hash function needs to have in order to be considered secure. You can read about those in detail in our guide on hashing.There is just one property that we want you to focus on today. It is called the “Avalanche Effect.”What does that mean?Even if you make a small change in your input, the changes that will be reflected in the hash will be huge. Let’s test it out using SHA-256:Do you see that? Even though you just changed the case of the first alphabet of the input, look at how much that has affected the output hash.So, anytime someone tries to change the data inside the blockchain, it becomes instantly evident that a tampering-attempt has been made.Plus, all the blocks are also linked to each other via hash functions. Each block in the blockchain has the hash of the previous block. As such, if tampering does occur, it changes the entire structure of the chain, which is an impossibility.Now, let’s go on to the third property.#3 TransparencyOne of the most interesting and misunderstood concepts in the blockchain technology is “transparency.” Some peo
ple say that blockchain gives you privacy while some say that it is transparent. Why do you think that happens?Well… a person’s identity is hidden via complex cryptography and represented only by their public address. So, if you were to look up a person’s transaction history, you will not see “Bob sent 1 BTC” instead you will see “1MF1bhsFLkBzzz9vpFYEmvwT2TbyCt7NZJ sent 1 BTC”.The following snapshot of Ethereum transactions will show you what we mean:So, while the person’s real identity is secure, you will still see all the transactions that were done by their public address. This level of transparency has never existed before within a financial system. It adds that extra, and much needed, level of accountability which is required by some of these biggest institutions.Speaking purely from the point of view of cryptocurrency, if you know the public address of one of these big companies, you can simply pop it in an explorer and look at all the transactions that they have engaged in. This forces them to be honest, something that they have never had to deal with before.Now, use this in the context of supply chain management.Every single operation that will ever take place in your supply chain will be recorded in the blockchain for everyone to see. Can you imagine what this level of transparency can do to your business? Everyone will be forced to be accountable for their actionsHow Blockchain Technology Will Disrupt the Supply Chain?So, from what we have known so far, the blockchain technology has properties of decentralization, transparency, and immutability. As such, it is the perfect tool to use for the disruption of the supply chain management industry. Every time a product changes hands, the transaction could be documented in the blockchain, creating a permanent history of a product, from manufacture to sale. What this does, is that it reduces:Time DelaysHuman ErrorAdded CostsBlockchain can definitely improve the following properties:Recording the quantity of the products and its transfer through different parties.Tracking all the purchase orders, change orders, receipts, trade-related detailsVerifying the validity of the certification of the products. Eg. this can be used to track whether a particular item meets certain quality standards or notIt can link various physical items to serial numbers, barcodes, and tags like RFID etc.Helps in the sharing all the information about the manufacturing process, assembly, delivery, and maintenance of products with the different parties in the supply chain.So, if we were to look into all the benefits that the blockchain can bring into the system:Blockchain’s transparency helps in the careful documentation of a product’s journey from its point of origin to all its suppliers. This increases the trust among the various parties in the supply chain because all the data is visible for everyone to see.The blockchain network can take in any and all participants of the supply chain network. Plus, regardless of their geographical location, everybody will be able to connect with the blockchain.Blockchain’s immutability will make sure that all the records in the chain are honest and free from corruption. Plus, the strong security from its innate cryptography will eliminate unnecessary audits, saving copious amounts of time and money.The utilization of blockchain also opens up the doors to future innovation.Use Case: The Food IndustryRemember how we said that the E-Coli virus brought the spinach industry to a standstill? Well, turns out that the food industry is actually using the blockchain to build better supply chains to prevent that fiasco from ever happening again!Many big companies like Walmart are teaming up with IBM to incorporate their “Food Trust System” blockchain in their supply management system.Walmart has already done two test runs with IBM, one with Chinese pork and the other with Mexican mangoes. Walmart and IBM used the “Hyperledger Fabric”, a blockchain originally built by IBM and now housed under the Linux Foundation’s Hyperledger group for these tests. Frank Yiannas, vice president of food safety at Walmart had this to say about the results of the trials (As told to Fortune): “We were so encouraged that we really quickly started reaching out to other suppliers and retailers as well”As the blockchain gets integrated into the food industry it will make the whole process more transparent and safer. The advantages of a transparent food system are manifold:Greatly enhances food safety.Ensures fresher food since no one will risk sending “non-fresh” food in an open system.There is less food waste because every single piece of food is accounted for.Stops food fraud because the system is open for everyone to see.Promotes responsibility among the food producers since they now know that they can’t get away with underhand dealings.Gives the customer trust-able information about their food and empowers them to make better buying choices.Conclusion: Blockchain and supply chainIt seems like the blockchain technology and supply chain management systems were built for each other. In fact, all the flaws of the current supply chains can be easily mitigated by using the blockchain technology. We believe that this is one of the foremost industries that the blockchain can disrupt and change for the better. Hopefully, blockchain-based supply chain management systems can be the norm in the future.Are you a business professional wanting to learn how blockchain technology can be used in your business? Check out our Blockchain for Business Accelerator  

Did Satoshi Nakamoto Move His Bitcoin Yesterday? No, But Craig Wright Shot Himself in the Foot

0
Did Satoshi Nakamoto Move His Bitcoin Yesterday? No, But Craig Wright Shot Himself in the Foot

On Wednesday a Twitter bot reported that a Bitcoin transaction came from a wallet that possibly belonged to Satoshi Nakamoto, the anonymous creator of the network and author of the Bitcoin whitepaper.

👤👤👤 40 #BTC (391,055 USD) transferred from possible #Satoshi owned wallet (dormant since 2009) to unknown walletℹ️ The coins in this transaction were mined in the first month of Bitcoin’s existence.Tx: https://t.co/hxDJGGtfF0
— Whale Alert (@whale_alert) May 20, 2020
 
The recorded movement came from an address containing coins that were mined barely a month after the launch of the Bitcoin mainnet in 2009, at this time it is suggested that only three people could have known about BTC, one of them being Satoshi.
Beyond the age of the wallet, there is really no indication that this movement was Nakamoto.
Not long after the Whale Alert bot tweeted, the Bitcoin network experienced a 7% sell-off. In a tweet of his own, Bitcoin software engineer Jameson Lopp dismissed the BTC transaction pointing to the script behind the account.
 

No. Y’all need to up your analysis game. https://t.co/j7YuZ7qsQ5
— Jameson Lopp (@lopp) May 20, 2020
The “Patoshi Pattern” is the name given to the analysis used to determine which blocks were most likely mined by Nakomoto. According to the hash rate analysis, it is still possible but unlikely that the transaction was performed by Nakomoto himself.

Here’s a visualization of the Patoshi pattern with the block that was just spent. The blocks believed to be Satoshi have a specific pattern in the nonce, which this block does not have pic.twitter.com/E86eEs6MZf
— nic carter (@nic__carter) May 20, 2020
Craig Wright Shoots Himself in the Foot
The always controversial Craig Wright, the instigator of the BSV fork, has denied moving the 40 BTC from one of the original Satoshi wallets despite listing the wallet among the 16,000 wallets he allegedly owns and has provided in a court document.
The address, 17XiVVooLcdCUCMf9s4t4jTExacxwFS5uh was listed in a court document in the Kleiman vs Wright lawsuit.
Calvin Ayre, the BSV billionaire, tweeted that he had spoken with Craig Wright and he has denied moving the 40 BTC from the 11-year-old address.

Most like someone in Ira Kleiman’s camp from their Satoshi blocks….meaning their side has not being exactly accurate in court. It was NOT Satoshi, I just spoke with him and Craig confirmed not him.
— Calvin Ayre (@CalvinAyre) May 20, 2020
 
Ayre’s revelation may prove tricky for Wright. Although Wright did provide the list of addresses he has insisted that he does not have access to the private keys. If he had moved the coins there would have been strong legal ramifications but consequently, by denying he moved BTC from a wallet he claims to own he has all but proven he is not Nakamoto and has provided false information to the courts.
Perhaps in the unlikely chance that Nakamoto did move the coins himself, it was his goal to expose this alleged con artist once and for all.  
 
Image via Shutterstock

How To Hire Ethereum Developers (Ultimate Guide)

0
How To Hire Ethereum Developers (Ultimate Guide)

pragma solidity 0.4.18;
import “./Vehicle.sol”;
contract VehicleOwner {
address public owner;
mapping(bytes32 => address) public vehicles;
event NewVehicleAdded(address indexed newVehicle, uint256 timestamp);
function VehicleOwner() public {
owner = msg.sender;
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
require(msg.sender == owner);
_;
}
function createNewVehicle(string model, string make, bytes32 vin) public onlyOwner {
address newVehicle = new Vehicle(model, make, vin);
vehicles[vin] = newVehicle;
NewVehicleAdded(newVehicle, now);
}
}
So, let’s go line and by line and understand what is happening here. Code: pragma solidity 0.4.18; Analysis: Specifies the version of the compiler used. In this 0.4.18 Code: import “./Vehicle.sol”; Analysis: Imports the smart contract which is used to represent new vehicles. Code: contract VehicleOwner { Analysis: Declares the vehicle owner contract. Code:address public owner;mapping(bytes32 => address) public vehicles; Analysis: This is where we flesh out our contract. This first variable calls the owner and represents the Ethereum that created any given instance of the VehicleOwner contract.The second one, called vehicles, will be used to store a list of the vehicles owned by the owner, by assigning their contracts’ addresses to the provided vehicle identification numbers. Code:function VehicleOwner() public {owner = msg.sender;} Analysis: See how the function has the same name as the contract? This is because this particular function is a constructor. The only function that it does is to assign the address that called the function as the contract owner. Code:modifier onlyOwner() {require(msg.sender == owner);_;} Analysis:  This function modifier is used make sure that only the contract owner has access to the contract. See that “_”? This yields for the body of the function to which the modifier is later applied. Code:function createNewVehicle(string model, string make, bytes32 vin) public onlyOwner {address newVehicle = new Vehicle(model, make, vin);vehicles[vin] = newVehicle;NewVehicleAdded(newVehicle, now);} Analysis: This creates a new contract on the blockchain which is a representation of a new vehicle. The vehicle contract’s constructor receives three properties: model, make, and vin, the latter of which can be used to identify that particular vehicle.Creating a new contract returns its newly assigned address. In the function, using the vehicle’s mapping, we bind the given vin to that address. Finally, the function broadcasts a new event, passing in the address and the current timestamp.Code Example #2contract BasicIterator
{
address creator; // reserve one “address”-type spot
uint8[10] integers; // reserve a chunk of storage for 10 8-bit unsigned integers in an array
function BasicIterator()
{
creator = msg.sender;
uint8 x = 0;
//Section 1: Assigning values
while(x < integers.length) {
integers[x] = x;  
x++;
} }
function getSum() constant returns (uint) {
uint8 sum = 0;
uint8 x = 0;
//Section 2: Adding the integers in an array.
while(x < integers.length) {
sum = sum + integers[x];
x++;
}
return sum;
}
// Section 3: Killing the contract
function kill()
{
if (msg.sender == creator)
{
suicide(creator);
}
}
}
So, let’s analyse.
Section 1: Assigning Values
In the first step we are filling up an array called “integers” which takes in 10 8-bit unsigned integers.  The way we are doing it is via a while loop. Let’s look at what is happening inside the while loop.
while(x < integers.length) {
integers[x] = x;
x++;
}
Remember, we have already assigned a value of “0” to the integer x. The while loop goes from 0 to integers.length. Integers.length is a function which returns the max capacity of the array. So, if we decided that an array will have 10 integers, arrayname.length will return a value of 10. In the loop above, the value of x goes from 0 – 9 (<10) and assigns the value of itself to the integers array as well. So, at the end of the loop, integers will have the following value:0,1,2,3,4,5,6,7,8,9.Section 2: Adding the array contentInside the getSum() function we are going to add up the contents of the array itself. The way its going to do it is by repeating the same while loop as above and using the variable “sum” to add the contents of the array.Section 3: Killing the contractThis function kills the contract and sends the remaining funds in the contract back to the contract creator.So this should give you a good idea of what solidity contracts look like and what kind of code breakdown you should expect from your prospects.What’s the difference between Ether and Gas?This is another core concept that your developers should be familiar with.Ether is the main token in the ecosystem. It is what incentivizes the players to carry out their end of the smart contract.Gas is the amount of fuel that is required to fulfill all the needs of a given contract.When someone submits a smart contract, it has a pre-determined gas value. When the contract is executed each and every step of the contract requires a certain amount of gas to execute.This can lead to two scenarios:The gas required is more than the limit set. If that’s the case then the state of the contract is reverted back to its original state and all the gas is used up.The gas required is less than the limit set. If that’s the case, then the contract is completed and the leftover gas is given over to the contract setter.The following is a graph that shows the average gas price in Wei.Image Credit: EtherscanGas is the lifeblood of Ethereum.All the transactions in Ethereum are validated by the miners. Basically, they have to manually put each and every transaction into the blocks that they have mined for the transaction to be validated. In exchange for their services, they collect a certain amount of transaction fees.Usually, smart contracts with high gas fees are given preference because the miners have the chance to collect higher fees there. The fee collected though is still pretty nominal as compared to bitcoin.This graph here compares the transaction fees of Bitcoin to Ethereum.Image Credit: BitinfochartsIn fact, as you can see, in this transaction of 0.01 Ether only 0.00000000000002 Ether was collected as transaction fees which is <$0.000001.Image Credit: EtherscanSo, as you can see, the miners in Ethereum, writing, collect very nominal transaction fees. Obviously collect transaction fees is a secondary role for there miners, their main job is to…well…mine!Questions and AnswersSo, distilling all this knowledge, let’s zero in on some specific questions that you can ask.Q) How is the contract constructor defined?A) The constructor is defined as a function, named exactly the same as the contract. Q) Where are events logged in Ethereum and what’s their purpose?A)  Logs are the events emitted by the contracts. These are parts of their transactions’ receipts and the results of the LOG opcodes which are executed on the Ethereum Virtual Machine (EVM).The events are primarily used to communicate with front ends or as cheap data storage. Because the return values of transactions are only the transactions hashed, because it takes a bit of time for the blockchain to reach consensus and validate the transactions, by mining them into new blocks. By emitting events and having front ends listen (watch) for those events, efficient communication is achieved.Q) What are the mappings?A) Mapping is equivalent to a dictionary or a map in other programming languages. It’s key-to-value storage. Q) What is the purpose of modifiers?A) As the name suggests; they modify the functions that use them. However, the conditions of the modifier must be met before the function gets executed. If not, then the modifiers throws an error. Q) What are Ethereum libraries?A) Ethereum libraries help in the isolation of integral pieces of logic. They are a group of packages built for use on blockchains utilizing the Ethereum Virtual Machine (EVM). All libraries are deployed and linkable in your smart contracts. They can be called via DELEGATECALL. Q) Why does it cost money to invoke a method on a Smart Contract?A) When methods get invoked, they change the state of the blockchain. Since the operation requires gas, it costs money. Where can you find great developers?It is hard to find great developers in “traditional places” like LinkedIn and Google. However, Reddit, GitHub etc. are great places to find these developers.Plus, there is one more thing. Since this is such a niche talent, you should be open to the fact that they might be in your city or even your own country. You should make provisions for remote location jobs, especially if you are looking for the cream of the crop.It may be a pain, but this is one of those “quality over quantity” things.How To Hire Ethereum Developers: ConclusionWhen you are interviewing Ethereum developers, you must keep one thing in mind. It is not necessary that they answer all the questions thoroughly. What matters is their passion and whether they were able to specifically answer the questions which pertain to their job and role.Anyway, this guide should help you zero in on amazing blockchain developers. Just one final word of advice. Please do not compromise on the quality of the developers. Remember, quality will always trump quantity.

What Are Smart Contracts? [Ultimate Beginner’s Guide to Smart Contracts]

0
What Are Smart Contracts? [Ultimate Beginner’s Guide to Smart Contracts]

Share and get +16 +16 A Beginner’s Guide to Smart Contracts TLDR: A smart contract is a computer protocol intended to digitally facilitate, verify, or enforce the negotiation or performance of a contract. Smart contracts allow the performance of credible transactions without third parties.One of the best things about the blockchain is that, because it is a decentralized system that exists between all permitted parties, there’s no need to pay intermediaries (Middlemen) and it saves you time and conflict. Blockchains have their problems, but they are rated, undeniably, faster, cheaper, and more secure than traditional systems, which is why banks and governments are turning to them. Enjoy a free lesson from the Blockgeeks Library!In 1994, Nick Szabo, a legal scholar, and cryptographer realized that the decentralized ledger could be used for smart contracts, otherwise called self-executing contracts, blockchain contracts, or digital contracts. In this format, contracts could be converted to computer code, stored and replicated on the system and supervised by the network of computers that run the blockchain. This would also result in ledger feedback such as transferring money and receiving the product or service.What are Smart Contracts?Smart contracts help you exchange money, property, shares, or anything of value in a transparent, conflict-free way while avoiding the services of a middleman.The best way to describe smart contracts is to compare the technology to a vending machine. Ordinarily, you would go to a lawyer or a notary, pay them, and wait while you get the document. With smart contracts, you simply drop a bitcoin into the vending machine (i.e. ledger), and your escrow, driver’s license, or whatever drops into your account. More so, smart contracts not only define the rules and penalties around an agreement in the same way that a traditional contract does, but also automatically enforce those obligations. If you are looking for a more detailed walkthrough of smart contracts please check out our blockchain courses on smart contracts.As Vitalik Buterin, the 22-year-old programmer of ethereum, explained it at a recent DC Blockchain Summit, in a smart contract approach, an asset or currency is transferred into a program “and the program runs this code and at some point it automatically validates a condition and it automatically determines whether the asset should go to one person or back to the other person, or whether it should be immediately refunded to the person who sent it or some combination thereof.”In the meantime, the decentralized ledger also stores and replicates the document which gives it a certain security and immutability.ExampleSuppose you rent an apartment from me. You can do this through the blockchain by paying in cryptocurrency. You get a receipt which is held in our virtual contract; I give you the digital entry key which comes to you by a specified date. If the key doesn’t come on time, the blockchain releases a refund. If I send the key before the rental date, the function holds it releasing both the fee and key to you and me respectively when the date arrives. The system works on the If-Then premise and is witnessed by hundreds of people, so you can expect a faultless delivery. If I give you the key, I’m sure to be paid. If you send a certain amount in bitcoins, you receive the key. The document is automatically canceled after the time, and the code cannot be interfered with either of us without the other knowing since all participants are simultaneously alerted.You can use smart contracts for all sorts of situations that range from financial derivatives to insurance premiums, breach contracts, property law, credit enforcement, financial services, legal processes, and crowdfunding agreements. A Smart Contract ExampleHere is the code for a basic smart contract that was written on the Ethereum blockchain. Contracts can be encoded on any blockchain, but ethereum is mostly used since it gives unlimited processing capability.An example smart contract on Ethereum. Source: https://www.ethereum.org/tokenThe contract stipulates that the creator of the contract be given 10,000 BTCS (i.e. bitcoins); it allows anyone with enough balance to distribute these BTCs to others. Here’s How You Can Use Smart ContractsJerry Cuomo, vice president for blockchain technologies at IBM, believes smart contracts can be used all across the chain from financial services to healthcare to insurance. Here are some examples:GovernmentInsiders vouch that it is extremely hard for our voting system to be rigged, but nonetheless, smart contracts would allay all concerns by providing an infinitely more secure system. Ledger-protected votes would need to be decoded and require excessive computing power to access. No one has that much computing power, so it would need God to hack the system! Secondly, smart contracts could hike low voter turnout. Much of the inertia comes from a fumbling system that includes lining up, showing your identity, and completing forms. With smart contracts, volunteers can transfer voting online and millennials will turn out en masse to vote for their Potus. ManagementThe blockchain not only provides a single ledger as a source of trust, but also shaves possible snarls in communication and workflow because of its accuracy, transparency, and automated system. Ordinarily, business operations have to endure a back-and-forth, while waiting for approvals and for internal or external issues to sort themselves out. A blockchain ledger streamlines this. It also cuts out discrepancies that typically occur with independent processing and that may lead to costly lawsuits and settlement delays.Case history  In 2015, the Depository Trust & Clearing Corp. (DTCC) used a blockchain ledger to process more than $1.5 quadrillion worth of securities, representing 345 million transactions.Supply ChainSmart contracts work on the If-Then premise so, to put in Jeff Garzik’s words, “UPS can execute contracts that say, ‘If I receive cash on delivery at this location in a developing, emerging market, then this other [product], many, many links up the supply chain, will trigger a supplier creating a new item since the existing item was just delivered in that developing market.’” All too often, supply chains are hampered by paper-based systems, where forms have to pass through numerous channels for approval, which increases exposure to loss and fraud. The blockchain nullifies this by providing a secure, accessible digital version to all parties on the chain and automates tasks and payment.Case history Barclays Corporate Bank uses smart contracts to log a change of ownership and automatically transfer payments to other financial institutions upon arrivalAutomobileThere’s no doubt that we’re progressing from slothful pre-human vertebrates to super-smart robots. Think of a future where everything is automated. Google’s getting there with smartphones, smart glasses, and even smart cars. That’s where smart contracts help. One example is the self-autonomous or self-parking vehicles, where smart contracts could put into play a sort of ‘oracle’ that could detect who was at fault in a crash; the sensor or the driver, as well as countless other variables.  Using smart contracts, an automobile insurance company could charge rates differently based on where, and under which, conditions customers are operating their vehicles. Real EstateYou can get more money through smart contracts. Ordinarily, if you wanted to rent your apartment to someone, you’d need to pay a middleman such as Craigslist or a newspaper to advertise and then again you’d need to pay someone to confirm that the person paid rent and followed through. The ledger cuts your costs. All you do is pay via bitcoin and encode your contract on the ledger. Everyone sees, and you accomplish automatic fulfillment. Brokers, real estate agents, hard money lenders, and anyone associated with the property game can profit.HealthcarePersonal health records could be encoded and stored on the blockchain with a private key which would
grant access only to specific individuals. The same strategy could be used to ensure that research is conducted via HIPAA laws (in a secure and confidential way). Receipts of surgeries could be stored on a blockchain and automatically sent to insurance providers as proof-of-delivery. The ledger, too, could be used for general healthcare management, such as supervising drugs, regulation compliance, testing results, and managing healthcare supplies.Smart Contracts are Awesome!Here’s what smart contracts give you:Autonomy – You’re the one making the agreement; there’s no need to rely on a broker, lawyer or other intermediaries to confirm. Incidentally, this also knocks out the danger of manipulation by a third party, since execution is managed automatically by the network, rather than by one or more, possibly biased, individuals who may err.Trust – Your documents are encrypted on a shared ledger.  There’s no way that someone can say they lost it.Backup – Imagine if your bank lost your savings account. On the blockchain, each and every one of your friends have your back. Your documents are duplicated many times over.Safety – Cryptography, the encryption of websites, keeps your documents safe. There is no hacking. In fact, it would take an abnormally smart hacker to crack the code and infiltrate.Speed – You’d ordinarily have to spend chunks of time and paperwork to manually process documents. Smart contracts use software code to automate tasks, thereby shaving hours off a range of business processes.Savings – Smart contracts save you money since they knock out the presence of an intermediary. You would, for instance, have to pay a notary to witness your transaction.Accuracy – Automated contracts are not only faster and cheaper but also avoid the errors that come from manually filling out heaps of forms.Here’s how Jeff Garzik, owner of blockchain services Bloq, described smart contracts:“Smart contracts … guarantee a very, very specifhttp://searchcio.techtarget.com/feature/What-is-a-smart-contract-and-whats-it-good-foric set of outcomes. There’s never any confusion and there’s never any need for litigation.”“Smart Contracts are where the rubber meets the road for businesses and blockchain technology. While a few highly specialized distributed financial services use cases for blockchain have appeared—for example, payment ledger services for the Yangon Stock Exchange in Myanmar. Its services on top of the blockchain that are really interesting. In the Yangon Exchange, it solves the problem of distributed settlement in a trading system that only synchronizes trades twice a day. But the autonomous execution capacities of smart contracts extend the transactional security assurance of blockchain into situations where complex, evolving context transitions are required. And it’s this possibility that has Amazon, Microsoft Azure and IBM Bluemix rolling out Blockchain-as-a-Service (Baas) from the cloud.” –  Patrick Hubbard, Head Geek, SolarWindsNow for ProblemsSmart contracts are far from perfect. What if bugs get in the code? Or how should governments regulate such contracts? Or, how would governments tax these smart contract transactions?  As a case in point, remember my rental situation? What happens if I send the wrong code, or, as lawyer Bill Marino points out, I send the right code, but my apartment is condemned (i.e., taken for public use without my consent) before the rental date arrives? If this were the traditional contract, I could rescind it in court, but the blockchain is a different situation. The contract performs, no matter what. The list of challenges goes on and on. Experts are trying to unravel them, but these critical issues do dissuade potential adopters from signing on.And here’s To the Future of Smart Contracts…Part of the future of smart contracts lies in entangling these issues. In Cornell Tech, for instance, lawyers, who insist that smart contracts will enter our everyday life, have dedicated themselves to researching these concerns.Actually, when it comes to smart contracts, we’re stepping into a sci-fi screen. The IT resource center, Search Compliance suggests that smart contracts may impact changes in certain industries, such as law. In that case, lawyers will transfer from writing traditional contracts to producing standardized smart contract templates, similar to the standardized traditional contracts that you’ll find on LegalZoom. Other industries such as merchant acquirers, credit companies, and accountants may also employ smart contracts for tasks, such as real-time auditing and risk assessments. Actually, the website Blockchain Technologies sees smart contracts merging into a hybrid of paper and digital content where contracts are verified via blockchain and substantiated by physical copy.Blockchains Where You Can Process Smart ContractsBitcoin: bitcoin is great for processing Bitcoin transactions, but has limited ability for processing documents.Side Chains: This is another name for blockchains that run adjacent to bitcoin and offer more scope for processing contracts.NXT: NXT is a public blockchain platform that contains a limited selection of templates for smart contracts. You have to use what is given; you’re unable to code your own.Ethereum: ethereum is a public blockchain platform and the most advanced for coding and processing smart contracts. You can code whatever you wish but would have to pay for computing power with “ETH” tokens.As to the potential of smart contracts itself, there’s no end to the range of industries it can impact, from healthcare to automobiles to real estate and law. The list goes on and on. Says, ethereum CTO, Gavin Wood“The potential for [smart contracts] to alter aspects of society is of significant magnitude. This is something that would provide a technical basis for all sorts of social changes, and I find that exciting.”

Penatibus Nulla Ut Sit Etiam Sociis Nisi Porttitor

0
Penatibus Nulla Ut Sit Etiam Sociis Nisi Porttitor
Faucibus etiam libero

Structured gripped tape invisible moulded cups for sauppor firm hold strong powermesh front liner sport detail. Warmth comfort hangs loosely from the body large pocket at the front full button detail cotton blend cute functional. Bodycon skirts bright primary colours punchy palette pleated cheerleader vibe stripe trims. Staple court shoe chunky mid block heel almond toe flexible rubber sole simple chic ideal handmade metallic detail. Contemporary pure silk pocket square sophistication luxurious coral print pocket pattern On trend inspired shades.

Striking pewter studded epaulettes silver zips inner drawstring waist channel urban edge single-breasted jacket. Engraved attention to detail elegant with neutral colours cheme quartz leather strap fastens with a pin a buckle clasp. Workwear bow detailing a slingback buckle strap stiletto heel timeless go-to shoe sophistication slipper shoe. Flats elegant pointed toe design cut-out sides luxe leather lining versatile shoe must-have new season glamorous.

Eleifend Amet Penatibus Etiam

0
Eleifend Amet Penatibus Etiam
Faucibus etiam libero

Structured gripped tape invisible moulded cups for sauppor firm hold strong powermesh front liner sport detail. Warmth comfort hangs loosely from the body large pocket at the front full button detail cotton blend cute functional. Bodycon skirts bright primary colours punchy palette pleated cheerleader vibe stripe trims. Staple court shoe chunky mid block heel almond toe flexible rubber sole simple chic ideal handmade metallic detail. Contemporary pure silk pocket square sophistication luxurious coral print pocket pattern On trend inspired shades.

Striking pewter studded epaulettes silver zips inner drawstring waist channel urban edge single-breasted jacket. Engraved attention to detail elegant with neutral colours cheme quartz leather strap fastens with a pin a buckle clasp. Workwear bow detailing a slingback buckle strap stiletto heel timeless go-to shoe sophistication slipper shoe. Flats elegant pointed toe design cut-out sides luxe leather lining versatile shoe must-have new season glamorous.

Quis Nascetur Aenean Ipsum Vici

0
Quis Nascetur Aenean Ipsum Vici
Viverra faucibus sem

Structured gripped tape invisible moulded cups for sauppor firm hold strong powermesh front liner sport detail. Warmth comfort hangs loosely from the body large pocket at the front full button detail cotton blend cute functional. Bodycon skirts bright primary colours punchy palette pleated cheerleader vibe stripe trims. Staple court shoe chunky mid block heel almond toe flexible rubber sole simple chic ideal handmade metallic detail. Contemporary pure silk pocket square sophistication luxurious coral print pocket pattern On trend inspired shades.

Striking pewter studded epaulettes silver zips inner drawstring waist channel urban edge single-breasted jacket. Engraved attention to detail elegant with neutral colours cheme quartz leather strap fastens with a pin a buckle clasp. Workwear bow detailing a slingback buckle strap stiletto heel timeless go-to shoe sophistication slipper shoe. Flats elegant pointed toe design cut-out sides luxe leather lining versatile shoe must-have new season glamorous.

Vel Consequat Eget Eros Ut Sem Nunc Augue Donec Aenean Nec Tellus Vitae Vulputate

0
Vel Consequat Eget Eros Ut Sem Nunc Augue Donec Aenean Nec Tellus Vitae Vulputate
Pellentesque venenatis ac

Structured gripped tape invisible moulded cups for sauppor firm hold strong powermesh front liner sport detail. Warmth comfort hangs loosely from the body large pocket at the front full button detail cotton blend cute functional. Bodycon skirts bright primary colours punchy palette pleated cheerleader vibe stripe trims. Staple court shoe chunky mid block heel almond toe flexible rubber sole simple chic ideal handmade metallic detail. Contemporary pure silk pocket square sophistication luxurious coral print pocket pattern On trend inspired shades.

Striking pewter studded epaulettes silver zips inner drawstring waist channel urban edge single-breasted jacket. Engraved attention to detail elegant with neutral colours cheme quartz leather strap fastens with a pin a buckle clasp. Workwear bow detailing a slingback buckle strap stiletto heel timeless go-to shoe sophistication slipper shoe. Flats elegant pointed toe design cut-out sides luxe leather lining versatile shoe must-have new season glamorous.