Author

Topic: Smart contracts - How smart are they? (Read 418 times)

brand new
Activity: 0
Merit: 0
July 23, 2020, 06:48:21 AM
#22
Smart contracts need smart education tech development.
https://georgiatestprep.com/
legendary
Activity: 2870
Merit: 7490
Crypto Swap Exchange
July 23, 2020, 03:09:59 AM
#21
Smart contract are overrated, many problems still require oracle, which makes the usage of smart contract on blockchain is less useful due to :
1. Require to trust the oracle being honest or/and neutral (On many cases)
2. Less privacy, especially when oracle involved on case outside blockchain
3. Single point of failure on few cases where status quo will remain forever

Not all smart contracts depend on oracles.

I know, but many example of smart contract or goal of smart contract on specific platform/blockchain depends on Oracle.

That is only one application of smart contracts. I would bet that most smart-contracts on Ethereum don't issue tokens.
Most? Can you point out what those are? I have never seen an Ethereum-based smart contract that didn't issue a token before. Their developers always issue play-money to exchange for Bitcoin. Cool

DEX, video games, gambling & marketplace are good example. Take note some of them rely on Oracle.
legendary
Activity: 2898
Merit: 1823
July 23, 2020, 03:02:34 AM
#18
... but the smart contract purpose is to issue tokens.
That is only one application of smart contracts. I would bet that most smart-contracts on Ethereum don't issue tokens.


Most? Can you point out what those are? I have never seen an Ethereum-based smart contract that didn't issue a token before. Their developers always issue play-money to exchange for Bitcoin. Cool
legendary
Activity: 3122
Merit: 2178
Playgram - The Telegram Casino
July 22, 2020, 05:23:31 PM
#17
Thank the same people who condemned the critics of "turing-completeness on the blockchain/base layer" for proving them, the critics, right. Haha.

Although, should some experimentation and development be done with it off-chain though?

I'm a bit on the fence, but I guess even on the main chain turing-completeness could be okaish given rigorous tooling, a very strict language and a very restrictive interpreter. Yet here we are with the most popular smart contract platform making methods implicitly public by default Roll Eyes (or maybe they changed it by now, I haven't been following Ethereum all that much)


... but the smart contract purpose is to issue tokens.
That is only one application of smart contracts. I would bet that most smart-contracts don't issue tokens.

Smart contract are overrated, many problems still require oracle, which makes the usage of smart contract on blockchain is less useful due to :
1. Require to trust the oracle being honest or/and neutral (On many cases)
2. Less privacy, especially when oracle involved on case outside blockchain
3. Single point of failure on few cases where status quo will remain forever

Not all smart contracts depend on oracles.

Part of the problem of smart contracts is probably that people have been trying to apply them to use cases for which they make absolutely no sense.

Which on the one hand is okay, since every new technology needs to go through a explorative phase to reach its full potential.

But on the other hand it's a bit like the radioactive quackery of the early 20th century and just as silly.
legendary
Activity: 4466
Merit: 3391
July 22, 2020, 04:04:13 PM
#16
... but the smart contract purpose is to issue tokens.
That is only one application of smart contracts. I would bet that most smart-contracts on Ethereum don't issue tokens.

Smart contract are overrated, many problems still require oracle, which makes the usage of smart contract on blockchain is less useful due to :
1. Require to trust the oracle being honest or/and neutral (On many cases)
2. Less privacy, especially when oracle involved on case outside blockchain
3. Single point of failure on few cases where status quo will remain forever

Not all smart contracts depend on oracles.
legendary
Activity: 2898
Merit: 1823
July 22, 2020, 02:06:19 AM
#15
So basically, smart contracts are cool, but the necessity of turing-complete smart contract languages is still not really proven.

I'd even argue that in terms of smart contracts turing-completeness has been proven to be more of a liability than a blessing. At least if you honestly strive for immutability without centralized oversight and are not just paying lip service.


Thank the same people who condemned the critics of "turing-completeness on the blockchain/base layer" for proving them, the critics, right. Haha.

Although, should some experimentation and development be done with it off-chain though?
legendary
Activity: 3122
Merit: 2178
Playgram - The Telegram Casino
July 21, 2020, 08:15:10 AM
#14
So basically, smart contracts are cool, but the necessity of turing-complete smart contract languages is still not really proven.

