Upgradeable Smart Contracts: Immutable to Mutable - PowerPoint PPT Presentation

About This Presentation
Title:

Upgradeable Smart Contracts: Immutable to Mutable

Description:

Blockchain App Factory, in addition to its smart contract development and smart contract audit services, also brings you an enhancement of smart contracts on Solidity. Get in touch with our expert team to take your Solidity upgradable smart contract development forward to its business-relevance!! – PowerPoint PPT presentation

Number of Views:10
Slides: 14
Provided by: riyasteve
Category: Other

less

Transcript and Presenter's Notes

Title: Upgradeable Smart Contracts: Immutable to Mutable


1
Solidity - Upgradeable Smart Contracts
2
Smart Contracts - Are They Really Smart?
  • Smart contracts govern the way in which a
    blockchain function.
  • The immutability of the blockchain extends into
    smart contracts as well - a smart contract once
    coded cannot be modified.
  • This is one of the primary reasons for the
    blockchain and the data in the blockchain being
    super-secure. 
  • There is no way to edit the data on the
    blockchain, and there is no way to circumvent the
    conditions laid out on the smart contract.

3
Smart Contracts - Are They Really Smart?
  • This advantage has made blockchain highly
    dependable for financial transactions, maximizing
    security and minimizing efforts and expenses,
    both in time and money. 
  • However, sometimes, the biggest boon also becomes
    the biggest bane. Any software is supposed to
    have some room to evolve and smart contracts,
    by virtue of their immutability, lack that
    attribute. 
  • Anything that doesnt change according to the
    changing times cannot be honored with the prefix
    smart, and smart contracts should not be an
    exception.

4
Upgradable Smart Contracts
  • Sometimes, to stay relevant, it might be
    essential to lose a quality that made you
    relevant in the first place.
  • In the case of smart contracts, the solution
    lies in using upgradable smart contracts. This
    type of smart contracts solves many crucial
    problems.
  • Before we proceed to discuss this revolution, we
    will need to understand the areas where
    upgradation of smart contracts in Solidity might
    be expensive and the ways to optimize the costs
    and resources.

5
The Processing Cost - Block Gas Limit
  • The transactions involving upgradation of smart
    contracts are relatively large, owing to the
    amount of processing that needs to be done. The
    steps include the deploying of smart contract,
    movement of data and the references.

6
Inter-Contract Dependencies
  • In most cases, when a smart contract is compiled,
    all the imports are originally compiled into the
    smart contract.
  • This would mean that a small change in one of the
    contracts might trickle down to the other
    contracts that might reference one particular
    smart contract that is awaiting an upgrade.
  • Upgradable smart contracts surely present a big
    bliss. However, the points that have been quoted
    above will have to be taken into consideration.
  • These dependencies affect the size of the
    transacton. We have given below, the workarounds
    to minimize the cost and not suffer any lapse in
    the safety and security offered by Solidity.

7
Avoid Copying of Large Data
  • One of the most expensive parts of a smart
    contract is in storing of data. Upgradation of
    the smart contract containing large storage
    variables might have a chance of hitting the
    transaction gas limit during the data-copying
    process. 
  • Therefore it is suggested that you isolate the
    data store from the rest of your code and make it
    as flexible as possible so that this hassle might
    not be always necessary.

8
Avoid Copying of Large Data
  • Depending on the circumstances, the size of the
    datastore you need, and the frequency of expected
    structural changes, you might want to choose a
    strict definition or a loosely typed flat store.
  • The second type ensures that the data schema
    changes can be implemented any upgrades to the
    smart contract.
  • If there needs to be a smart contract upgrade,
    switching the upgraded smart contract to eternal
    storage smart contract instance ensures that you
    dont have to copy any data and waste your gas on
    those operations.

9
Using Libraries to Encapsulate Logic
  • Libraries are special forms of contracts that do
    not allow any storage variables and exist as
    singletons.
  • These libraries present a great advantage when it
    comes to smart contract upgrades - they allow
    encapsulation of business logic or date
    management logic.
  • This would mean that the frequency changing
    elements of a smart contract can be coded in a
    library as opposed to the actual smart contract.
  • While it might seem that every call has a gas
    overhead, the benefit of avoiding upgradation
    weighs over the expense of frequent calls. There
    have been instances where the usage of libraries
    costed 10 less.

10
Using Interfaces to Decouple Inter-Contract
Communication
  • In this method, abstraction of contract
    implementation happens behind and interface that
    only defines its function signatures.
  • This method is quite similar to the concept of
    abstraction in object-oriented programming.
    Instead of importing the entire contract, an
    interface containing the function signatures is
    used.
  • Any possible upgrades to the smart contract that
    dont affect the interface are eased. This model
    can be implemented without redeploying the
    calling contract.

11
Conclusion
IMMUTABLE
  • It is to be understood that, while on paper, the
    smart contract code is immutable, there is always
    a possible workaround.
  • The immutable smart contract can be made
    mutable by default by having chunks of codes in
    different contracts, and the address of a
    contract can be called for execution.
  • The domino-effect of an upgraded smart contract,
    in effect, renders any smart contract modifiable.

MUTABLE
12
Blockchain App Factorys Upgradable Smart
Contract Services
  • Blockchain App Factory, in addition to its smart
    contract development and smart contract audit
    services, also brings you enhancement of smart
    contracts on Solidity.
  • Get in touch with our expert team to take your
    Solidity upgradable smart contract development
    forward to its business-relevance!!

13
Touch with Blockchain App Factory
  • Mail info_at_blockchainappfactory.com
  • Web https//www.blockchainappfactory.com/smart-co
    ntract-development
  • Mobile 91 956 610 1784
Write a Comment
User Comments (0)
About PowerShow.com