<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>blockchain basics &#8211; Deqode Blog</title>
	<atom:link href="https://deqode.com/blog/tag/blockchain-basics/feed/" rel="self" type="application/rss+xml" />
	<link>https://deqode.com/blog</link>
	<description>Articles about blockchain and the future of technology</description>
	<lastBuildDate>Tue, 22 Oct 2024 13:32:34 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.0.3</generator>

<image>
	<url>https://deqode.com/blog/wp-content/uploads/2019/02/cropped-favicon-32x32.png</url>
	<title>blockchain basics &#8211; Deqode Blog</title>
	<link>https://deqode.com/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Graphene Blockchain Series Part Two: Multi-Node Setup and Smart Contracts in Graphene</title>
		<link>https://deqode.com/blog/2019/02/14/graphene-blockchain-tutorial-two/</link>
		<comments>https://deqode.com/blog/2019/02/14/graphene-blockchain-tutorial-two/#comments</comments>
		<pubDate>Thu, 14 Feb 2019 13:47:53 +0000</pubDate>
		<dc:creator><![CDATA[Shanu Goyanka]]></dc:creator>
				<category><![CDATA[Tutorials and Guides]]></category>
		<category><![CDATA[blockchain]]></category>
		<category><![CDATA[blockchain basics]]></category>
		<category><![CDATA[graphene]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">https://deqode.com/blog/?p=3888</guid>
		<description><![CDATA[<p>This tutorial will walk you through setting up Multi-Node and writing your first smart contract in Graphene blockchain. This is a straightforward, step by step tutorial on Graphene smart contracts that picks off from our previous tutorial on basics of Graphene. Address generation We&#8217;ll start off with address generation. 1. Open terminal. Enter the following: [...]</p>
<p>The post <a rel="nofollow" href="https://deqode.com/blog/2019/02/14/graphene-blockchain-tutorial-two/">Graphene Blockchain Series Part Two: Multi-Node Setup and Smart Contracts in Graphene</a> appeared first on <a rel="nofollow" href="https://deqode.com/blog">Deqode Blog</a>.</p>
]]></description>
				<content:encoded><![CDATA[
<p class="has-drop-cap">This tutorial will walk you through setting up Multi-Node and writing your first smart contract in Graphene blockchain. This is a straightforward, step by step tutorial on Graphene smart contracts that picks off from our previous tutorial on basics of Graphene. <br></p>



<h2>Address generation</h2>



<p>We&#8217;ll start off with address generation.<br></p>



<p>1. Open terminal. Enter the following:<br></p>



<pre class="wp-block-preformatted">programs/witness_node/witness_node --rpc-endpoint 127.0.0.1:8090 #Runs the node without any configuration</pre>



<pre class="wp-block-preformatted">programs/cli_wallet/cli_wallet #Run cli_wallet with any configuration in new terminal, keep the node open</pre>



<p>2. In cli_wallet terminal, enter the following:</p>



<pre class="wp-block-preformatted">set_password tadas<br>unlock tada <br>suggest_brain_key</pre>



<ul><li>Run these command four or more times and save the json for the pub/priv key pairs.</li></ul>



<h2>Setting up private testnet nodes</h2>



<p>We&#8217;ll now set up private testnet nodes.<br></p>



<p>1. Delete object_database, witness_node_data_dir, wallet.json directory and files from graphene folder.<br></p>



<p>2. Open a new terminal instance. Enter the following:<br></p>



<pre class="wp-block-preformatted">mkdir -p genesis<br>programs/witness_node/witness_node --create-genesis-json genesis/my-genesis.json<br></pre>



<p>3. Open my-genesis.json and modify the contents as follows: </p>



<p>(github plugin &#8211; doc my-genesis.json)<br></p>



<ul><li> Our example will be using only three initial accounts, so delete the others.</li></ul>



<ul><li>Change witness candidates to three witnesses.</li></ul>



<ul><li> Assign different public addresses and block_signing to witness candidates that you generated in the steps above.<br></li></ul>



<h4>Let&#8217;s start setting up different nodes<br></h4>



<p>1. Open a new instance of terminal. Enter the following:<br></p>



<pre class="wp-block-preformatted">mkdir data<br>cd data<br></pre>



<p>2. Make three folders named blockprod-1/2/3 and put the following config.ini files inside all three of them (github plugin doc &#8211; config.ini)<br></p>



<p>3. Change the parameters of config.ini files as below</p>



<ul><li> Change the p2p-endpoint = &lt;ip_address&gt;:&lt;free_port&gt;</li><li> Alter the genesis-json = genesis/my-genesis.json</li><li> Change the private-key = [pub/priv generated], three similar arrays.</li><li> Open <g class="gr_ gr_4 gr-alert gr_spell gr_inline_cards gr_disable_anim_appear ContextualSpelling ins-del multiReplace" id="4" data-gr-id="4">rpc</g>-endpoint to any port.</li></ul>



<p>4. Open a new instance of terminal. Enter the following:</p>



<pre class="wp-block-preformatted">programs/witness_node/witness_node --data-dir data/blockprod-1 (in one terminal)<br></pre>



<p>5. Use the following set of commands in a new terminal to generate Witness account.</p>



<pre class="wp-block-preformatted">programs/cli_wallet/cli_wallet (in new terminal)<br>set_password tadas<br>unlock tadas<br>import_key "nathan" 5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3<br>import_balance nathan [5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3] true<br>upgrade_account nathan true<br>suggest_brain_key (save the json- mnemonic, wif-priv, pub in a .txt file).<br>create_account_with_brain_key "Here will be the brain key you just copied in above command" my-account nathan nathan true.<br>transfer nathan my-account 10000 CORE "have some CORE" true.<br>upgrade_account my-account true<br>create_witness my-account "http://witness.bar.com/" true<br>vote_for_witness my-account my-account true true<br>vote_for_witness nathan my-account true true<br>dump_private_keys</pre>



<p>6.  Now add the pub/priv key pair (calculated in above step) in data/my-blockprod2/config.ini inside private-key field and add witness-id = 1.6.4.</p>



<p>7. Run the second node in another terminal </p>



<pre class="wp-block-preformatted">programs/witness_node/witness_node --data-dir data/blockprod-2</pre>



<h6>Finally, we&#8217;ll be writing our first smart contract on graphene blockchain. </h6>



<p>This smart contract will simply store user data and fetch it in <g class="gr_ gr_4 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling ins-del multiReplace" id="4" data-gr-id="4">cli</g>-wallet.</p>



<div class="wp-block-image"><figure class="aligncenter is-resized"><img src="https://deqode.com/blog/wp-content/uploads/Graphene.png" alt="" class="wp-image-3890" width="169" height="573"/><figcaption>Writing first smart contract on Graphene blockchain</figcaption></figure></div>



<p>1. <g class="gr_ gr_8 gr-alert gr_gramm gr_inline_cards gr_run_anim Punctuation only-ins replaceWithoutSep" id="8" data-gr-id="8">First</g>ly, we will add operation to store user so for that we have to register an operation named “create_user_operation” in <strong>libraries/app/impacted.<g class="gr_ gr_6 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling ins-del multiReplace" id="6" data-gr-id="6">cpp</g></strong> file.<br></p>


<p><script src="https://gist.github.com/sgoyanka/fd6db480fab1bc49b8aca385292fd2e0.js"></script></p>


<p>2. Secondly, we will make <g class="gr_ gr_6 gr-alert gr_gramm gr_inline_cards gr_run_anim Grammar only-del replaceWithoutSep" id="6" data-gr-id="6">the user_object</g>.<g class="gr_ gr_5 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling" id="5" data-gr-id="5">hpp</g> file in which we declare all the fields and type which will be stored in user profile&nbsp;<strong>libraries/chain/include/graphene/chain/user_object.hpp</strong></p>


<p><script src="https://gist.github.com/sgoyanka/f600eac4e1196a95a516b356db94c05c.js"></script></p>


<p>3. Thirdly, we will declare a method to insert data in <g class="gr_ gr_4 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling ins-del multiReplace" id="4" data-gr-id="4">db</g> in form of transaction in file <strong>libraries/chain/include/graphene/chain/user_evaluator.hpp</strong><br><br></p>


<p><script src="https://gist.github.com/sgoyanka/91f76f94f38290dbb550d1a0f315d08b.js"></script></p>


<p>4. Define the methods <em>do_evaluate</em> and <em>do_apply </em>for inserting values of user in db in <strong>libraries/chain/user_evaluator.cpp</strong></p>


<p><script src="https://gist.github.com/sgoyanka/a3f9a79fa3af85451424c626bcc262f1.js"></script></p>


<p>5. Following this, we will make a method for this operation to set its fees parameter and take arguments in <strong>libraries/chain/include/graphene/chain/protocol/user.hpp</strong></p>


<p><script src="https://gist.github.com/sgoyanka/8e59940f7c9b4d86df6dac47d2c0e6e4.js"></script></p>


<p>6. Now, we have to add our operation name in operations file under <strong>libraries/chain/include/graphene/chain/protocol/operations.hpp</strong></p>



<p>Add header file in operations.hpp<br></p>


<p><script src="https://gist.github.com/sgoyanka/5a5f767d5e3939980630af2a54725cc1.js"></script></p>


<p>Then add the operation name under<strong> typedef fc::static_variant&lt; </strong></p>


<p><script src="https://gist.github.com/sgoyanka/a0adb4bb0db105b06f7a6386287c5ec4.js"></script></p>


<p>7. Add the user_object type in <strong>libraries/chain/include/graphene/chain/protocol/types.hpp</strong></p>



<h4>Make changes as listed below</h4>



<ul><li>Include <strong><em>impl_user_object_type</em></strong> as the new value to the enum <strong><em>impl_object_type</em></strong></li><li>Declare the class <strong><em>class user_object</em></strong></li><li>Create a typedef</li></ul>



<pre class="wp-block-preformatted">typedef object_id&lt;implementation_ids, impl_user_object_type, user_object&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;user_id_type;</pre>



<ul><li>Pass it to the FC_RELECT macro </li></ul>



<pre class="wp-block-preformatted">FC_REFLECT_TYPENAME( graphene::chain::user_id_type )</pre>


<p><script src="https://gist.github.com/sgoyanka/8541e2f7331852a83d0c65e0a8797bb9.js"></script></p>


<p> 8. We have to add the evaluator in<strong>&nbsp;libraries/chain/db_init.<g class="gr_ gr_5 gr-alert gr_spell gr_inline_cards gr_disable_anim_appear ContextualSpelling ins-del multiReplace" id="5" data-gr-id="5">cpp</g> </strong>file and register our user_index</p>


<p><script src="https://gist.github.com/sgoyanka/a431aeebb25b4a23024cc62943fed13d.js"></script></p>


<p>9. &nbsp;Add the user protocol in <strong>libraries/chain/CMakeLists.txt</strong></p>


<p><script src="https://gist.github.com/sgoyanka/5760f430ba2a3771c09e3ba52cc9053e.js"></script></p>


<p>10. Now add a get method in database.hpp <strong>libraries/chain/include/graphene/chain/database.hpp<br></strong>Add the header file for user_object and then add then declare the method for getting the user</p>



<pre class="wp-block-preformatted">#include &lt;graphene/chain/user_object.hpp&gt;<br>const user_object &amp;get_user(account_id_type account) const;<br></pre>



<p>11. Define method in db_getter.cpp in <strong>libraries/chain/db_getter.cpp</strong><br><br></p>


<p><script src="https://gist.github.com/sgoyanka/7e42ad2e4baaff0c0dfb7fc183f2904e.js"></script></p>


<p>12. Now expose an <g class="gr_ gr_5 gr-alert gr_spell gr_inline_cards gr_disable_anim_appear ContextualSpelling ins-del multiReplace" id="5" data-gr-id="5">api</g> to fetch user in database_api.hpp. Include the header file of <g class="gr_ gr_7 gr-alert gr_gramm gr_inline_cards gr_run_anim Grammar only-ins replaceWithoutSep" id="7" data-gr-id="7">user</g> object and add the below method inside <em><g class="gr_ gr_8 gr-alert gr_gramm gr_inline_cards gr_run_anim Grammar only-ins doubleReplace replaceWithoutSep" id="8" data-gr-id="8">database_api</g></em> class</p>



<pre class="wp-block-preformatted"> optional&lt;user_object&gt; get_user(account_id_type from) const;<br></pre>



<p>And export the function inside FC_API(graphene::app::database_api,  as &nbsp;</p>



<pre class="wp-block-preformatted">(get_user)<br></pre>



<p>Finally, define the exposed function in database_api.<g class="gr_ gr_6 gr-alert gr_spell gr_inline_cards gr_disable_anim_appear ContextualSpelling ins-del multiReplace" id="6" data-gr-id="6"><g class="gr_ gr_6 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling ins-del multiReplace" id="6" data-gr-id="6">cpp</g></g> file as<br>* inside database_api_impl</p>



<pre class="wp-block-preformatted"> &nbsp;&nbsp;&nbsp;optional&lt;user_object&gt; get_user(account_id_type from) const;<br><br></pre>


<p><script src="https://gist.github.com/sgoyanka/6b46e80261728fb636bb2e9772879817.js"></script></p>


<figure class="wp-block-image"><img src="https://deqode.com/blog/wp-content/uploads/graphene-2-1024x576.png" alt="graphene blockchain 2" class="wp-image-3947" srcset="https://deqode.com/blog/wp-content/uploads/graphene-2-1024x576.png 1024w, https://deqode.com/blog/wp-content/uploads/graphene-2-300x169.png 300w, https://deqode.com/blog/wp-content/uploads/graphene-2-768x432.png 768w, https://deqode.com/blog/wp-content/uploads/graphene-2.png 1366w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Congratulations! You&#8217;ve reached the end of this tutorial and know how to write smart contracts on Graphene. Now you can <a href="https://deqode.com/blog/graphene-blockchain-tutorial-one/">revisit our previous tutorial on Graphene blockchain</a> to brush up the concepts again, or <a href="https://deqode.com/blog/category/programming/">have a look</a> at other tutorials. <a href="https://deqode.com/contact">For more information, and to get your business up on Graphene smart contracts, contact us</a>.</p>



<p>Code reference: <a href="https://www.monetha.io">https://www.monetha.io</a></p>
<p>The post <a rel="nofollow" href="https://deqode.com/blog/2019/02/14/graphene-blockchain-tutorial-two/">Graphene Blockchain Series Part Two: Multi-Node Setup and Smart Contracts in Graphene</a> appeared first on <a rel="nofollow" href="https://deqode.com/blog">Deqode Blog</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://deqode.com/blog/2019/02/14/graphene-blockchain-tutorial-two/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Key Concepts of Blockchain: The Very Basics of Blockchain Technology</title>
		<link>https://deqode.com/blog/2019/02/12/concepts-blockchain-technology/</link>
		<comments>https://deqode.com/blog/2019/02/12/concepts-blockchain-technology/#respond</comments>
		<pubDate>Tue, 12 Feb 2019 09:26:38 +0000</pubDate>
		<dc:creator><![CDATA[Nidish Ramakrishnan]]></dc:creator>
				<category><![CDATA[Basics of Blockchain]]></category>
		<category><![CDATA[blockchain]]></category>
		<category><![CDATA[blockchain basics]]></category>
		<category><![CDATA[blockchain simplified]]></category>
		<category><![CDATA[blockchain technology]]></category>

		<guid isPermaLink="false">https://deqode.com/blog/?p=3692</guid>
		<description><![CDATA[<p>Born as a niche product on the fringes of the market, blockchain has for some time now been garnering the attention of experts in various industries, and has increasingly been in the spotlight of the media. It enables peer-to-peer transactions &#8211; with which every participant in a network can transact directly with every other network [...]</p>
<p>The post <a rel="nofollow" href="https://deqode.com/blog/2019/02/12/concepts-blockchain-technology/">Key Concepts of Blockchain: The Very Basics of Blockchain Technology</a> appeared first on <a rel="nofollow" href="https://deqode.com/blog">Deqode Blog</a>.</p>
]]></description>
				<content:encoded><![CDATA[
<p class="has-drop-cap">Born as a niche product on the fringes of the market, blockchain has for some time now been garnering the attention of experts in various industries, and has increasingly been in the spotlight of the media. It enables peer-to-peer transactions &#8211; with which every participant in a network can transact directly with every other network participant without involving a third-party intermediary. The <em>blockchain innovation</em> is that transactions are no longer stored in a central database, but distributed to all participating computers, which store the data locally. Using four key concepts of blockchain technology, this article will help you understand the same.<br></p>



<blockquote class="wp-block-quote is-style-large"><p>“Blockchain solves the problem of manipulation. When I speak about it in the West, people say they trust Google, Facebook, or their banks. But the rest of the world doesn’t trust organizations and corporations that much — I mean Africa, India, the Eastern Europe, or Russia. It’s not about the places where people are really rich. Blockchain’s opportunities are the highest in the countries that haven’t reached that level yet.” </p><p> <br><strong>Vitalik Buterin </strong></p><cite> <br></cite></blockquote>



<h2><strong>The concept of decentralized systems</strong></h2>



<p>Decentralized systems enable us to store assets in a network that can be accessed over the Internet. These assets can be anything &#8211; ranging from a small data entry to meticulously prepared documents. Through decentralized systems, the owner has direct control of them via their private key, which is directly linked to the assets. The owner can transfer the assets whenever desired, and to anyone.<br></p>



<p>The core idea of decentralized systems is to remove the control of a single entity like a government, a bank, or a multinational company in the network. Decentralization could help us in the following way:</p>



<ul><li><strong>Empowered users</strong>: Decentralized systems allow the users to keep control of all their information and transactions.</li><li><strong>Fault tolerance</strong>: Decentralized systems are less likely to fail accidentally because they rely on many disparate components.</li><li><strong>Durability and attack resistance</strong>: Because blockchain does not have a single point of control and is able to survive malicious attacks, the decentralized systems make it extremely hard to attack and destroy, or manipulate data.</li><li><strong>Free from scams</strong>: It is much harder for users in decentralized systems to indulge in ways that will benefit them by causing harm to other users.</li></ul>



<h4>Other benefits include</h4>



<ul><li><strong>Removing third-party risks</strong>: This technology enables users to make an exchange without the intermediation of a third party, thus eliminating risk.</li><li><strong>Lower transaction costs</strong>: By eliminating third-party intermediaries and overhead costs for exchanging assets, blockchains have the potential to greatly reduce transaction fees</li><li><strong>Transparency</strong>: Changes to public blockchains are publicly viewable by all parties creating transparency, and all transactions are immutable, meaning they cannot be altered or deleted.</li><li><strong>Authenticity</strong>: Because of the decentralized system the blockchain data is complete, consistent, timely, accurate, and widely available.</li></ul>



<p>The Internet transformed our lives by decentralizing the access and flow of information. The next phase has now begun. Causing the paradigm shift, blockchain technology can truly influence industries and make the processes more democratic, secure, transparent, and efficient.<br></p>



<p><strong>Suggested Reading</strong>: <a href="https://deqode.com/blog/blockchain-fintech-101/">An Introduction to Blockchain for FinTech</a></p>



<h2><strong>The concept of distributed ledger</strong></h2>



<p>Blockchain in its simplest form is a public ledger that provides information of all the participants and all digital transactions that have ever been executed. A <em>block </em>is the prevailing part of a blockchain which is supposed to keep the record of the recent transactions, and once they are completed, it goes into the <em>chain</em>. Blocks are added in a sequential manner with the <em>next </em>block containing the <g class="gr_ gr_10 gr-alert gr_gramm gr_inline_cards gr_run_anim Grammar only-ins doubleReplace replaceWithoutSep gr-progress" id="10" data-gr-id="10">hash</g> of the previous block. A new block is generated as soon as the previous block gets entered in the blockchain database.</p>



<p>This process helps in recording of each transaction and sharing it across the network. Every user in the network can validate transactions and has an identical copy of the ledger to which the encrypted transactions can be added. Any changes to the ledger are reflected in all copies in minutes, or in some cases, seconds. Through the use of keys and signatures, the security and accuracy of assets is maintained cryptographically and are controlled by the participant. The end result is a highly efficient and secure method of performing transactions and it serves as an online ledger keeping record of transactions that can’t be changed.<br></p>



<p>Additional benefits that this concept provides is:<br></p>



<h6><strong>Fraud protection</strong></h6>



<p>Firstly, nothing can be changed on blockchain &#8211; and as the ledger is present across multiple nodes, it is easier to track.</p>



<h6><strong>Management</strong></h6>



<p>Secondly, with all transactions being added to a single public ledger, it reduces the clutter and complications of multiple ledgers.</p>



<h6><strong>Ownership</strong></h6>



<p>Thirdly, distributed ledgers can provide new ways of assuring ownership and provenance for goods and intellectual property.</p>



<h6><strong>Removal of mediator</strong></h6>



<p>Blockchain removes the need of a mediator and replaces it with a network. In this way, it can also decrease the settlement times of many payments transactions.</p>



<hr class="wp-block-separator is-style-dots"/>



<p>The two concepts discussed above show how blockchain provides a tamper free environment for the participants in the network. Blockchain network automatically checks and updates itself every few minutes. This helps in providing a self-reviewing and a robust system, and results in:<br></p>



<h6><strong>Transparency</strong></h6>



<p>All data is embedded within the network which makes it public.</p>



<h6><strong>Immutability</strong></h6>



<p>If anyone tries to alter the block data on the blockchain, it would require a huge amount of computing power to get ahead of the entire network. Hence, it proves that the system cannot be corrupted easily.</p>



<h6><strong>No single point of failure</strong></h6>



<p> All the data is linked and verified at every block.</p>



<hr class="wp-block-separator is-style-dots"/>



<p>The nodes, together, create a very powerful network. Every node is an <em>administrator</em> of the blockchain. Nodes have incentives for participating in the network. They compete in order to have the chance of winning digital currencies by solving computational puzzles. This way, these specific nodes are said to be <em>mining</em> for the recent blocks which contain all the details of the recent transactions.<br></p>



<p>The following two concepts complement these features:</p>



<h3><strong>The concept of hashing</strong></h3>



<p>There are many cases where authenticity of data and documents is very important. Many organizations have very sensitive documents, assets, or contracts that need to be protected. When data, a file, or a document is stored, a hash is created for each file. A hash is like the fingerprint that through an algorithm, turns data into an output of fixed length which is unique for every single transaction.<br></p>



<p>Every block can be divided into two parts, namely the header and the transaction part. The header includes the previous block’s hash and it references the previous hash it is building upon. It also stores the hash of the current transaction which is meant to be connect the next block when added. The blockchain is distributed and updated with the new block added. In this way, other locations can continue to maintain it if any of the copy of blockchain is compromised. This makes the blockchain immutable. By comparing the hash of the data the authenticity of the data can be verified which helps in achieving an independently verifiable system.<br></p>



<h3><strong>The concept of minting</strong></h3>



<p>There are many ways through which one can <em>mint coin</em>. As mentioned above, the most observed method is mining, but other methods have also been proposed. Let us take the case of one of the most popular cryptocurrency: Bitcoin. The Bitcoin community uses mining. Now, every network uses a ‘consensus’ algorithm for facilitation. Bitcoin uses an algorithm called &#8216;Proof of work&#8217;. It is a protocol by which somebody can effectively prove that they have engaged in a significant amount of computational work.<br></p>



<h6>The idea behind mining is that it requires solving a computational puzzle. </h6>



<p>The role of the miner is to create the block containing a number of latest transaction, it has to encrypt data by all the computational process and thus provide the proof of work. The miner gets rewarded financially by doing it. The miners compete with each other in order to be the first one to add the recent block on the top of the blockchain. The added block is then verified by other nodes when other blocks are added on top of it.<br></p>



<h6>Let us try to understand another algorithm for better clarity: Proof of stake. </h6>



<p>It does not involve any computational work at all. The idea is that traditional mining seems to have an unnecessary step &#8211; the miners earn monetary rewards in the form of Bitcoin using which they have to spend money &#8211; in order to buy power and equipments in order to operate their mining rigs &#8211; which will again be used to solve puzzles and in turn the get earn reward. In Proof of stake, the process of achieving the same goal is quite different. The creator of new block is chosen depending on the stakes. This helps in removing the external step of having to use the actual power and actual hardware. It would also help in lowering the overall cost of the mining process.<br></p>



<blockquote class="wp-block-quote is-style-large"><p>“The blockchain is an incorruptible digital ledger of economic transactions that can be programmed to record not just financial transactions but virtually everything of value.” <br></p><cite> <br>Don &amp; Alex Tapscott, authors Blockchain Revolution (2016) </cite></blockquote>



<p><strong>Must read</strong>: <a href="https://deqode.com/blog/blockchain-use-cases-in-automotive/">Why it&#8217;s time for automotive industry to take a leap of faith into blockchain</a></p>



<h6>It is worth noting that a blockchain can also be private. </h6>



<p>They could be made accessible only to invited members and validated by administrator(s) or a semi-autonomous guiding algorithm. Public blockchains are truly open disintermediated networks, but private blockchains are often used to coordinate closed networks holding sensitive information. These private blockchains will likely be the prevailing means for storing disintermediated energy information like meter and payment data.  </p>



<p>One of the major uses of blockchain that has popularized the technology is smart contracts. A smart contract is similar to a contract in the physical world. But, it’s digital and is represented by a computer program stored inside a blockchain. Smart contracts are pretty important to understand to get a deeper look at the utility of blockchain technology.</p>



<h3><strong>Smart contracts</strong></h3>



<blockquote class="wp-block-quote is-style-large"><p>The classic example used to demonstrate smart contracts in the form of code executing automatically is a vending machine. Unlike a person, a vending machine behaves algorithmically; the same instruction set will be followed every time in every case. <br>When you deposit money and make a selection, the item is released. There is no possibility of the machine not feeling like complying with the contract today, or only partially complying (as long as it is not broken). A smart contract similarly cannot help but execute the prespecified code. As Lessig reminds us, “code is law” in the sense that the code will execute no matter what. This could be good or bad depending on the situation; either way, it is a new kind of situation in society that will require a heavy accommodation period if blockchain-based smart contracts are to become widespread.</p><p><strong>Melanie Swan</strong></p><cite> <br>Blockchain: Blueprint for a New Economy </cite></blockquote>



<p>A smart contract is a piece of software that stores rules for negotiating the terms of an agreement. It also automatically verifies fulfillment, and then executes the agreed terms. Since a smart contract removes reliance on a third party when establishing business relations, the parties making an agreement can transact directly with each other. </p>



<h4>A smart contract is stored inside a blockchain &#8211; where all data is stored in a distributed manner, so no one is in control of the data. </h4>



<p>In a decentralized business model, smart contracts replace any other trusted third party. Smart contracts are implemented within blockchain, therefore they inherit some of its features:<br></p>



<ul><li><strong>Immutability</strong>: A smart contract can never be changed, therefore no one can tamper with or break a contract</li><li><strong>Distributed</strong>: Just like any transaction on a blockchain, everyone in the network validates the outcome of the contract. Distribution makes it impossible for an attacker to force control to release funds, as all other participants would detect such an attempt and mark it as invalid</li></ul>



<hr class="wp-block-separator is-style-dots"/>



<p>Blockchain technology could provide the infrastructure for sophisticated networks that manage payments, sales, trading, and distribution. Given their potential to streamline transactions and cut costs, blockchains and smart contracts could help to remove pain points and friction throughout the power value chain. To learn more about how blockchain could help your business, <a href="https://deqode.com/contact">drop your email address here</a>.</p>



<p>You may also like: <a href="https://deqode.com/blog/blockchain-and-sme/">Forecasting blockchain’s impact on SMEs in coming five years</a>.</p>
<p>The post <a rel="nofollow" href="https://deqode.com/blog/2019/02/12/concepts-blockchain-technology/">Key Concepts of Blockchain: The Very Basics of Blockchain Technology</a> appeared first on <a rel="nofollow" href="https://deqode.com/blog">Deqode Blog</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://deqode.com/blog/2019/02/12/concepts-blockchain-technology/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/


Served from: blog.deqode.com @ 2026-10-16 20:01:57 by W3 Total Cache
-->