I'd even argue that in terms of smart contracts turing-completeness has been proven to be more of a liability than a blessing. At least if you honestly strive for immutability without centralized oversight and are not just paying lip service.
legendary
Activity: 2898
Merit: 1823
July 21, 2020, 04:06:12 AM
#13
OP, just as smart as the people who developed them, which all of them after the DAO failure, I believe, have centralized kill-switches in them, which is smart, but that makes the concept of a "smart contract" useless. Haha.
jr. member
Activity: 50
Merit: 1
July 10, 2020, 12:41:23 AM
#12
Smart contracts are as smart as you program them to be.
Giving examples about particular ones that have flaws or centralization means that you cannot trust something only because it's called "smart contract".
Are they a good and useful innovation? Yes, indeed.
legendary
Activity: 3906
Merit: 6249
Decentralization Maximalist
July 09, 2020, 05:38:59 PM
#11
The article linked in the OP is not exactly good, and they fail when they describe Bitcoin as only "suited for currency use". Most of the examples they name are either:

- also possible with Bitcoin's Script language (for example, via HTLCs or multisig contracts)
- not possible without centralized intervention (the example of the self-driving trucks in the "use case examples" image).

For example, now DeFi has evolved into one of Ethereum's main use cases. To have an example, on Ethereum option contracts are possible without problems, but probably they're also possible with Bitcoin, using an interesting combination of HTLCs/timelocks and Segwit-style "witness segregation".

LN is also an example for an interesting smart contract "complex" crafted only with Bitcoin Script. And then there is the Simplicity project which aims to make Bitcoin Script more flexible, but it's a medium-to-long term solution, it seems.

Oracle-based contracts (e.g. the MakerDao/Dai platform) are one of the exceptions that seem to be primarily possible with an Ethereum-style turing complete platform. Blockchain games like CryptoKitties is another one. But their usefulness still unclear, particularly their advantages with respect to completely centralized solutions. Tokens, instead, can be realized with other mechanisms, like Colored coins.

So basically, smart contracts are cool, but the necessity of turing-complete smart contract languages is still not really proven.
member
Activity: 64
Merit: 10
My girls in my trap team all Baggin Cryptos!!!
July 08, 2020, 10:01:37 PM
#10
Look at chainlinks source code and compile it in remix and click around on stuff. It looks like there are functions where a contract can not only approve transfers but also can increase or decrease a users approval for LINK. It is interesting and I hope to see how it all pans out. I just got very into Link recently.
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
July 02, 2019, 03:08:45 PM
#9
Interesting, i'll check it later. By any change, do you know article/docs which mention about how decentralized oracle works?


I was reading about it today in Mastering Ethereum, written by antonopoulos. Very reliable in my opinion.

Quote
Decentralized Oracles

While centralized data or computation oracles suffice for many applications, they represent single points of failure in the Ethereum network. A number of schemes have been proposed around the idea of decentralized oracles as a means of ensuring data availability and the creation of a network of individual data providers with an on-chain data aggregation system.

ChainLink has proposed a decentralized oracle network consisting of three key smart contracts—a reputation contract, an order-matching contract, and an aggregation contract—and an off-chain registry of data providers. The reputation contract is used to keep track of data providers' performance. Scores in the reputation contract are used to populate the off-chain registry. The order-matching contract selects bids from oracles using the reputation contract. It then finalizes a service-level agreement, which includes query parameters and the number of oracles required. This means that the purchaser needn’t transact with the individual oracles directly. The aggregation contract collects responses (submitted using a commit–reveal scheme) from multiple oracles, calculates the final collective result of the query, and finally feeds the results back into the reputation contract.

One of the main challenges with such a decentralized approach is the formulation of the aggregation function. ChainLink proposes calculating a weighted response, allowing a validity score to be reported for each oracle response. Detecting an 'invalid' score here is nontrivial, since it relies on the premise that outlying data points, measured by deviations from responses provided by peers, are incorrect. Calculating a validity score based on the location of an oracle response among a distribution of responses risks penalizing correct answers over average ones. Therefore, ChainLink offers a standard set of aggregation contracts, but also allows customized aggregation contracts to be specified.
https://github.com/ethereumbook/ethereumbook/blob/develop/11oracles.asciidoc#decentralized-oracles


I know that this reputation system will rank nodes according to data, stake of link tokens, and some other stuff. I don't know exactly, and there will be some kind of consensus mechanism based on pos. I need to read more to explain lol
legendary
Activity: 1932
Merit: 1737
"Common rogue from Russia with a bare ass."
July 02, 2019, 02:42:29 PM
#8

Quote
do you know article/docs which mention about how decentralized oracle works?

