Thursday 10 May 2018

Blockchain Technology : Smart Contracts

Origin of Smart Contract

Smart contract concept was developed by "Nick Szabo" in 1994 with the goal of bringing practices of contract law and practice to  design the electronic protocols between strangers on the Internet. Bitcoin emerged the use of contracts/blocks on a blockchain. Ethereum has made smart contracts operational along with the facility of ready made templates for various purposes. Smart contracts in general can be used to form any type of agreement that consists of specific & precise conditions and outcomes.

What is Smart Contract ?

  • Smart Contract is a set of rules in the form of programming  code that adds layers of information onto digital transactions being executed on a blockchain. 
  • Smart contracts are digital programs or contracts which may be executable or kick starter. They execute the instructions given to them automatically.
  • To process a Smart Contract a blockchain is required and Contracts can be encoded on any blockchain.
  • Blockchain is a virtual machine and it runs a smart contract.
  • Smart contract is the basic unit of programming a blockchain for business purposes.
  • Smart contract creates assets or tokenize existing assets on a blockchain.
  • A smart contract enforces terms of the agreement through programming crypto-graphically.
  • Smart contracts ensures a specific set of results. 
  • Smart Contracts are formed with the combined work of two parties "Software Developer" and "Lawyer". So a need for litigation is not required for that.
  • Smart Contract is an agreement between all bodies involved in a transaction that holds everyone involved responsible for their role. 
  • Smart contracts facilitate to perform required transactions without any involvement of 3rd party.
  • All the transactions performed by a smart contract are track-able this enables to maintain transaction history for records. Such transaction can not be reversed. 
  • Instead of simply exchanging digital tokens for a service or a product, smart contracts facilitate with more complex transactions through them. 
  • Benefits of using smart contracts instead of traditional contracts are increased speed, efficiency & trust among the parties.  

 

How Smart Contract Works ?

Smart contract is formed with the consultation of lawyer on legal terms and with the help of a programmer who code those terms and write set of rules in the form of program. 
That set of rules i.e. smart contract is then placed in a block of a blockchain. 
This contract is spread and copied multiple times between the nodes of a blockchain. Now whenever a smart contract get triggers by a request on blockchain then the programs of smart contract gets executed and perform actions as per written terms and conditions. The program verifies implementation of the rules by itself.

Smart Contract Example

Payment settlement after a job is complete. 
Assuming that their are two parties in which a payment has to made based on a job. In this case a smart contract plays an automatic and trustworthy role. A legal contract is made between a client and vendor based on various terms and conditions. Payment is made based on these terms. On start of the contract full payment is made by the client and it goes to an intermediate wallet. This payment will be release to vendor on completion of the job and only when both of the parties agrees. If any of the party disagrees and terms of the contract are not full filled the wallet payment goes back to client automatically.

 

Anatomy of a Smart Contract

Elements of a contract are mutual consent, consideration, capacity, and legality. 

Formation of Smart contracts depends on the information of
- Various parties involved,
- Their obligations,
- Time, 
- Terms and Conditions,
- Host that will execute contract code,
- Contract Outcomes

Three main stages during the formation of a smart contract -
First : Translating the terms of the contract into code. 
2nd : Ensuring the mutual consent from all parties for the correctness & outcomes of the code written for contract.
3rd : Execution of the code in impartial way so that results are always trustworthy and precise.

Coding Structure of a Smart Contract
A contract is similar to a class. A contract code is consist of state variables, functions, function modifiers, events, structures, and enums. It supports inheritance and polymorphism concepts of Object oriented programming. 


Example : Structure of Smart Contract Program


.
Code for a contract of simple Cryptocurrency








Solidity is a contract-oriented programming language for writing smart contracts. It is used for implementing smart contracts[2] on various blockchain platforms. It was developed by Gavin Wood, Christian Reitwiessner, Alex Beregszaszi, Liana Husikyan, Yoichi Hirai and several former Ethereum core contributors to enable writing smart contracts on blockchain platforms such as Ethereum.







Thursday 3 May 2018

Block Chain Technology : Advantages and Disadvantages


Block-chain. What is Block Chain Technology ?
The concept was brought in to existence within the context of a  crypto currency Bitcoin in 2009. But innovative engineers have envisioned many other ways for distributed ledger technology to benefit the world. 

It will have some very profound applications for society over the years to come. Companies like Microsoft Azure has already announced Coco Framework for enterprise block-chain networks and Ethereum has launched it block chain app platform years ago. Amazon, Microsoft Azure and IBM Bluemix rolling out Blockchain-as-a-Service (Baas) from the cloud.
https://blog.antheminfotech.com/2018/04/block-chain-technology-introduction.html

