Whitepaper of Salaries Blockchain [draft]

Draft Salaries Blockchain whitepaper (in HTML; what the hell people do whitepapers in PDF?):

Victor Porton

Introduction

Ethereum became a project mainly of riches rather than social good, it’s DB is polluted with old data, and it has a centralized gas token ruled by voluntary decisions driving unfounded riches at expense of worth stuff. Ethereum hasn’t become a really good platform for paying salaries and providing for social good. We need a new kind of blockchain free of these deficiencies and designed specifically to pay salaries for good works and to drive social good financials, whille sustaining Ethereum features.

So, this blockchain implements the “socialistic” idea to give everybody just salaries. (It is certainly not socialistic if socialism is understood as limiting freedoms or as state control or big taxes.)

Analysis of the Market

Now I know that left and right (I mean social and liberal) ends of political spectrum meet. This blockchain is the new world financial system providing a solution to the requirements for both:

  • socialists
  • liberals and libertarians
  • those in between

Competitive advantages:

  • Say that it is social/socialistic because it is for salaries and personal tokens, not just a capital growing system.
  • socialistic (and probably communistic) parties as partners
  • Sat that it is liberal.
  • libertarians/anarchists as partners
  • D language foundation as a partner (maybe also Python foundation) for Future Salaries subproject.
  • you can lobby it to be added to GitCoin site.
  • In the future, we can pay to search engines to do socially good search, so it has a big future.

Ethereum has a huge market and as I said above, it’s hopelessly outdated in its non-future-compatible standards, causing such effect as growing database and therefore inevitable growth of transaction costs (despite of PoA) or even ceasing of operations. We need to have awareness of inevitable failure of Ethereum and it need to be replaced.

Ethereum value started to grow unrelated to its gas token ETH value, because of alt-tokens. This may cause economical imbalance in the economy of Ethereum transactions, causing such things as overloaded network, slow transactions, stagnation or fall of the number of validators until even possible stopping of operations of Ethereum network.

Ethereum failed in the main things of the economy: salaries. We are to take the market of all kinds of salaries:

  • blockchain works and other software development (especially free software)
  • science
  • carbon accounting
  • UBI
  • journalism?
  • nonprofits
  • etc. (free pizza?)

Salaries are a key to people’s hearts: Salaries are kinda a traditional thing and people are attracted to them. So, we can have good adoption. To call it “Salaries Blockchain” is therefore a strategic decision.

And I have several novel technicalities described below.

Drawbacks

  • Too many tokens may make their value too fragmented (but if I have an automatic free converter in a browser plugin, it may not matter much).
  • Market bubbles that will happen are contrary to socialistic idea. I have no solution.

Basic Design