I found this a reasonably good primer.
https://medium.com/fabric-ventures/decentralised-oracles-a-comprehensive-overview-d3168b9a8841
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
July 02, 2019, 02:22:33 PM
#7
1. Require to trust the oracle being honest or/and neutral

That's not necessarily true, because you can have a decentralized oracle.

There is one decentralized oracle, it is chainlink (top20in cmc). It is already running a mainnet.. it is still in it's infancy, but it is a possible solution. It has some node reputation and pos system, interesting project.

. I think that if smartcontracts are to be one day used, it is going to be through decentralized oracles.

But oracle problem can be solved. If nobody finds a solution to this problem, smartcontracts are probably going to be almost useless. But not a fraud as stated above..
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
July 02, 2019, 08:56:42 AM
#6
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.

Smartcontract is not a smart token. Forget tokens man.

You are talking about one use of smartcontracts, which is not the only one, but it is the most used now in this infancy of the technology. You are also talking about immoral uses of it, like blocking addresses. Ok, you can make a smart contract do that, but you cannot force anyone to participate in such a contract.

Pasting bad smartcontract codes do not prove anything. You cannot force people to participate in such contracts. And once they are written in the blockchain, they are open source and cannot be changed. Bad smartcontracts do not make good smartcontracts a fraud.

Why don't you talk about DApps, like cryptokitties, online games, etc? Are they fraud as well?

DApps are just a smartcontract and a web interface. So cryptokitties are now a big fraud, and they want just to steal money from you, block addresses, centralize the ethereum blockchain? Think about what you are saying.


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.

Man, smartcontracts have nothing to do with tokens. Forget tokens. Smartcontract doesn't need tokens. It can be an agreement about tokens, or not.

And no, it is not possible "call the smartcontract from outside and do whatever he wants". Unless it has a giant security back door or something like that, which can be audit as smartcontracts ARE PUBLIC, because they are in the blockchain.

I suggest that you read more information about smartcontracts, you can begin with Mastering Ethereum from Andreas Antonopoulos.


You think that smartcontract is like a smart token, which is not. It is much more than that. Smartcontract will allow you to buy anything you want (a house, a car, rent something, etc) , to gamble, etc (when oracles start working)
full member
Activity: 615
Merit: 154
CEO of Metaisland.gg and W.O.K Corp
July 02, 2019, 07:49:09 AM
#5
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.sol

Check the functions of this ERC-20 compatible contract

Code:

 // 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?

Code:
     // 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?
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
July 02, 2019, 06:42:29 AM
#4
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?
legendary
Activity: 2646
Merit: 1722
https://youtu.be/DsAVx0u9Cw4 ... Dr. WHO < KLF
July 02, 2019, 05:45:37 AM
#3
Smart contracts - How smart are they?

Concise answer ...

~ Only as smart as those who initiate or participate in them.

Wink Grin
full member
Activity: 615
Merit: 154
CEO of Metaisland.gg and W.O.K Corp
July 02, 2019, 02:44:17 AM
#2
Smart contracts are evil. They are doing a huge prejudice to the blockchain and the crypto.

Basically, smart contracts are using the block chain hype, decentralization, peer to peer and security, to offer to anyone who has almost no programming or crypto knowledge, to do exactly the opposite of what the block chain is.
Smart contracts are by definition centralized, the owner can stop, start, mint at will, do an ico, stop it, redo 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 contracts are 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.

Billions are washed this way. About the usability it is less than 99%... all the rest have just banked at the ICO and now it is traded by the crypto casinos (read exchanges) where people do not care what they are buying/selling as soon as they can make some profit.

The block chain is a series of block saving transactions removing the banks trust to replace by mathematics. Not the smart contracts, they are just saved in a block, like a transaction. The only security is that they are public, and once published, they cannot be modified.
But they can control their generated coin, like a bank does.

e-Gold failed, and all attempts at doing anything else than Bitcoin failed because of the centralization issue.

Smart contracts are changing the author of it, into a banker. Who wants that? We have enough fraudsters in the banking industry already.

Terms of a relationship in standard contracts are enforced by laws. How about Smart Contracts on a Blockchain?

https://www.hb-wallet.com/post/smart-contracts-how-smart-are-they
member
Activity: 186
Merit: 12
July 02, 2019, 01:15:04 AM
#1
Terms of a relationship in standard contracts are enforced by laws. How about Smart Contracts on a Blockchain?

https://www.hb-wallet.com/post/smart-contracts-how-smart-are-they
Jump to: