Qortal Project

The future of blockchain platforms

User Tools

Site Tools


Sidebar

Qortal Project Wiki

Important Notices

Introduction

Project Model

Minting

Communications

Trade Portal

Qortal Hosting (QDN)

Voting System

AT System

Hardware

Frequently Asked Questions (FAQ)

How-To Guides

Node Setup Guides

Third-Party Services

future_modifications

This is an old revision of the document!


Future Modifications

Below is information about the problem of and proposed solution to our current sponsorship and minting system.

Problem

Qortal's sponsorship and minting system is our attempt to solve the issue we see in the blockchain space with PoW and PoS where money buys power over the network. We are not claiming that our system is perfect, but the beauty is that we can modify the system as needed. Currently any account that is level 5 or higher (including founder accounts) is able to sponsor up to 5 accounts at one time. There is no limitation to the total number of accounts each level 5+ can sponsor. It takes a sponsee 7200 blocks to reach level 1 at which time they can create their own minting key. The problem we have run into with the sponsorship system, is that some level 5+ accounts are here for personal gain, and not the common good of the project. We have seen a few bad apples create multiple accounts for their own gain that they self sponsor, and either keep for minting themselves, or are selling to the public (primarily in the Chinese community on WeChat app). The next issue is with the minting system itself. Currently we are able to assign multiple accounts to each node. Although we would like to see one account per node, there is nothing securing this ideology in code at the moment. So essentially these self sponsored accounts are able to make more accounts, mint off the same device, and 'game' the current system.

Solution

We will be modifying the way the sponsorships function by randomizing when they can take place so that automated creation of sponsorship keys is no longer possible. it will also no longer be possible to remove your own key in order to create a sixth sponsorship key as we've seen the bad apples do. We will likely be opening up sponsorship assets to be able to be given to accounts of level 3 and higher to give more people the ability to sponsor. Two algorithms will decide randomly when the sponsorship assets are distributed. The account MUST MINT in order to have the potential to obtain a sponsorship asset.

We will be adding in the necessity for a mempow nonce submission along with the existing minter signature submission. We will tweak it so that the mempow takes enough time that only 2 account signature submissions may take place from any one node (maybe 3 with a really fast computer, but in most cases the mempow runs about the same no matter what device it runs on). This will successfully limit the amount of minting accounts that can be run on a single node, and thus retroactively remove the ability for many self-sponsored accounts to run their minting keys.

This it the current (and only real tangible) solution: to use proof of work to limit the number of accounts per node hardware (not IP). In the future we may be able to find a way to limit by IP but that's not included in the proposed solution we have right now. This means that sponsorship acts as the first barrier to stop multiple accounts, and the node hardware itself acts as the second barrier, preventing people running lots of minting accounts on a single machine like they do right now. Qortal's proof of work algorithm is limited by the throughput on device's RAM, so buying faster or even specialized hardware doesn't generally increase the number of accounts that can exist concurrently on that hardware. Limiting by hardware like this is good for the network as it means that people gaming the system will be forced to run an equivalent number of nodes, which strengthens the network. Right now there is no limit, but there could be very soon if we choose to go with this approach. The main reason we might not want to implement this is that the proof of work calculations will slow down the node and computer it is running on. We need to decide if the impact is too large.

You can run this custom JAR I made to simulate the additional system load that would exist if we were to switch to such an approach: http://qortal.uk:8080/builds/qortal-2.1.0-PoW.0.jar

We are looking to get some feedback on it before spending lots of time implementing any limits.

future_modifications.1638130240.txt.gz · Last modified: 11/28/2021 15:10 by gfactor