I take the existing system MoonBeam and modify it:

  • No gas token.
  • First-class (integrated into the core) tokens (like ERC-1155).
  • Emphasis that tokens are issued by anybody.
  • So, the system is more decentralized: it has no centralized gas token and no centralized token issuing plan.
    • Because we have no gas/payment token, every token is like a gas token and can be valuable as a mean of payment! To make it work, we may need a browser plugin for easy exchange of tokens while paying for a service. (It can be made cheap by putting exchange into the core.)
  • Contract rent is also paid in any token (accordingly to its relative price in the centralized exchange). Poke reward is paid in any token of user’s choice.
  • The amount of contract rent and of poke reward are set in a token chosen by developers in a centralized way. (TODO: It would be better if developers set it to validators vote somehow about this token and amount.)
  • It is designated in the centralized way a list (more exactly, a map to minimum required amounts) of validation tokens and their minimum balance for validation right.
  • The validator tokens are locked when entering into validation.
  • Every validator chooses a token (not necessarily in this list) to receive reward in. The validator’s reward is the centralized price of validation token multiplied by a coefficient set in a centralized way. Remark: That is more just than Ethereum’s validation profit as a multiple of the invested sum, because small and big validator do the same amount of work.
  • That has the advantage that the developers could choose a “reputation” (in the socio-psychological sense, e.g. it may be a voting token in an external to our blockchain system) token as a validation warranty to improve responsibility of validators over simply monetary rewards/fines. Remark: Reputation tokens are often non-transferable, so despite the validation token and reward token may be the same, it often wil be impossible to receive a reward in validation token. Driving rights are sold on the centralized exchange even if they are non-transferable 🙂
  • In addition, for each validation token is set a fine token: Fines are taken in it, if the validator misbehaves. Use case: Validation token is an NFT that signifies than one is both a member of a government and has a driving license, and the fine token is the token that signifies that he has a driving license. If a member of government misbehaves, he may lose his job, because not being able to drive anymore. This example is highly contrived, but it signifies the principle of rights and obligations as the idea of this system of tokens used in validation.
  • Obviously, fine token must be locked (by an approval operation to e.g. zero address) to the validator’s account (like those 32 ETH).
  • Note that the receipt of the payment is processed by the validator himself (to avoid recursive growing of gas when added gas of the validator’s reward processing).
  • Validators are therefore not dictators and not an unfounded method of get richer but are more responsible to users.
  • Validators are motivated to do something to grow value of user’s tokens what is good for special-purpose (e.g. nonprofit) tokens.
  • Make a centralized exchange like Uniswap in the system core to easily make users exchange tokens.
  • Moonbeam removes a user account with gas token balance below a threshold (to save space). Our token standard will similarly allow token creators to remove a token balance for a particular token when it reaches a threshold.
  • Gas is paid in any token of user’s choice through the centralized exchange (while validators also accept transaction fees in any token of their choice).
  • Integrate (after a rewrite in WASM) my Future Salaries dApp into the new blockchain.

So, we have a blockchain that we advertise as the world system for salaries and for common goods.

If in short, Future Salaries system is:

  • Every registered user gets one personal token per second (that’s his/her/its “salary”).
  • In the context of salaries a personal token is a pair of an oracle ID and a “condition ID” (that is project ID, e.g. a person or a company is a project).
  • With each oracle ID is associated an oracle account that controls a prediction market distributing accrued during (future) time collaterals between conditional token holders.
  • We expect that users of other oracles will donate much of their conditional tokens to our oracle to be used as a conditionals. This looks viable, because our system is tailored for non-commercial projects and so it can build a community of inter-donating non-commercial projects to build a robust economy.
  • The collaterals are paid by oracles to salary recipients (or more likely to traders that bought their salary tokens) after some amount of time.
  • So, we have a system for funding common goods, because salary values are distributed accordingly oracles that are not necessarily incentivized to make value from these tokens (doing this would be legal fraud and the existing FIAT system already solves this trouble relatively well). Moreover, sometimes we can build algorithmic oracles (e.g. in Cartesi) that are not controlled by some profit-receiving entity.
  • The values can be set to be for example predicted future citation counts for a scientist.

Token Information

Roadmap

  • Rewrite MoonBeam node software to exclude gas token. (20 days, probably; $0).
  • Browser plugin modifying the Polkadot’s one (a few days, exchange will need more work later; $0)
  • Integrate Future Salaries dApp (1-5 months, need to rewrite in WASM)
  • Centralized exchange (a few days; $0)
  • Finishing the website and announce.
  • Need to pay for smart contract audit (cost?)
  • Design of Future Salaries dApp
  • Oracles (maybe, Cartesi) for Python and D language package authors salaries, arXiv oracle if possible (~0.5-3 months).
  • Start serious advertising.
  • Integrate my carbon counting system (with advanced anti-theft) (rewrite in WASM).
  • Need to pay for smart contract audit (cost?)

Business Model and User Acquisition

For good or bad, this project is to be driven by volunteers at first; but when Future Salaries start to have economical impact, it will be driven by high paid Future Salaries workers.

User acquisition is planned through a link from my >100000 pages growing site vporton.name and as usual by word of mouth.

We may try to get in workers associations.

Moreover, I am going to use my own salary in Future Salaries to improve/spread this project.

