Skip to content
This repository has been archived by the owner on Nov 5, 2021. It is now read-only.

Gas economic abstraction in top of smart contracts #73

Closed
3esmit opened this issue Feb 1, 2018 · 6 comments
Closed

Gas economic abstraction in top of smart contracts #73

3esmit opened this issue Feb 1, 2018 · 6 comments

Comments

@3esmit
Copy link
Member

3esmit commented Feb 1, 2018

Preamble

Idea: 73
Title: Use SNT as gas in SNT transactions
Status: Draft
Created: 2018-02-01

Summary

Enable gas economic abstraction for users being able to only hold SNT for interacting with Status Network.
An offchain whisper message, containg an ethereum signed message (and its payload) that is accepted by a smart contract that costs ETH gas to be run, but the contract calculates the gas used and pays back msg.sender in user's signed message specified token and gas price.

Swarm Participants

Product Overview

A barrier for user adoption to blockchain through Status would be the need of managing two tokens for paying fees, ether gas for moving the SNT fee from user balance to decentralized service provider.
The product solve this by emulating a gas abstraction in top by adding "Gas Relayer Actor" in top of smart contracts as: IdentityGasRelay, MultiSigWallet, SNTController (updated from SNTPlaceHolder);

Product Description

  • Allows SNT holder to broadcast ethereum signed messages to anyone with ETH to validate them in the GasRelay smart contracts, and offering a refund of gas used in a gas price set in SNT.
  • Whoever have ether could verify if the gas price worth the SNT gas price offered.
  • This becomes a micro trade of ETH->SNT.
  • Allow user to use any token they want (even ETH, or ETH stored in Identity).

Requirements & Dependancies

Minimum Viable Product

  1. Identity Gas Relay
    Goal Date:
    Description:
    a. Gas Relay Node that recieve whisper messages from Identity owners,
    b. Identity User Interface with Gas Relayed option of calls

  2. SNT Gas Relayer
    Goal Date:
    Description:
    a. Gas Relay Node implements watching messages for SNTController
    b. User interface for creating Identity+ENS register (pay gas in SNT)
    c. Moving SNT to other address from SNTController terms (paying gas in SNT)

Success Metrics

Copyright

Copyright and related rights waived via CC0.

@3esmit 3esmit self-assigned this Feb 1, 2018
@3esmit 3esmit changed the title Use SNT as gas in SNT transactions Use SNT as fee in SNT transactions to not require ETH in balance Feb 1, 2018
@iurimatias
Copy link
Member

For information purposes here is an (old) implementation of this idea https://github.com/iurimatias/TransactionRelay

@3esmit 3esmit changed the title Use SNT as fee in SNT transactions to not require ETH in balance Gas economic abstraction in top of smart contracts Mar 23, 2018
@alexvandesande
Copy link

I've been discussing this with @3esmit for a while now and I'd like to share what I see could be a potential UI that any ethereum app could share for login/signup

The app creates a local ethereum account automatically. That account never needs to leave the device and since it will not contain ether, backing up can be optional.

screen shot 2018-03-23 at 4 02 52 pm

The user starts by typing a name of their ID, or the one they want

screen shot 2018-03-23 at 4 06 12 pm

If the name doesn't exist then the user will create one (this might have a cost)

screen shot 2018-03-23 at 4 06 09 pm

If the name exists, then it allows you to connect to it by confirming on another device.

screen shot 2018-03-22 at 12 47 59 pm

Connecting means you either send a whisper message or you show a transaction that needs to be executed by some owner of the identity

screen shot 2018-03-22 at 12 48 07 pm

The other device receives a notice asking a confirmation to connect.

Done!

What do we solve?

  • Universal human readable login for ethereum
  • ID protected by multi signatures in many devices
  • Each individual device doesn't need to own ether, instead it only holds a key

@martinklepsch
Copy link
Contributor

You're probably aware of this already but I figured I'd leave this here for context https://gastoken.io

@3esmit
Copy link
Member Author

3esmit commented Mar 24, 2018

Thanks, @martinklepsch .
Their project is a different thing, they are "hacking" EVM properties of clear storage that give negative gas. You pay to put junk in blockchain and later you clear it because they cost negative gas, and then you can pay less gas in a transaction (and maybe extend the block gas limit of a transaction, not sure)

This projects enables users making transactions and paying any ERC20 as gasPrice.

So gasToken would be able to be used as payment or being called by Identity, however the property of increasing gas when burned would be implemented outside. The called contract that would than burn this token when instructed.
I'm planning to do modular extensions to Identity, so maybe it would be possible that we have a plugin, such as "callAndBurnGasTokenGasRelay".

@alexvandesande
Copy link

Yeah it's the second time someone mentions that project. Identity gas relay is a really bad name 😉

"Ethereum Identity"? "token paid transactions"? "multi device proxy"? "Etherless Proxy ID"?

@oskarth
Copy link
Contributor

oskarth commented Apr 6, 2018

Closing this issue as part of spring cleaning. If this idea is still relevant, please submit a PR per https://github.com/status-im/ideas/#contributing. If you feel closing this issue is a mistake, feel free to re-open.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants