I am sorry to disagree.
"Once in the blockchain, as it is decentralized, there is no "owner" anymore and the creator cannot change the contract anymore"
The owner cannot change the smart contract, but the smart contract purpose is to issue tokens. Most smart contracts have function to mint, remove tokens. This is complete centralization. You can call the smart contract functions from outside and ask it to block addresses, move money from one address to another, mint more tokens etc... The functionalities of the smart contract are totally centralized.
Located here:
https://github.com/NicolasChoukroun/10X-Token/blob/master/10XToken.solCheck the functions of this ERC-20 compatible contract
// Add tokens manually to the game in ether
function addTokens(uint256 _mintedAmount,string _password) external onlyOwner protected(_password) {
require(_mintedAmount * 1 ether <= 10000000 * 1 ether); // do not add more than 1 Million token, avoid mistake
safeAdd(totalTokenSupply ,_mintedAmount * 1 ether);
}
// Sub tokens manually from the game
function subTokens(uint256 _mintedAmount,string _password) external onlyOwner protected(_password) {
require(_mintedAmount * 1 ether <= 10000000 * 1 ether); // do not sub more than 1 Million Ether, avoid mistake
require(_mintedAmount * 1 ether > totalTokenSupply); // do not go under 0
safeSub(totalTokenSupply ,_mintedAmount * 1 ether);
}
These functions allows the owner of the smart contract to add or remove tokens. Isn't that complete power of centralization?
// change the blacklist status of an address
function setBlacklist(address _adr, bool _value, string _password ) onlyOwner external protected(_password){
require(_adr>0);
require(_adr!=owner);
blacklist[_adr]=_value;
}
// change the blacklist status of an address internal version
function setBlacklistInternal(address _adr, bool _value) onlyOwner internal {
require(_adr>0);
require(_adr!=owner);
blacklist[_adr]=_value;
}
// get the current status of an address, blacklisted or not?
function checkBlacklist(address _adr ) constant external onlyOwner returns(bool){
return blacklist[_adr];
}
mapping (address => bool) blacklist;
}
These functions are blacklisting people based on their address... pretty cool?
Imagine if Bitcoin or Dash, or Litecoin was doing that?
Yet Solidity allows smart contracts to do this.
And I do not talk about the fact that Smart contracts can scrape variable from outside, using the Oracle system... which can be discussed another time.
I think that you are mistaken in thinking that a Smart Contract is as good as a blockchain, because it is saved into a blockchain.
It is nothing more than a script saved in a block that can be executed by a node... but it is totally in control of the owner, who can control his tokens the way he wants and without oversee from outside by calling the smart contract and ask him to do what he wants.
Smart contracts are by definition centralized, the owner can stop it, start it, and do whatever he wants, the users of the smart contracts are naked, powerless and can lose everything.
So from the start a smart contract is a blockchain fraud.
The success of the smart contracts is just because it is an easy way to clean money by the mafia. They buy at the ICO, sell at the introduction and they have clean Bitcoins. Easier than any other washing money scheme.
Hello,
I don't know where you read this, but you are completely wrong. Please don't spread this nonsense.
Smartcontract is a great innovation. It is a tamperproof digital agreement that once created none of the parts control. The smartcontract can be audited and registered in the blockchain. Once in the blockchain, as it is decentralized, there is no "owner" anymore and the creator cannot change the contract anymore, as it is already in thousands of computers (i.e. in the blockchain).
It is a great innovation because the smartcontract will be executed as written. You cannot say "I know I owe you 500 thousand dollars, but I won't pay. You can start a lawsuit against me, which will cost you thousands of dollars and take years, or we can arrange a discount now" . This is very common around the world, and smartcontracts will not allow that (funds will be under custody of the smartcontract, which none of the parts control, and there is no third party also).
There is no fraud in it.
ICOs have nothing to do with smartcontract. ICO is just a new funding method, and you can fund whatever you want through it. The problem with ICO are not the smartcontracts (which are sometimes used during the funding phase to send the tokens to whoever paid ETH), but the people involved and scams attempts.
What you are saying is basically that technology is bad because there are scammers out there. Bitcoin is also used by "mafia" to receive funds and wash money. Is it a fraud as well? Pablo Escobar created a fake Taxi Service to wash money, so let's call all taxis a fraud?