2

Currently reading an article on smart contracts, I came across the following sentences. I don't understand what the bold part means.

Smart contracts are agreements between parties that do not need an intermediary that checks that conditions are met. They facilitate the elimination of a third party and the urgency of trust and transparency when underwriting legally binds obligations.

Does underwriting here mean signing?

Does the bold part mean smart contracts facilitate the elimination of the urgency of trust and transparency when ... ?

What confuses me most, is that, how come trust and transparency are urgent when underwriting makes obligations legally binding, compared to the case of a smart contract?

0

Urgency in this sense more or less means 'importance'. The author is saying that due to the immutable and public nature of deployed smart contracts, both parties know exactly what they are agreeing to, and this eliminates the usual business requirements that both parties are trustworthy and transparent. Nobody can cheat the smart contract, it's a perfectly neutral third party. You don't need to trust anyone else, just the smart contract.

1
  • Thank you! So, you believe that the bold text should mean "smart contracts facilitate the elimination of the importance of trust and transparency when underwriting legally binds obligations", right? That is to say, entering into smart contracts does not require the trust and transparency required for entering into traditional contracts? – failbetter Oct 2 '17 at 14:46
0

Basically, it's stating the code for the contract is pubic facing which is mostly bytecode that can be converted to an instruction set and in some cases it's completely plain in solidity and on top of this the code cannot be modified. When interacting with websites you have no transparency of what the code on the back-end is doing and when you sign a contract in real life the contract can be subject to change where as in Solidity both of these don't apply.

This basically means interacting with a contract is explicit and nothing underhanded can happen unless the contract is misread, but that's at the user's discretion.

Here's an example in code:

First wallet:

pragma solidity ^0.4.0;

contract DodgyWallet {

    mapping (address => uint) _balances;

    function deposit() public payable {
        // This is skimming 10% of the value deposited
        _balances[msg.sender] += msg.value / 100 * 90;
    }

    function withdraw(uint amount) public {
        require(amount <= _balances[msg.sender]);
        msg.sender.transfer(amount);
        _balances[msg.sender] -= amount;
    }
}

Second wallet:

pragma solidity ^0.4.0;

contract FairWallet {

    mapping (address => uint) _balances;

    function deposit() public payable {
        // No modification of the value
        _balances[msg.sender] += msg.value;
    }

    function withdraw(uint amount) public {
        require(amount <= _balances[msg.sender]);
        msg.sender.transfer(amount);
        _balances[msg.sender] -= amount;
    }
}

In the first wallet we can see that the value being deposit is skimming 10% off the value being deposited in the deposit function. In the second contract there is no modification to the value being deposited. Thus making transactions completely transparent and down to the user to understand the implications of depositing into each wallet.

4
  • Thank you very much for your explanation. I'm really a newbie to smart contracts. Though I believe I have fully understood what you said, I still don't understand what the author of the article means literally by the bold text. Could you explain the bold text a little bit, maybe by paraphrasing? Besides, could you confirm if the bold text means "smart contracts facilitate the elimination of the urgency of trust and transparency when ..."? How come trust and transparency are URGENT? – failbetter Oct 2 '17 at 12:46
  • I believe the reference to urgency is more of a reference to the potential seriousness of the contract e.g. insurance, credit, legal, etc. Basically, someone you would only do business with if they had a known degree of trust. With solidity contracts these levels of trust are eliminated. – James Lockhart Oct 2 '17 at 12:55
  • Thank you James, for your further explanation. I understand what you mean. I think that’s what “trustless” means in the context of blockchain. However, I still don’t understand what the author LITERALLY means :( – failbetter Oct 2 '17 at 13:20
  • The bold text is ambiguous and can be understood in 3 ways: (a) Smart contracts facilitate the elimination of the urgency of trust and transparency when ...; (b) Smart contracts facilitate the urgency of trust and transparency when ...; or (c) The urgency … legally binds obligations (i.e., urgency is the subject). Which one do you think is correct? – failbetter Oct 2 '17 at 13:20

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.