
Today I will talk about the idea, which probably at least once occurred to anyone who first encountered electronic means of payment. Namely, it would be great if electronic money could be treated like regular files: create, move, send by email. mail, upload to FTP.
In most cases, it is enough for this to be the standard means of any OS.
Warning The described methods of circulation of cash and cash equivalents are conceptual in nature.
Using only the means described may endanger your property and property rights.')
Introductory
The idea of ​​using files for cash settlements was born immediately after becoming acquainted with the Webmoney system, or rather, one of its services - paymer.com
By the way, the draft of this note appeared more than 6 years ago and is 100% sure that even then a lot of people thought about this.
Let me remind you that with the help of the paymer.com service, it is possible to issue settlement orders secured by the issuer's assets of the order, whether or not the agent of the system has it. There are currently two agents:
* E-currency - takes into account liabilities in WM currency. The assets are at the disposal of the agent;
* Obligation - takes into account obligations in free form. Agent does not manage collateral for orders.
Any user of the Webmoney system can issue orders secured by WM.
It makes no sense to dwell on the requirements and the issue procedure, they are simple and described on the website of the service.
At the exit, we get a list of details of the issued orders, secured, for example, WMR, namely the number and code of each order. Any user who knows the order number and code can receive money from it on his WMR wallet. In particular, it was through paymer that the WMR and WMZ recharge card codes were implemented.
At that moment it seemed like some kind of magic - these numbers cost money, i.e. This is real digital money.
Here they are on your disk and you can do with them what you want without the use of special programs, digital signatures, etc.
It’s one thing when you buy a recharge card in a stall and send the code to your counterparty, and it’s quite another when you create digital money from your balance. At that time there was no Bitcoin mining yet.
Now, instead of paymer, we can use any payment guarantee or escrow service that provides
access to financial assets through a unique code.
For example, earlier QIWI had “transfers to email”, later renamed QIWI. Eggs.
The private key to a bitcoin wallet with money is also a good example.
Hereinafter, the unique code by which you can access the financial asset will be called the
payment code , and the organization-service through which this code is activated is the
operator .
Implementation
So, surely many people had the idea to put these digital codes in a file, getting a kind of “file” coin. The resulting coin can be moved between folders, sent to friends and counterparties, removed to the trash (ie, “tear to shreds”).
In order to improve the mechanism of the “file coin”, it was possible to register some special file extension and a special icon for a text file. For example, choosing a free option
on the site of one of Habr residents (avatar to post from there).
This can be done both manually and with a simple batch file.
For different denominations, in order not to get confused, you can register different extensions, icons, etc.
As a result, we get a scattering of file coins, which need to be stored somewhere. Can be stored in a folder on the desktop.
But it is better to use any file archive for this purpose (I recommend RAR), which will serve as a wallet.
Again, we register in the system a separate extension for it and the corresponding image.
Now, using the intuitive “drag / drop” method, we can replenish your wallet with fresh bills.
And for reliability even put a password on it. The wallet itself can be worn anywhere on a flash drive.
We improve the idea
The above idea with files lies on the surface and its originality is not worth even the kilowatt * hours spent on writing notes. Therefore, we continue to improve.
One of the principles of TRIZ: there is no mechanism, and its functions are performed.
Above, we have a text file and an icon registered in the system, i.e. two files.
Why do we need text files to store payment codes when we already use
Icons for these files? We remove the intermediary by the method of steganography.
And since I promised to use regular OS tools, we’ll do it by regular gluing files together.
In the console, it might look like this:
copy /b filename.txt+filename.ico filename.ico
You will still be able to see the payment code through a plain text editor, such as notepad, scrolling through the pages to the end of the file.
The method is not very convenient, but in this case, our file will automatically, when selecting the appropriate icon, look like a file coin in the system. And not only on our computer, but also on the computer of other users.
No need for additional extensions, registrations, pre-predefined file icons, etc.
In defense of such simplicity, I would say that if we plan a full-fledged cash flow, then users will rarely look into the account details.
Obviously, this solution will be less convenient for the wallet. A text editor does not look at the contents of the archive.
Yes, we can, by signature, calculate the beginning of the archive, cut it out and, inserting it into a new file, open it.
But for the RAR archives (it’s not for nothing that I recommended it) there is a more elegant way: when gluing it with the * .jpeg picture as described above, we can open the specified picture directly with the archiver. This was even an article on Habré.
In this way it is even more convenient to exchange coins, since working with the archiver and text files in it is more convenient than digging through the icon file in search of a payment code.
In the sense of sending a picture to a friend, you will not transfer a wallet, but a file envelope with money.
The envelope can also be password-sealed.
In general, full offline analogies.
At this, the use of regular OS means ends. All further improvements require the development of additional utilities. But even in this form, file coins can be used for unidirectional transmission, for example, on forums.
More details below .
Add steganography
Strictly speaking, pasting a text file with an icon file is already steganography, but we can go deeper - stitch payment details directly into * .ICO file using the LSB method.
It is unlikely that you will get by with the standard OS tools, but then we will no longer need the wallet file with a password.
To work with large wallets (envelopes), due to the size of the file and (or) the need for stealth, you can use jpeg instead of * .ICO files (for both normal gluing and LSB). Moreover, most services for downloading often allow jpeg, and not ICO.
When jpeg images are glued together with a wallet, it continues to be opened by graphic editors and viewers.
When thumbnails are displayed in the system, this option does not play at all with the icon version.
Practical use
The note would be incomplete if I did not mention practical examples of using the whole described above and possible ways of developing the idea.
First of all , such file coins could well replace “likes”, “thanks” in many forums. They are displayed by regular means of the browser and do not require individual fat clients, passwords to personal accounts and other EDS. The integration into the engine is the simplest: the user clicks "thank you", he is offered to download the file-coin. The block with pictures of coins is displayed only to the author of the post.
It is possible to integrate the settlement system even bypassing admins, using personal accounts with the possibility of transferring pictures and the system of forum reputation.
File coins are convenient for using for encouragement of users of this or that resource.
At the same time, recipients of such bonuses through personal message systems can easily share them with other users.
Since such schemes involve a unilateral exchange of security issues are not acute.
Also, a file note can be broken into two or more parts by creating files with the image of bill pieces (payment codes are divided between these two or more files and become relevant only when merged).
Ripped pieces of the bill file can be issued in online games, promotional quests, and other gamification mechanics.
Where steganography is, there is cryptography
[img src = "Picture with DiCaprio" alt = "tribute to fashion" title = "Deeper" /]
If we want only the recipient to receive our file coin and no one “falsified the coin” on the way, then we should not forget about asymmetric encryption.
With it, we can make nominal coins, in the sense that only a predetermined recipient can use them. To do this, as you might guess, it is necessary to encrypt the payment code with the recipient's public key. The payment document number can be left open so that third parties can verify the nominal value of the means of payment if the operator does not provide such a number.
If desired, by encrypting the details with our private key, we can even issue our own currency, secured by rubles, for example, acting as a guarantor over it. With this implementation, each participant can make sure:
1) that the coin is indeed issued by the guarantor;
2) by the number, find out the denomination of the coin;
3) if necessary, “cash” the coin at the guarantor;
This scheme is quite suitable for small online communities (forums, users of group IRC chats, groups in social networks) as a means of internal payments when conducting auctions or direct sales transactions between participants.
In this case, the protection from the banal copying of a file is the trust and fear of permanent exclusion from the group.
The guarantor can act as an admin resource.
If you don’t have to rely on trust, but exclusion from the group is still a significant factor for each participant, then you can complicate the scheme by adding a mandatory coin signature by the payer with your key (EDS) during the transfer. Those. each coin will form a continuous list of signatures, each of which is based on the signature of the previous owner and the future. Yes, yes, again remember about Bitcoin. Such a scheme will ensure the integrity of the list of changes. And, upon presentation of the copied coin to the guarantor, it will immediately reveal on which participant it happened. And so that the list does not grow, at the system level, you can enter a limit on its size, upon reaching which, the coin must be presented to the guarantor, who either replaces it or pays for it.
I have resulted only a part of the schemes of using bilateral transactions based on the cryptography of two pairs of keys (on the side of the sender and the receiver). The use of cryptographic algorithms with several public keys, and in particular a secret sharing scheme, can become an inexhaustible source of ideas for practical use.
In short, the secret key is divided into several parts (shares) and transferred to several system participants.
Each participant by itself cannot recover the secret key, but by joining together with other participants according to certain rules this can be done.
In Bruce Schneier’s book, Applied Cryptography. 2nd ed. Protocols, algorithms and source texts in the C language. The abundance of possible options for sharing a secret will power the fountain of your ideas for a very long time.
Evaluate the titles of the relevant section of the book:
- Sharing a secret
- Sharing with scammers
- Sharing without Trent *
- Sharing without disclosing shares
- Confirmed secret sharing
- Secret sharing schemes with protection measures
(voting "yes" / "no" for disclosing a secret)
* Trent is a member sharing a secret.
These schemes can improve the organizational structure of the turnover of payment codes.
In particular, to introduce an element of the collective management of the monetary system by creating a board of governors, audit commissions, etc.
For example, the scheme “Sharing without Trent” will allow to create an inter-gallatory council on the introduction of the e-currency of the Universal Jedi Vasi Pupkin, which, in addition to Pupkin himself, will include all of his friends in the forum. And who will not allow their friend to engage in the unrestricted issue of payment documents because the forum’s rulebook will be prohibited (and technically impossible) to accept payment codes not signed with the secret key of the said Board.
But how can you draw your electronic money?
So, what we have achieved:
- learned how to "digitize" real money
- pack them into files nice and clear
- it’s convenient to share them
- and even collectively manage exchanges and emissions.
But there was only one drawback - linking to the already existing payment and settlement systems and services.
And although the same paymera, according to the developers, the legal scheme allows in case of anything to apply to the court for the recovery of money. We will try to use more familiar legal constructions.
The Federal Law on Electronic Signature and the
Federal Law on Copiracy will help us in this fourth part of the Civil Code, where there is a conversation about copyright.
The first opportunity to issue your money is to use a
loan agreement .
The general scheme is this: digital money is essentially the issuer's debt (your debt) to other people who use this money.
In order to use electronic money issued in such a way, it is not limited to friends and relatives, we need to be known and reputable. By the way, some celebrities, people will give money even faster than they will buy bonds of a company with an AAA rating.
Without going deep into the legal nuances, for the first method we need:
- electronic signature,
- template receipts in the receipt of money with the right conditions
(return after 49 years, interest-free, permission to transfer the debt, the prohibition of early withdrawal, the resolution of early repayment) - claim requirement assignment agreement template
- A site that explains in a light and unobtrusive form the entire cash flow.
Immediately remove the concerns of some people who are afraid of debt and lenders. A contract for 49 years, you can only conclude it after 18 years, which means that if you live in the Russian Federation, you will not statistically find the moment of execution of the contract.
We post a receipt form on the website, information about the hashing algorithm in order to use an electronic signature (EP) and the public key EP. The potential holder of your future “den. Signs ”sends you your data, you enter them into the receipt, count the hash, sign it and insert the result using the steganographic method in the file icon.
Thus, the recipient can always submit to the court a receipt signed by the borrower.
If the holder of such an icon-file needs to be transferred to someone, he inserts the recipient's data into the agreement on the assignment of a monetary claim, “hashes”, signs, adds a signature to the icon-file and transmits. The recipient will then be able to submit this file to the original borrower, who in turn will be able to trace and verify the entire chain.
Plus your money will be in interest-free transfers and their speed.
You can maintain the infrastructure of the project for interest on deposits in which you place money
received on loans from the "issue of your own currency."
To configure this method include:
- term of the obligation (maturity of money),
- possibility of changing the debtor (for insurance against his death, etc.)
- use of collectives as issuers (on the basis of a loan guarantee and secret sharing schemes in EDS)
The advantage of such a scheme is that you are not tied to real money: neither the issuer, nor the recipient may have it. And you can pay for such work with such money.
If you do not have fame, then build your payment system on loans can be modeled
ripple . The essence is this: loans are issued only between friends, but not above a certain limit. If you need to send or receive money from anyone who is not in your circles, a chain is built up between friends of friends, etc. The efficiency of this option rests entirely on the theory of the “six handshakes”, and the minimum load for each person is limited by the “Number of Donbar”.
The second method is related to
copyright .
To do this, you need to draw your original icon for the coin file. As an issue, you will simply sell it as a painting.
It is important to supply each picture with a unique number, signed by your EDS. And since if you embed this information in the file, it will change slightly (the lower bits will be different, you need to keep track of the collisions), legally you will sell a slightly different picture every time.
And in order to give "weight" to your money, on the site you can post a public offer that, for example, every last day of the month you are ready to buy out your paintings at the selling price. Those. give some convertibility to your new currency. By the way, one of our
compatriots acted in a similar way in 1994, declaring his signature to be a work of art.
It is possible to fight with “counterfeiters” using your copyright. For when selling a painting, the exclusive rights to it are not automatically transferred to the new owner.
For the implementation of the circulation of such a currency, there is no need to make repeated purchase and sale agreements. Legal clarity in the "payment" picture is not required. And in order for the issuer to be sure of the person applying for the purchase of a picture, it’s enough at the end of the file to keep a coherent list of EDS owners, as it happens in Bitcoin.
The disadvantage of this method is the need to pay personal income tax from the sale of "paintings". But if the term of circulation of each particular “picture” is limited to at least two years, then the interest from the use of NDFL money can be recaptured.
The first and second methods can certainly be combined.
Conclusion
Grateful to everyone who read to the end.
It would be possible to divide the note into two parts, but I wanted to provide the entire volume before the note drowned in the sandbox.
In case the topic evokes interest, I am ready to paint each part in separate posts in more detail, providing them with appropriate pictures for ease of reading.