The block chain technology cannot be said exactly a revolution. But it can be compared to the nature of a tsunami which slowly advances and gradually envelops everything along its way by the force of its progression.
The world is preoccupied with dissecting, analyzing and prognosticating on the block chain's future. Technologists, entrepreneurs are in dilemma if it is to be considered panacea or poison. Lets look at few pros and cons of this technology below that may help to make up their decision.


Disadvantages of Block Chain Technology

  • Being new its less Adaptive. Every new technology that is confusing, fast-moving and disruptive is going to be controversial. Its adaption will be met with resistance because it is an extreme change. This technology is not mature enough to be directly trusted.
  • Lack of regulations. Block chain startups are suffering from a crippling, archaic, and antiquated state regulatory system - and it's driving innovation abroad.
  • Low Performance. Performance issues due to its mechanisms of signature verification, consensus and redundancy. It makes block chain slow data processor than centralized database approach.
  • Higher Energy Consumption. Every node runs a consensus to ensure the zero downtime, fault tolerance and immutability of data on it. Every node repeats it, which is wasteful and requires money and energy. Mining is required to support the block chain network. It requires resources like costly machines and electricity. Due to lack of required electricity only 60% of mining is done in China.
  • Complexity and lesser resources. The block chain concept is complex to understand and there is a small community of developers at present. So it becomes difficult for inverters to trust the credibility of new developing party.
  • Lack of exposure. Being new and less exposed for everyone existing market finds it of limited use. Learning of new technology and its adaption takes extra time.
  • High development & setup cost. No doubt block-chain offers various time saving and cost effective mechanisms but initial development and setup cost of software developed over this technology is comparatively high. 
  • Upgrade requires funds. To update the existing technology investments are required.
  • 404 errors. Errors occurs when the block-chain network is not properly maintained. So incentives needs to be distributed to keep the flame lightened. 
  • Complexity in coding. Developing decentralized apps are not so easy and it is difficult to comprehend the written code. Smart contracts can't call external APIs. 
  • Memory Issues. Size of block with time gets so huge which takes lots of space on block chain network. In some cases i.e. bitcoin it took 100 gigabytes of space and on the other hand 200 Gigabytes space in Ether block chain. 

Advantages of Block Chain Technology

  • Disintermediation. It has made it possible for humanity to reach a consensus about a piece of data without having any authority to dictate it. It shifts in power from the centers to the edges of the networks.
    It offers disintermediation of 3rd party organizations to avoid reuse of the important information about users for other purposes. With the decentralization of trust, we will be able to exchange anything we own and challenge existing trusted authorities and custodians that typically held the keys to accessing our assets or verifying their authenticity.
  • Mutuality of database. An opportunity to mutuality of database infrastructure across entities within financial services. That  translates it into is an enormous cost-saving, risk-reducing, and capital-enhancing opportunity. 
  • Secure Identity. In block chain people can exchange data without knowing the identity of each other in a secure way. Trust, value distribution and security layer enables it to reach above goal.
  • Control shift. Most of the technologies tend to automate employees on the periphery doing menial tasks, but on the other hand block chain technology automates away the center. Example : Instead of putting a taxi driver out of a job, block chain puts Uber out of a job and lets the taxi drivers work with the customer directly.
  • Trust by proof. It replaces third-party trust with mathematical proof that something happened.
  • Data Ownership. A block chain based medical records system can safeguard patient data and allow for improved process between doctors and hospitals and it can also give patients more ownership over their own records.
  • Time saving through Disintermediation. It is going to change the way that our financial world operations. It takes 1-3 days to settle a payment due to involvement of 3rd party. The direct bank to user verification will cut the cost and time in the process. It reduces the post settlement duration from days to minutes. Transactions happens instantly , however it may take time to process and approve the transaction.
  • Proof of work and Hashing mechanisms makes a block chain immutable and secure. Data in the block chain can't be altered or deleted.
  • Block chain makes things transparent, democrat, secure and efficient.
  • The block chain technology allows users to use it where there's record keeping, everything where there's trust around record keeping and it allows us to make that digital, immutable, permanent, decentralized  and global.
  • It saves time, saves money and saves effort to manage a centralized database.
  • Block chain is held in the cloud by all the parties involved. It's cryptographically so strong that it can not be broken. Example : To take over the Bitcoin you would have to compromise its  entire network.
  • Block chain is an asset normalization platform that can enable a new liquidity in transactions creating large networks of usage and value effects with benefits in speed, cost, quality  or outcomes.
  • It offers permanent and a secure database for ages. To be noted,  Block chain is not a Database management system. 