Expected sources of my own salaries

Profits (they come to me as to as to a user of the ledger, not as to its author, but the profits of this kind anyway can be big):

  • I have several great free projects that would make me a great salary (and here the word “salary” doesn’t mean “something small compared to profits of businesses”) in my salaries smart contract:
    • a mathematical research “algebraic general topology” that is more general than group theory. Group theory is kinda almost half of mathematics, so my theory is even greater. My potential predicted citation counts (and therefore the amounts of collaterals personally I receive) would skyrocket, taking a big part of the future scientific market.
    • other my math research
    • philosophical ideas (I solved several “eternal” philosophical questions)
    • software and ideas for making HTML and other related technologies (such as scientific publishing) well instead of current crooked state. I am to replace HTML and current technologies of scientific typography with a radically new system.
    • this blockchain and Future Salaries
    • a browser plugin for reviews and truly free speech
    • other

Team Information

  • Victor Porton, a self-taught Rust and blockchain developer.
  • People that I will hire through e.g. Fiverr and welcome through the site.

Future Goals

Features to be added in the future

Efficient Copy-on-Write (“Forkery”)

At a later stage we will change the format of our database to allow momental copies of any part of the system. So, it will be possible, for example to copy a token with all its balances and create your own token based on it.

I realized that there is a data structure in which copying an object takes almost zero time and energy. Hey Linus, it’s possible to build a filesystem in which copying a 100GB file happens in about 1/10000 sec without using much memory!

The scientific article about this algorithm is to be written. The algorithm follows the following simple ideas:

  • Index blocks of memory by a number of a fork and a point in time (a natural number), store all such pairs together with pointers to memory blocks in a data structure with storage and complexity similar to a (My)SQL table with a two-column (the number of a fork and the point in time) composite index.
  • So, for a “sequential” forks (when an object that has been already forked cannot be forked again, but its children can be forked further) retrieval is an efficient operation by analogy with SQL
    SELECT value FROM storage WHERE fork <= ? AND time <= ? ORDER BY fork ASC, time ASC LIMIT 1
    Especially, retrieval of the first or the last element is constant-time (very efficient).
  • If we have not just a sequence of forks: 0, 1, 2, … but a tree of forks? We also can manage this reasonably efficiently: E.g. make a mapping from every fork number that deviates from linear order (that is where there are forks not only of the very last fork) into a sequence of a new B-tree version (see https://www.usenix.org/legacy/event/hotstorage11/tech/final_files/Twigg.pdf for “stratified” B-trees that basically offer logarithmic that is adequate performance).
    It still remains efficient especially constant-time for insertion into the end.
  • The size of the data structure can be kept small (or we can instead opt-out of deleting old data to keep the complete version history what is another useful feature), because we need to store only the last version or the version which another forks depends on.
  • Storing data (except of storing into a new fork, which is logarithmic on the number of forks) is also constant-time (super-efficient), because we need to update only the pointer to the actual storage not the indexes (we don’t need to update the time, except if we opt-in to keep the complete history of changes).

So, we can make a WASM/EVM API to fork something (e.g. a contract or a part of contract’s storage as the contract itself decides). without copying it byte-by-byte and without forking the blockchain source. That’s an efficient copy-on-write.

We also can make API to track changes since a certain moment of time (useful for example for voting tokens to know their past amount at the point when the voting started).

Sharding

Add shard/sidechains like Ethereum 2.0 ones.

Reliability

I mentioned that Ethereum has some reliability issues that we don’t. We can further improve our protection against majority of validators attack by modifying our centralized exchange to lower prices of tokens that have too much market cap. (It needs further research if this non-market counter-monopoly measure is sustainable.)

Other

  • A sparking electronic lamp (you know the experiment: a sparkling contact causes sparks in several meters of it) made me feel like a solar storm every day, like a drunk man I made some stupid acts and conflicted with Ethereum foundation during a competition. I suspect, it may have been one of the main reasons of ETH price fall… I eliminated a competitor 🙂