Open electronic currency with high transaction rate
Good day, dear.
In this article, I propose to develop a decentralized e-currency (DEA), with high transaction speed, no overhead costs in the form of mining, an open architecture, and open source.
The article is divided into parts: introduction, description of principles, a rough development plan.
Introduction (if someone doesn’t like joking with jokes - I recommend skipping)
More free e-currency? (Than some other currencies ...).
While Bitcoin wins the masses with long strides ... It’s time for the community to take on the new currency. What did bitcoin give? Decentralization, and some independence. But ... He has a lot of problems ... Big problems with speed, high overhead. The complexity of introducing new features.
What do the followers offer? Partial solution of problems in the project of each team. Leader yet (and thank God!). Now to the usual expression "I will have my blackjack and girls with low social. Responsibility ”is to add“ and its own cryptocurrency ”- yes, I hint a bit at Pavel Durov.
Each team creates some idea, tries to get going, to find investors, and ... there is happiness, there is no need to strive anywhere else. Then the team (if it is not fraudsters) saws the code, after a while it can even open it ... And ... Do we have free currency?
No. Who will check this code? Who will analyze? Is there a realization curve, are there secret doors, and maybe the system architect specifically envisioned a back door to take away a lot of money at one point?
Would you buy a bunch of such coins for your money? I would not ... Maximum, I would use them to pay for something, if other money is not accepted yet ...
Of course, you can argue that if you wish, you can sort out the source code of the project, and analyze it. But who will understand the code that is developed by a narrow group of people? And it is not known how long the system will last? After all, if a system is written for a small group, then its lifetime is small ...
The meaning of my reasoning is difficult to trust in a not very transparent system, especially if there are no responsible persons.
Therefore, we need not only the source code of the cryptocurrency, we need the original documents of the architects, we need the community to participate in the discussion of the architecture of the project.
So that you can check the architecture, and if you want to write your client, server.
If the system allows you to write your own module, and include it in the protocol under certain conditions - this is a great flexibility. And if there is a test site in the system in which you can drive your solutions, it will most likely be difficult to find vulnerabilities in it!
And only such an architecture can meet the demands of many people as much as possible, and not serve some limited persons.
Of course, we need a leadership center, and experienced architects, who will help not to suffocate the project from the wishes of users, especially in the early stages.
After the introduction, you should ask a question, what do I suggest?
I propose a system that does not require energy-consuming encryption algorithms, and the stability of the system against attacks is maintained with the help of a constant test for truth (correctness of transactions).
System partitioning
The system is divided into simple users - customers, and stations, official, and unofficial.
Checking the correctness of transactions A
transaction goes to one of the official stations directly from the client, or from an unofficial site. If the transaction comes from the client directly, the station verifies the authenticity of the signature, signs the transaction, and broadcasts to other stations.
After that, all official nodes sign the transaction, and after a time of protest, it is considered past. During the protest time, one of the unofficial stations may protest if the transaction is signed with an incorrect client signature. A protest is accepted if there are funds on the account of an unofficial station for filing a protest. They are blocked, and all nodes decide whether or not the correct transaction. If no one supported the protest, the funds from the node are written off, a mark about the hacker attack from this node is made. After that, the node will become harder to become official.
If part of the stations recognized the transaction as correct, part is not, then a disputed transaction is sent to the customers. And the network is divided into 2 parts - one part recognizes the transaction is correct, the other wrong. Those customers who consider it correct, join the stations that I consider it correct. Accordingly, those who consider it wrong - to nodes with the appropriate opinion.
Thus, the part of the network that is infected with viruses is cut off, and it recognizes an invalid transaction as valid.
Such a division can also be initiated by a regular client. Of course, in order to avoid flooding attacks, for each such request, a certain amount is blocked on the requested account. In case the request is correct, the amount is refunded and the bonus is paid. The bonus is taken from the account of hacker stations that will pay a fine.
After the division, the network again selects the official stations, and continues to work.
Clients and stations that have switched to the opposite network can return by paying a fine (in some cases without penalty).
Checking the correctness of the registry
At each station, at a minimum, a registry is kept that describes how much money the stations and customers own.
Some stations maintain a history of operations. Clients store only the data, how much money they have, or partly of some of the registries for some time.
The stations themselves choose which algorithm they use to protect the integrity of the registry of tools, and the registry of operations history. The network protocol allows you to implement any registry protection algorithm as a module. And any station can use any such module. Some modules are required to protect the registry. The registry can be stored on the blockchain, signed by multiple stations, stations must periodically exchange registries.
Thus, stations, when detecting a registry forgery, can remove an attacking station from the network.
But with customers is a little more complicated. Since the client either does not keep the registry, or stores part of it, he cannot unambiguously understand which network is correct and which one is attacking. If the part of the registry that the client stores allows it to identify the correct network, it joins the correct network.
If not, the client joins the station that it trusts, or chooses the correct network using a complex algorithm (For example, the correct network is most likely larger, it has more stations to which more trust, etc.)
Also, the client can time to move to another network, or exist simultaneously in both.
Principles of partitioning the system
In the network a certain number of official nodes that are responsible for the transaction. This number of nodes will vary with the number of transactions in the network, and the network capitalization.
The network will pay these nodes a certain reward on a daily basis, which will vary depending on the e-currency rate.
There can be an unlimited number of stations responsible for transactions in the network - any user can install such a node for himself. But he can become an official only if he has a certain amount on the account, not a very large amount, and will apply for membership in official nodes.
In case the official node stops working for a certain time, the system randomly selects a new official node from the unofficial ones. Moreover, the probability of such a choice for a node is higher, the more it is in the network, the faster it works, the less complaints there are to it.
In the case of transfer of the node to the official, the amount that allows it to be official is blocked on its account. The node will be able to spend this money only by submitting an application for withdrawal from the official nodes, and after it leaves the official nodes, the funds are unblocked.
If a site has violated certain rules, it is either excluded from official sites, or its funds are debited in full or in part from a blocked account, or both. If the rules allow the site to get off with a fine, and remain an official site, to continue its work, new funds will be written off from its account, up to the limit allowed by the site owner.
The network has privileged sites that belong to the developer, they are always official, and cannot lose this status only if they are not found to be attacked.
A certain number of unofficial sites receive funds that are randomly distributed between them. The probability of winning funds for an unofficial site is the higher, the better it worked (faster, without failures, without hacker attacks from the site).
These tools will encourage users to maintain a network of unofficial sites.
Why do we need such a network?
How the system
is supposed to be launched It is supposed that the system will be open and free, however, not all people are ready to work for the sake of an idea, and to launch such a project, competent specialists and professionals are required.
Therefore, part of the funds for the payment of specialists is supposed to be collected through the ICO.
Distribution of money The
initial ICO will give money for programmers and promotion (promotion) of the system. A limited amount of currency will be issued, and distributed among investors, in proportion to their contribution.
Part of it will be spent on development (year), the remaining funds will be spent on promoting the currency.
Repeated ICO is possible if the currency rate rises by more than 2 times in relation to gold, or the money for development and promotion runs out.
In the case of each re-issue, 2 times less currency will be issued than was issued the previous time.
What investors will receive
Investors will receive a base currency that will grow in value. It is assumed that many different types of money will be issued - money tied to nat. currencies - you can buy them for cash, and various other types of money, for example - that depreciate over time, etc. But the base currency will be one, and its rate will grow constantly. It can be exchanged for any currency, and withdrawn in cash.
In addition, investors can get the tools to create exchanges, banks, guarantee agencies, and other types of businesses, first of all, and directly from developers.
Approximate launch schedule
The study of architecture, search for premises and personnel, registration of the enterprise 3 months.
Writing basic protocols, the main modules of 3 months.
Pilot start of the project in 6 months (programming, protocol, test launch).
After 6 months, the launch of the project in a test environment, with the possibility of game payment.
After 6 months start working project.
Subsequently, the implementation of additional features.
Results
If there are similar proposals, or there are solutions for the EI, please indicate in the comments.
Any constructive criticism is welcome.
Are you interested in developing the project? Invest as an investor, programmer, translator, PR specialist?
Not all aspects and decisions are illuminated, but the basic principles are yes. If necessary, I will write a sequel.
Well, it seems to me that the name of such a system is correct - TrueCoin, or FreeCoin.
In this article, I propose to develop a decentralized e-currency (DEA), with high transaction speed, no overhead costs in the form of mining, an open architecture, and open source.
The article is divided into parts: introduction, description of principles, a rough development plan.
Introduction (if someone doesn’t like joking with jokes - I recommend skipping)
More free e-currency? (Than some other currencies ...).
While Bitcoin wins the masses with long strides ... It’s time for the community to take on the new currency. What did bitcoin give? Decentralization, and some independence. But ... He has a lot of problems ... Big problems with speed, high overhead. The complexity of introducing new features.
What do the followers offer? Partial solution of problems in the project of each team. Leader yet (and thank God!). Now to the usual expression "I will have my blackjack and girls with low social. Responsibility ”is to add“ and its own cryptocurrency ”- yes, I hint a bit at Pavel Durov.
Each team creates some idea, tries to get going, to find investors, and ... there is happiness, there is no need to strive anywhere else. Then the team (if it is not fraudsters) saws the code, after a while it can even open it ... And ... Do we have free currency?
No. Who will check this code? Who will analyze? Is there a realization curve, are there secret doors, and maybe the system architect specifically envisioned a back door to take away a lot of money at one point?
Would you buy a bunch of such coins for your money? I would not ... Maximum, I would use them to pay for something, if other money is not accepted yet ...
Of course, you can argue that if you wish, you can sort out the source code of the project, and analyze it. But who will understand the code that is developed by a narrow group of people? And it is not known how long the system will last? After all, if a system is written for a small group, then its lifetime is small ...
The meaning of my reasoning is difficult to trust in a not very transparent system, especially if there are no responsible persons.
Therefore, we need not only the source code of the cryptocurrency, we need the original documents of the architects, we need the community to participate in the discussion of the architecture of the project.
So that you can check the architecture, and if you want to write your client, server.
If the system allows you to write your own module, and include it in the protocol under certain conditions - this is a great flexibility. And if there is a test site in the system in which you can drive your solutions, it will most likely be difficult to find vulnerabilities in it!
And only such an architecture can meet the demands of many people as much as possible, and not serve some limited persons.
Of course, we need a leadership center, and experienced architects, who will help not to suffocate the project from the wishes of users, especially in the early stages.
After the introduction, you should ask a question, what do I suggest?
I propose a system that does not require energy-consuming encryption algorithms, and the stability of the system against attacks is maintained with the help of a constant test for truth (correctness of transactions).
System partitioning
The system is divided into simple users - customers, and stations, official, and unofficial.
Checking the correctness of transactions A
transaction goes to one of the official stations directly from the client, or from an unofficial site. If the transaction comes from the client directly, the station verifies the authenticity of the signature, signs the transaction, and broadcasts to other stations.
After that, all official nodes sign the transaction, and after a time of protest, it is considered past. During the protest time, one of the unofficial stations may protest if the transaction is signed with an incorrect client signature. A protest is accepted if there are funds on the account of an unofficial station for filing a protest. They are blocked, and all nodes decide whether or not the correct transaction. If no one supported the protest, the funds from the node are written off, a mark about the hacker attack from this node is made. After that, the node will become harder to become official.
If part of the stations recognized the transaction as correct, part is not, then a disputed transaction is sent to the customers. And the network is divided into 2 parts - one part recognizes the transaction is correct, the other wrong. Those customers who consider it correct, join the stations that I consider it correct. Accordingly, those who consider it wrong - to nodes with the appropriate opinion.
Thus, the part of the network that is infected with viruses is cut off, and it recognizes an invalid transaction as valid.
Such a division can also be initiated by a regular client. Of course, in order to avoid flooding attacks, for each such request, a certain amount is blocked on the requested account. In case the request is correct, the amount is refunded and the bonus is paid. The bonus is taken from the account of hacker stations that will pay a fine.
After the division, the network again selects the official stations, and continues to work.
Clients and stations that have switched to the opposite network can return by paying a fine (in some cases without penalty).
Checking the correctness of the registry
At each station, at a minimum, a registry is kept that describes how much money the stations and customers own.
Some stations maintain a history of operations. Clients store only the data, how much money they have, or partly of some of the registries for some time.
The stations themselves choose which algorithm they use to protect the integrity of the registry of tools, and the registry of operations history. The network protocol allows you to implement any registry protection algorithm as a module. And any station can use any such module. Some modules are required to protect the registry. The registry can be stored on the blockchain, signed by multiple stations, stations must periodically exchange registries.
Thus, stations, when detecting a registry forgery, can remove an attacking station from the network.
But with customers is a little more complicated. Since the client either does not keep the registry, or stores part of it, he cannot unambiguously understand which network is correct and which one is attacking. If the part of the registry that the client stores allows it to identify the correct network, it joins the correct network.
If not, the client joins the station that it trusts, or chooses the correct network using a complex algorithm (For example, the correct network is most likely larger, it has more stations to which more trust, etc.)
Also, the client can time to move to another network, or exist simultaneously in both.
Principles of partitioning the system
In the network a certain number of official nodes that are responsible for the transaction. This number of nodes will vary with the number of transactions in the network, and the network capitalization.
The network will pay these nodes a certain reward on a daily basis, which will vary depending on the e-currency rate.
There can be an unlimited number of stations responsible for transactions in the network - any user can install such a node for himself. But he can become an official only if he has a certain amount on the account, not a very large amount, and will apply for membership in official nodes.
In case the official node stops working for a certain time, the system randomly selects a new official node from the unofficial ones. Moreover, the probability of such a choice for a node is higher, the more it is in the network, the faster it works, the less complaints there are to it.
In the case of transfer of the node to the official, the amount that allows it to be official is blocked on its account. The node will be able to spend this money only by submitting an application for withdrawal from the official nodes, and after it leaves the official nodes, the funds are unblocked.
If a site has violated certain rules, it is either excluded from official sites, or its funds are debited in full or in part from a blocked account, or both. If the rules allow the site to get off with a fine, and remain an official site, to continue its work, new funds will be written off from its account, up to the limit allowed by the site owner.
The network has privileged sites that belong to the developer, they are always official, and cannot lose this status only if they are not found to be attacked.
A certain number of unofficial sites receive funds that are randomly distributed between them. The probability of winning funds for an unofficial site is the higher, the better it worked (faster, without failures, without hacker attacks from the site).
These tools will encourage users to maintain a network of unofficial sites.
Why do we need such a network?
- This kind of network is very fast. Users will be able to pay for goods and services as well as pay with bank cards.
- Users can tear off their banks, stock exchanges, exchangers (this is not written in the article, only the basic principles are described, but the implementation of various types of currencies, smart contracts, etc., is supposed. Real-time currency exchange capabilities).
- No expensive mining stations are required - there will be less overhead.
- Thanks to openness and modularity, the network can be expanded and scaled.
- Architecture can be developed by the community.
How the system
is supposed to be launched It is supposed that the system will be open and free, however, not all people are ready to work for the sake of an idea, and to launch such a project, competent specialists and professionals are required.
Therefore, part of the funds for the payment of specialists is supposed to be collected through the ICO.
Distribution of money The
initial ICO will give money for programmers and promotion (promotion) of the system. A limited amount of currency will be issued, and distributed among investors, in proportion to their contribution.
Part of it will be spent on development (year), the remaining funds will be spent on promoting the currency.
Repeated ICO is possible if the currency rate rises by more than 2 times in relation to gold, or the money for development and promotion runs out.
In the case of each re-issue, 2 times less currency will be issued than was issued the previous time.
What investors will receive
Investors will receive a base currency that will grow in value. It is assumed that many different types of money will be issued - money tied to nat. currencies - you can buy them for cash, and various other types of money, for example - that depreciate over time, etc. But the base currency will be one, and its rate will grow constantly. It can be exchanged for any currency, and withdrawn in cash.
In addition, investors can get the tools to create exchanges, banks, guarantee agencies, and other types of businesses, first of all, and directly from developers.
Approximate launch schedule
The study of architecture, search for premises and personnel, registration of the enterprise 3 months.
Writing basic protocols, the main modules of 3 months.
Pilot start of the project in 6 months (programming, protocol, test launch).
After 6 months, the launch of the project in a test environment, with the possibility of game payment.
After 6 months start working project.
Subsequently, the implementation of additional features.
Results
If there are similar proposals, or there are solutions for the EI, please indicate in the comments.
Any constructive criticism is welcome.
Are you interested in developing the project? Invest as an investor, programmer, translator, PR specialist?
Not all aspects and decisions are illuminated, but the basic principles are yes. If necessary, I will write a sequel.
Well, it seems to me that the name of such a system is correct - TrueCoin, or FreeCoin.