GithubHelp home page GithubHelp logo

isabella232 / mobilecoin-incinerator Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mobilecoinofficial/mobilecoin-incinerator

0.0 0.0 0.0 5 KB

Generate a burn address for MobileCoin

Rust 100.00%

mobilecoin-incinerator's Introduction

MobileCoin Incinerator

Burn MobileCoin by sending it to an unspendable address.

Summary

This script generates a public address without corresponding private keys. It does this by hashing a known string into a Ristretto curve point, which it then uses as the public key. Because the address was not generated via the normal key derivation path, which is a one-way function, it is not possible to reverse the derivation to recover the private key. This means that all funds sent to this address can never be spent.

For the known string "burn address", the public address is: o21C75ybsJVwBfH79SEYxZxFhtUF2VmyjbX22PsHYmJvZ1hPNGoSUZehPPMFWQDwcCzGe3itrjecPhQrKExFjjDwMUNjao2TYRJPDqupyn

How to burn funds

First install the MobileCoin CLI.

$ mobcli send --build-only a7ddc0 0.001 o21C75ybsJVwBfH79SEYxZxFhtUF2VmyjbX22PsHYmJvZ1hPNGoSUZehPPMFWQDwcCzGe3itrjecPhQrKExFjjDwMUNjao2TYRJPDqupyn
Building transaction for 0.001 MOB from account a7ddc0
to address o21C75ybsJVwBfH79SEYxZxFhtUF2VmyjbX22PsHYmJvZ1hPNGoSUZehPPMFWQDwcCzGe3itrjecPhQrKExFjjDwMUNjao2TYRJPDqupyn
Fee is 0.0004 MOB, for a total amount of 0.0014 MOB.
Wrote tx_proposal.json

$ mobcli submit --receipt tx_proposal.json
Wrote receipt.json
This transaction will not be logged, because an account id was not provided.
Submit this transaction proposal for 0.001 MOB? (Y/N) y
Submitted. The file tx_proposal.json is now unusable for sending transactions.

Proof of burn

As currently written, in order to prove to others that funds were burned, you have to share the view private key of the sending account. This is not easily supported by our tooling currently.

A better version of burn addresses could be created in the future, like this: Generate a burn address with a known view private key, but an unknown spend private key, and have the sender generate a receipt for the burn transaction. The receipt and the view key together can be used to verify the funds have been sent to the burn address.

mobilecoin-incinerator's People

Contributors

christian-oudard avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.