assembly
assembly
Burn Account singapore
Please login or register.

Login with username, password and session length
Advanced search  

News:

Latest Ardor Client: Ardor 2.2.2

Author Topic: Burn Account  (Read 282 times)

petko

  • Jr. Member
  • **
  • Karma: +24/-0
  • Offline Offline
  • Posts: 98
    • View Profile
    • My blog
Burn Account
« on: March 18, 2019, 07:51:09 pm »

In Nxt, burning tokens was done by sending them to the Genesis account. The Genesis account was removed in Ardor and now we are facing the problem of how to provably burn tokens. For this we (obviously) need to send the tokens to an account for which it is guaranteed that no one in the World will ever be able to unlock it. So how to get such account?

Since public keys are 256-bit numbers, the simplest approach is to choose a public key in such way that it is obvious for everyone that the person who chose the number, couldn't possibly know the matching private key.

So now I choose the number 618debcd12fe01a90559b1501f27969ea5ac7675bcf7454bf015b685059e3f49, which is the SHA256 hash of the word "Burn Account". You can check that by running

Code: [Select]
echo Burn Account|sha256sum
I obviously chose to hash (with the algorithm which is most commonly used in the project) a combination of two words, which makes sense in the context of burn account. Does anyone think that I could possibly know the private key matching this public key? I.e. does anyone think that I could have possibly iterated so many private keys that I found a public key which makes sense in the current context?

This is kind of social experiment which aims to clarify how much controversy will this approach gather. I.e. if I cannot persuade everyone that it is not possible for me to know the private key, we better not use this approach in the first place.
Logged

TheWireMaster

  • Sr. Member
  • ****
  • Karma: +27/-0
  • Offline Offline
  • Posts: 356
    • View Profile
    • NXT Folks
Re: Burn Account
« Reply #1 on: March 18, 2019, 08:07:41 pm »

Why not chose an address like ARDOR-0000-0000-0000-00000?
As far as I understood 0 or O are not allowed, buy maybe they can be used as a destination address for an exceptional burn token address?
Logged
NXT-5WW2-XQ63-CFGM-G7YAJ

petko

  • Jr. Member
  • **
  • Karma: +24/-0
  • Offline Offline
  • Posts: 98
    • View Profile
    • My blog
Re: Burn Account
« Reply #2 on: March 18, 2019, 08:32:06 pm »

Why not chose an address like ARDOR-0000-0000-0000-00000?
As far as I understood 0 or O are not allowed, buy maybe they can be used as a destination address for an exceptional burn token address?
First, the ARDOR-??? addresses use Reed-Solomon error correction, so ARDOR-0000-0000-0000-00000 particularly is invalid.

The account with numeric id 0 (ARDOR-2222-2222-2222-22222 is RS format) is used to designate a "missing account" situation in binary data, so we cannot use it.

If we use any other magic 64-bit value, it could be much more easily brute-forced. Maybe the person who proposes the value already brute-forced it?
Logged

shugo

  • Jr. Member
  • **
  • Karma: +5/-0
  • Offline Offline
  • Posts: 75
    • View Profile
Re: Burn Account
« Reply #3 on: March 18, 2019, 08:43:15 pm »

What if a e.g. 20 random users can provide a random word which then will randomly be put together to a passphrase/new address and prove of this will be stored on the blockchain.

no one would know who participated, which words were sent in and in which sequence.

would that work?
Logged

martismartis

  • Hero Member
  • *****
  • Karma: +73/-10
  • Offline Offline
  • Posts: 1237
    • View Profile
Re: Burn Account
« Reply #4 on: March 18, 2019, 09:18:19 pm »

I would go this way:
1. Let's say, starting from block 644000, take the last number (or which ever) from the next 5 blocks ID's. Last number of 644001 is A, 644002 is B,....,644005 is E.
2. By combining these five numbers, you get block height ABCDE.
3. Get that block hash.
4. combine previous block hash, ABCDE block hash and next block hash. Sha256 that set and get some public key.
5. Generate account ID from this generated public key.
Is that makes sense?
Logged

petko

  • Jr. Member
  • **
  • Karma: +24/-0
  • Offline Offline
  • Posts: 98
    • View Profile
    • My blog
Re: Burn Account
« Reply #5 on: March 19, 2019, 06:41:59 am »

I would go this way:
1. Let's say, starting from block 644000, take the last number (or which ever) from the next 5 blocks ID's. Last number of 644001 is A, 644002 is B,....,644005 is E.
2. By combining these five numbers, you get block height ABCDE.
3. Get that block hash.
4. combine previous block hash, ABCDE block hash and next block hash. Sha256 that set and get some public key.
5. Generate account ID from this generated public key.
Is that makes sense?

It makes sense, actually this looks like @riker 's approach. We can go with this ceremony too. My ceremony looks more simple to me, but maybe it will cause controversy.

Besides being slightly more complicated, another problem with your approach is that not all 256 bit numbers are canonical public keys. So there is some probability that we end up with a non-canonical public key and that we have to repeat the ceremony. Since I don't understand cryptography, I'm not sure what exactly is the probability, but it is significant - maybe 50%.
Logged

petko

  • Jr. Member
  • **
  • Karma: +24/-0
  • Offline Offline
  • Posts: 98
    • View Profile
    • My blog
Re: Burn Account
« Reply #6 on: March 19, 2019, 06:44:14 am »

What if a e.g. 20 random users can provide a random word which then will randomly be put together to a passphrase/new address and prove of this will be stored on the blockchain.

no one would know who participated, which words were sent in and in which sequence.

would that work?

This is getting much more controversial. Will be harder to persuade everyone that the 20 users are chosen at random
Logged

CryptoDemetrius

  • Newbie
  • *
  • Karma: +0/-0
  • Offline Offline
  • Posts: 1
    • View Profile
Re: Burn Account
« Reply #7 on: March 19, 2019, 12:13:23 pm »

Probably not an option at all, but what about how CloudFlare uses lava lamps for cryptography? Could something similar be used?
 
https://www.wired.com/story/cloudflare-lava-lamps-protect-from-hackers/
Logged
 

elective-stereophonic
elective-stereophonic
assembly
assembly