1

I still don't quite understand what is so innovative about smart contracts because it sounds like a general conditional statement to me. Is it merely about automating contracts with computer programs or am I missing something?

1

Smart contracts on their own are just conditional pieces of code indeed, very simple ones often. The most similar reference are Ricardian Contracts.

The name smart contract stems from the idea that the contract's logic is the enforcer and not an external judical system.

It's when these smart contracts are put on a blockchain or DLT to be interacted with through the network that they become interesting because now they are distributed.

  • The contract is immutable and public (we can easily gauge expected behaviour as outsider)
  • There is an audit trail (every state change has to happen through a transaction)
  • Transactions can now be sent when conditions are mutually agreed upon and enforced by code which can't be altered by either party during the process.

On a traditional backend one has to keep logs of everything for it to be auditable. These logs are only stored on a centralized server and can be faulty (someone can change these if the changes to the logs aren't logged themselves).

  • Strongly agree. Blockchain with the executable codes is innovative. – sflow Mar 2 '18 at 1:51
2

The innovation is the fact that because of the decentralized network of nodes that the code runs on, they provide certain guarantees[1] that cannot be provided by traditional backend code.

Some examples of smart contracts that do something not possible by regular backends (with the same guarantees):

  • A "slot machine" contract that is provably fair (you can verify that the code that is running behind the slot machine is the same as some open-source code that can be published). The proceeds can be routed to a particular NGO, or the "players" of the slot machine can even vote on which NGO the funds should go to. Because smart contracts are immutable, the code is guaranteed not to change, or re-route the money (with the same caveats here[1]).
  • A social network which stores everything in encrypted form on the blockchain, in which not even the developers of the code/other infrastructure have access to your information – only "friends" that you approve using smart contracts have access.

Basically, the draw is that blockchains are decentralized, and they remove the requirement of trusting any one organization to continue operations, or at least continue them in good faith. If data is store on the blockchain, it is public, and anyone theoretically is free to build UI on top of those "interfaces".

[1] Not literally guarantees because the network can "fork" if 51% (this number differs for different blockchain implementations) of nodes go another way, but the difference is you put your trust into the unlikelihood of this happening, rather than into one centralized organization. The more nodes that are on the network, the less likely this is (in theory, at least).

  • I'd like to point out that an example about encrypted messages is not a very good example from decentralization's point of view. The data can't be decrypted within the network (without leaking the key). – Lauri Peltonen Mar 1 '18 at 10:24
  • @LauriPeltonen It's possible to encrypt messages for certain users using public-key encryption and their public key, and then put the encrypted message on the blockchain. But I agree with you that the example may be too convoluted for the purposes of this question. It's just one of my "go-to's" when explaining blockchain to laypeople, as it's something they can relate to. – elsurudo Mar 2 '18 at 10:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.