With this i would like to summarize my post here. New technology bring along both new benefits and drawbacks. At least we should listen about it and give it a try. Humanity has always worked for making the things easy, useful and advance.

I will keep sharing about block-chain technology in upcoming posts. Keep reading, keep gaining. 

You may know more about Blockchain Technology through below articles
Blockchain Technology : Introduction
Blockchain Technology : Smart Contracts

Cheers for happiness !

Thursday 26 April 2018

7 Years of Anthem Infotech Pvt. Ltd : A Software Product Development Company


Anthem Infotech Pvt. Ltd is celebrating 7 years of its establishment and successful services.

About Company 

This software product development and maintenance company was established on 26th April,2011. They are a proficient Web & Mobile Applications development team with core skills in Microsoft Stack which mainly consists of Asp.net/ MS SQL Server/ .Net Framework / Azure / C# / OOPS. With underlying technologies such as Entity Framework, HTML5, Windows presentation framework (WPF), Web REST API, Sql Server Reporting services, Jquery, AJAX and many open source frameworks that can be plugged into MS Stack. We also handle hybrid mobile apps in Xamrin and PhoneGap.




Important Links about Anthem Infotech Pvt Ltd

Company Website Review Website Here
Company Broucher View Broucher  
Facebook Page Visit Facebook Page
Twitter Page View Twitter Page
Linkedin Page View Linkedin Page

Services 

.NET Application Development

ASP.NET is a unified Web development model that includes the services necessary for you to build enterprise-class Web applications with a minimum of coding.

Software Product Development

Anthem Infotech Pvt. Ltd. with its experienced staff offers solutions and not just code or pages. We believe in the thoughtful processes, one of our core strategies is to think and do and not do and think. Read More

Software Maintenance

We offer a team that will work towards minimizing your Software Maintenance cost, workout schedules and plan of action for short term and long term goals. Quite simply we are the best that team you never had. Read More

Mobile App Development

We are a Mobile application Development company which develops smart, interesting and intelligent solutions. We deliver iOS (iPhone & iPad), Android and Windows Mobile Apps in both Native and hybrid code.

Website Designing Service

Anthem Infotech offer Web Designing Service either as part of a big picture solution or as standalone services, if you wish. You can either ask us to design your website for you as per your needs.

Search Engine Optimization

Search engine optimization (SEO) is the process of improving the visibility of a website in search engines via the "natural" or un-paid ("organic" or "algorithmic") search results.

Projects 

