Term Smart Contract
is current standard name for a code deployed to a blockchain.
Originally proposed by Nick Szabo, and later adopted by Ethereum
Foundation. It may be a good name, but apparently it brings some
confusion and I think changes the path of the industry.
me, as non-native english speaker, it was just a term without any extra
meaning. I mean we have a very rich terminology in software
engineering, and for most of the people outside of english speaking
countries nobody thinks about literal meaning. Similar to “San Francisco” which is a name of the city now, and I believe nobody associate it with a religious place.
I started to realize that there is something wrong with the Smart Contract
term at 2017, when I noticed that when I talk to people in US about
Ethereum they quickly switch to a discussion about legal aspects and
agreements between people enforced on blockchain. It was even common to
hear something like “Oh, it must be for criminals, [as they can’t use traditional court to resolve disputes]”. Em, what??
The problem that it influences how people think about technology use cases. Once they got into the box of a contract
they can’t think outside of it. All the talks are about digital assets,
finance, escrow, insurance, tokenization, binary options, logistics,
etc. Even Ethereum Foundation, which were originally talking about “world computer”
is more focused on tokens and ICOs now. There are not technology talks
in blockchain conferences anymore. All talks about legal aspects,
regulations, jurisdictions and so on.
While it’s fine to develop something related to legal contracts, it moves technology into one narrow path. There is nothing wrong with Smart Contracts, but it’s just a subset of all possible solutions that can be deployed to blockchain. Maybe other things can leverage decentralized computing? Honestly I don’t think many of contracts needs any decentralization, most of current tokens/ICOs are pretty centralized with a single switch right in a smart contract. But nobody cares, so [for a contract] a decentralized trustless ledger not a critical feature at all.
In 90s there were a lot of talks about “Workstations”, instead of “Personal Computer”.
Fortunately PC won, and we have games, internet, Twitter, Instagram,
and other totally non-work things now. Maybe we wouldn’t have any of
this if we’d use Workstations, who knows.
So, if not Smart Contract, what would be a good name for a code deployed to a blockchain which is not necessary associated with legal aspects?
Blockend follows idea of Frontend, Backend. Ledgerware is from Hardware, Firmware, etc. And Chaincode is used by IBM Hyperledger already.
there are few common prefixes and suffixes, which can be mixed.
“Block-”, “Chain-”, “Ledger-” and “-end”, “-ware”, “-code”.
It seems that people liked Chaincode, though I think it has some problems with using it in a common software engineering context. I like Ledgerware, but maybe it doesn’t sound great too.
What could be other options?