DEV Community

Sahul Kumar Parida
Sahul Kumar Parida

Posted on

What are Smart contracts?

Smart contracts (also called distributed apps)
are very popular nowadays.

But what are they and what problems do they
solve?

The term “smart contract” was first used by Nick Szabo in 1997, long before Bitcoin was created. He is a computer scientist, law scholar and cryptographer so I’ll spare you his exact words.

But in simple terms: he wanted to use a distributed
ledger to store contracts.

Now, smart contracts are just like contracts
in the real world.

The only difference is that they are completely
digital.

In fact a smart contract is actually a tiny
computer program that is stored inside a blockchain.

Let’s take a look at an example to understand
how smart contracts work.

You probably are familiar with Kickstarter,
the large fundraising platform.

Product teams can go to Kickstarter, create a project, set a funding goal and start collecting money from others who believe in the idea.

Kickstarter is essentially a third party that sits between product teams and supporters.

This means that both of them need to trust Kickstarter to handle their money correctly.

If the project gets successfully funded, the project team expects Kickstarter to give them the money.

On the other hand, supporters want their money to go to the project if it was funded or to get a refund when it hasn’t reached its goals.

Both the product team and its supports have to trust Kickstarter.

But with smart contracts we can build a similar system that doesn’t require a third-party like Kickstarter.

So let’s create a smart contract for this!

We can program the smart contract so that it holds all the received funds until a certain goal is reached.

The supporters of a project can now transfer
their money to the smart contract.

If the project gets fully funded, the contract automatically passes the money to the creator of the project.

And if the project fails to meet the goal, the money automatically goes back to the supporters.

Pretty awesome right?

And because smart contracts are stored on a blockchain, everything is completely distributed.

With this technique, no one is in control of the money.

But wait a minute!

Why should we trust a smart contract?

Well because smart contracts are stored on a blockchain, they inherit some interesting properties.

They are immutable and they are distributed.

Being immutable means that once a smart contract is created, it can never be changed again.

So no one can go behind your back and tamper with the code of your contract.

And being distributed means that the output of your contract is validated by everyone on the network.

So a single person cannot force the contract to release the funds because other people on the network will spot this attempt and
mark it as invalid.

Tampering with smart contracts becomes almost
impossible.

Smart contracts can be applied to many different
things, not just on crowdfunding.

Banks could use it to issue loans or to offer
automatic payments.

Insurance companies could use it to process
certain claims.

Postal companies could use it for payment
on delivery, and so on and so on…

So, now you might wonder where and how you
can use smart contracts.

Right now there are a handful of blockchains
who support smart contracts, but the biggest
one is Ethereum.

It was was specifically created and designed
to support smart contracts.

They can be programmed in a special programming
language called Solidity.

This language was specifically created for
Ethereum and uses a syntax that resembles Javascript.

Its worth noting that Bitcoin also has support
for smart contracts although it’s a lot more limited compared to Ethereum.

So now you know what smart contracts are and
what problem they solve.

Signing Off!!!Peace Out✌️

Discussion (0)