Company projects can be seen here.
They are specialized mainly in Microsoft technologies (Asp.net/ Asp.net MVC/ Asp.net Core/ MS SQL Server/ .Net Framework / Azure / C#.Net). 
They thrive on building Enterprise Solutions, Software Products, B2B applications and lot more that help people and businesses to compete and perform better. Their approach is to understand requirements thoroughly, ask the suitable questions to prepare best plan, executing it in timely manner with customer feedback and to produce a best solution.

 

Approach

  • Listen to the customer.
  • Asking enough & relevant questions to know and get the customer to identify what they want to accomplish.
  • Explain what we are going to do and answers customer questions in terms the customer can understand.
  • Doesn’t reinvent the wheel when there are existing scripts or tools to get things done.
  • Gives a reasonable estimate of the cost and time.
  • Gets the project done as per commitments.
  • Alert the customer if project is going beyond the agreed scope or budget and provide a valid reasoning for the same.

Contact 

They can be contacted from the contact us section which is on the footer of every page on their website or you can directly email them at info@antheminfotech.com

 

Monday 9 April 2018

Block Chain Technology : An Introduction

What is Block Chain Technology ?

As per a Developers : It is a set of protocols and encryption techniques to store data securely over  distributed network. It works like a Digital Ledger over a  distributed network. Data stored in it is temper proof and immutable.
As per Technology : It is a driving force which will lead us to develop next generation of Internet i.e. Web 3.0/Decentralized web.
Others : It is a tool for decentralized world to remove the deficiencies in our traditional system. It will create trust between parties 
Read : Pros and Cons of Block Chain Technology 

Defining Blockchain Process

History

In year 1991 a group of researchers brought Digital Time Stamps as Block chain concept. 
It was brought to reality by "Satoshi Nakamoto" in year 2009 in the form a digital cryptocurrency named "Bitcoin". 
In later 2013 Ethereum was proposed by a cryptocurrecy researcher and a programmer named  "Vitalik Buterin".

Areas of Use

- Block chain technology's version 1.0 was used to develop Cryptocurrency like Bitcoin. Bitcoin is a peer to peer electronic cash network.
- Block chain technology's improved version i.e 2.0 by used by Ethereum. On this plarform programmers have developed Social Network Applications, Identity systems, Prediction Market Applications, Financial Applications on Ethereum.
-Tech community is finding other potential uses of the technology.
Financial Applications : To redesign the costly legacy workflows to overcome 3rd party centralized management, transaction processing time and transaction fees issues.
Health Care Applications : To remove the need of 3rd party verification firms to link patient health records.
Retail & Manufacturing : To develop a decentralized better supply chain.
Government : For tax collection and to develop a system for traceability and transparency that how the funds are being collected and spent.

Composition of a Block Chain

Data in a block chain is stored in cryptographic chain of blocks which are interlinked with each other. An individual Block contains Data(1), Hash(2), Hash of Previous block(3).

1. Data : Is like From, To, Amount or other Information . 

2. Hash : It can be a GUID or a finger print impression which will be always unique through out the block chain. Hashing algorithm can be different for generating  hash values for different block chains. 

3. Hash of Previous block : Stored Hash ID of previous block.

Genesis Block : It is the first block of the chain which do not contain the previous hash value and block chain begins from this special block.
Block Chain Composition



Why Block Chain is so Secure !!!

Distributed Network : The factor that makes a block chain secure is that the data is on a Peer to Peer Network. That means on distributed network . Its like we have a common register to mark daily attendance and to get the final attendance of whole office that sheet has to be passed through every desk to get employee signature based attendance.
At every stage, the network of participants must agree about the latest block of transactions. By a  process of eliminating duplicate entries, majority consensus, double checking etc agreement about new block is made. With this and with the systematic layering of the blocks a block chain becomes irreversible and immutable.  
No Tempering : If someone tries to change the Hash of a block it will no longer be the same block and its reference to previous and next block breaks. And other nodes will not accept this  copy of block and this is how  data tempering of data becomes impossible in a block Chain.
Proof of Work : This mechanism is based on slow and steady moral. In this programming world their can be intelligent minds that can write algorithm to alter whole block chain hash values through probability matrix. But for that they have to go through number of blocks quickly and rearrange the values. To avoid this situation block chain  technology slows down the formation and alteration of a block. Generally 10 minutes per block. With this if anyone tries to run its algorithm to change whole chain hash values , that becomes impossible due to non availability of resources on time. 
Block Size : In a block chain a block size never exceeds 1 Mega Byte.
Prefixed  Zeros : Prefixed/Suffixed zeros in hash values of blocks by block chain developers increase the complexity of understanding the hash algorithm and it slows down the traceability of blocks in a block chain.
Private key : Example eWallet account protection through password. Public/private key cryptography enables messages to be encrypted or translated into a random set of characters. Whenever a message is encrypted with the public key only the holder of the respective  private key can decrypt it.
Network Consensus

Companies that are working on Block Chain Technology

1. Infosys
2. Anthem Infotech Pvt. Ltd [ http://antheminfotech.com ]
3. Microsoft Azure
4. IBM
5. Ethereum

Related Terms

Smart Contracts : Algorithms which can execute automatically. It can be said that in Block chain version 2.0 smart contracts have replaced the limited static information with smart contracts.
Bitcoin : A digital money distributed over peer-to-peer network.
Ethereum : Ethereum is open source public block chain based distributed platform which is featuring smart contracts. It assumes each block a separate virtual machine.It is a largest network for software developers to develop and build distributed block chain based applications.
Ether : Is a crypto currency whose backbone block chain was based on Ethereum platform.
Mining : Is a process to predict the correct block address to submit the verification in distributed network consensus. First submitter among all the miner gets monitory reward for each submission. Mining needs special hardware setup and electricity consumption.

Thanks for reading an introduction about Block Chain above. I am not making this post too long so i will be sharing the detail of the terms i have used above for introduction in my upcoming articles.
Blockchain Real World Scenario

I have kept this article very precise and at high level. I will keep sharing about this technology in upcoming articles. Keep reading , keep gaining. 

Blockchain Technology : Pros and Cons
Blockchain Technology : Smart Contracts


Cheers for happy life !!!





How to get code from a published ASP.Net build where we don't have source code?

If you have ever lost or misplaced your source code for an ASP.Net web application, you might wonder if there is a way to recover it from th...