Semantic Smart Wallets
Author Dmitry I. Sviridenko, Doctor of Science in Physics and Mathematics, Professor, Chief Scientist at KIRIK Meta Protocol www.kirik.io, Innovation Advisor at Sobolev Institute of Mathematics www.math.nsc.ru
This article is a follow-up to the author’s previous study of semantic smart contracts. As the author has promised in the earlier work, here he talks about one important and promising application of semantic smart contracts in the digital economy — digital wallets. But, before we start digging into the topic, let us recall the main points of the semantic smart contract concept.
The main conclusion of the study of semantic smart contracts can be stated as this: logical-probabilistic modelling of a smart contract is proposed instead of programming thereof, under the strict condition that the semantics of the business relations stipulated by the contract are retained. This modelling taking place of programming opens new prospects to semantic smart contract originators and users by allowing:
· to significantly expand the spectrum of business relations that allow smart contract formalization while catering for trust in relations between the parties and keeping only such information in the integrated distributed ledgers that is vitally needed to retain the established degree of trust (e.g. the history of changes in smart contract terms and conditions, or in its structure).
· when drafting and using smart contracts to operate a wide spectrum of logical-probabilistic methods and algorithms of semantic modelling, including artificial intelligence algorithms. It facilitates control of contract implementation by supervising the semantics of the contract formalized relationship; forecasting and planning the future events.
· to make contracts’ drafting, understanding, and analysis within the reach of specialists whose work has nothing to do with programming, like lawyers. Only in this way the problem of legal verification and approval of smart contracts removes itself.
· consider semantic contracts as declarative means of formalization of agents’/actors’ business relationships, that is to interpret them as common business processes, which makes integration of smart contracts into business environment of any nature and complexity easy and intuitive.
It is worthy of note that the proposed concept separates smart contracts from any distributed ledgers that are involved in contract fulfillment. Multiple ledgers can be used to support smart contracts, and the choice of one or another proceeds from terms and properties of the contract itself to best suit the scenario of trust agreed on by the parties.
To summarize: the semantic smart contract can be viewed as logical-probabilistic representation of a business process that characterizes business relations of agents/actors with additional, though not necessary, decentralized mechanisms of assuring trust. This interpretation of smart contracts as business processes allows to easily integrate smart contracts into business environments where complex objects that can be represented as a system of interacting business processes are run.
Let us now get back to digital wallets. Most of us are well accustomed to paying for goods and services with a bank card. We are sure it is safe and convenient. With the coming of mobile internet together with smartphones, tablets, and other similar devices the process became even simpler and more convenient. What you need to do is open a so called digital (or virtual) wallet analogous of a bank account. You can add to the wallet the same way as you replenish your bank account and spend your digital money on goods and services through Internet, or transfer money to other accounts. In the today’s conventional understanding digital wallet is a computer program that uses Internet as communication medium to store and manipulate electronic money, fulfil virtual settlements of different kinds.
In other words, digital wallet can be thought of as a tool, by means of which one can remotely, using Internet, instantly manipulate digital money: check one’s account balance; pay for municipal services, mobile communication, Internet resources; purchase goods on-line; transfer money from the wallet to a bank card and back; disburse a loan, etc. There are digital wallets that can simultaneously manage several virtual accounts, even if they are denominated in different currencies. These multi-account management programs are usually called keepers, which implies that they are separated from the virtual accounts that they control (the digital wallets as such). This remote management of an account (or accounts) is able to: ascertain the current balance, transfer title units, replenish the wallet, invoice others, make purchases by transferring money to the seller’s account, exchange, take care of bonuses offered by different sellers, keep a PoS register, and so on. All these make a digital wallet very similar functionally to a bank account.
Nevertheless, differences between the two exist too. Some of them work in favor of digital wallets. For instance, anonymity. To open a wallet a user should register with one or another virtual payment system, without the necessity to present any ID. Another quality at an advantage of digital wallets is round-the-clock availability. Furthermore, compared to banks the services provided by virtual payment systems have no fixed term and usually are free of charge. Charging only occurs (and a commission can sometimes be pretty high) when you want to withdraw your money from the system and turn them into cash, or transfer to your bank account. Also, if you operate large sums, you may have to go through identification procedure. Anyway, it was just the combination of the above-mentioned advantages that has led to wide welcome of digital wallets. We witness physical cash becoming obsolete by the day due to growing popularity of digital money.
It would be unfair, however, to not mention digital money’s weak points. For example, there are still plenty of organizations that do not accept digital money, although a plethora of new services came into being that accept digital money or bank cards only, refusing to work with cash. Digital payments always require access to Internet, which is not always available. A user can forget or lose their credentials and be denied access to their own wallet. But, the most important issues of digital wallets concern their functionality, security, reliability, and legal verification.
Users’ demand to smart wallet intellectual features has been growing at a rapid rate, which forces payment systems and fintech businesses struggling for clients to actively move in this direction. A tendency towards intelligent digital wallets (smart wallets — reliable, safe, multifunctional and highly intellectual) is clearly seen. This tendency only became stronger with the advent of crypto currencies.
Advanced digital wallets of today bring in “smart menu” that allows users to:
· pay for their purchases at a favorable rate, taking all shop’s discounts and bonuses into account;
· choose payment instruments (cards and/or currencies) that are the most appropriate here and now;
· use tools for planning family budget;
· set goals for saving and pursue them;
· plan future payments and earnings in the calendar, synchronize it with various computer- and cloud-based calendars;
· generate reports and graphs showing income and expenditure by categories, compare them with the previous periods and the current budget plan (smart statistics);
· get notifications on the outstanding payments and nearest earnings through different channels, like SMS, email, chat bots, etc.
Moreover, smart wallets are able to take their own decisions when choosing the most appropriate payment method, as well as plan and forecast income and expenditures on the user’s behalf.
It was mentioned earlier that some digital wallets can operate several bank cards and optimize user’s purchases taking into account the goods to be bought and the PoS where the purchase takes place. Moreover, a user can get several digital wallets and download a special application that, the same way as the basic wallet applications do, allows to manage money on these digital wallets, as though it is one wallet[АС1] . Some digital wallets can be bound with bank accounts of different banks, so the user is free from the necessity to manually enter payment data when paying with cards of other banks. Another interesting feature is a joint digital wallet having several users. This kind of wallet helps to solve the most acute problem of joint ownership — transparency of debiting and crediting.
With the advent of cryptocurrencies, the role and value of digital wallets only became greater. They acquired new functions. For instance, the bitcoin wallet BitX, which is available to Android and iOS users, has a function allowing the users to sell and buy cryptocurrency right in their mobile apps. The benefit of this function to the newbies and unexperienced traders is that they can do all trading operations in the app without the need to open special trading windows in the browser. This wallet is called “smart”, because it can examine the user’s behavior and take advantage of this information in trading, e.g. predict and plan the transaction commission rate to be set by the wallet. We will talk about it later. BitX’s objective for the near future is to issue a series of virtual card numbers for the wallets to let their users spend bitcoins across borders.
With all the benefits cryptocurrencies and the new technologies connected with their usage (e.g. distributed ledgers) brought to the society, they also gave birth to a plethora of new problems that crypto digital wallets have to overcome. One of these problems is transaction hang-up. Let us explain this problem taking bitcoin network as an example.
As the number of transactions in the bitcoin network significantly grew in the past years, and the miners guided by acquisitive considerations preferred to include into their blocks transactions with the highest commission, the transactions generated by users and having low or zero commission were included in blocks by residual principle. As a result, the low commission transactions have been gradually amassing in memory pools (transaction queues), and their validation now takes hours, days, and sometimes even weeks. Cases are known that transactions were not validated at all. It has led to the situation that the initially prescribed commission of one satoshi (0.00000001 BTC) is often insufficient, although in many cases even this commission seems unreasonably high, so that bitcoin is, for example, ill-suited for payments in Internet of things (IoT).
A recommendation usually given to bitcoin users who wish quicker transaction completion is to order the wallet to set higher commission. This order can be given in advance, or at the moment a transaction is submitted for fulfillment. Recommendations how to set a commission come from very different sources (see, for example, 21.co). Some wallets are able to automatically maintain so called dynamical commissions. Such smart wallets calculate a commission so as to make sure it is sufficient for the transaction to be included in the next block, or one of the next blocks. When calculating the commission, they also take into account transaction priority and the desirable time.
Besides raising the commission rate, one can use an Opt-In Replace-by-Fee method that allows to withdraw a transaction from the pull and then put it back with a higher commission, thus placing the transaction closer to the head of the queue. Electrum and GreenAdrress wallets support this feature. Although not all Bitcoin miners support Opt-In Replace-by-Fee, many nodes would accept the new transaction and allow it to take a place at the head of the queue. Another way to increase the transaction speed is a method called Child Pays for Parent (CPFP). In the essence of the method is a fact that miners usually prefer to pick a group of transactions with the highest aggregate commission.
Smart crypto wallets (like bitcoin based Airbitz, Copay, Mycelium, Electrum, GreenAddress, and Coinom) not only determine the proper commission rate to speed up transactions, but also afford everyday payments for goods and services; support various altcoins and tokens; allow to create common multisig wallets without another registration procedure, transfer private keys from the old wallet to a new one, and immediately initiate transactions from the new wallet. Some wallets allow the change received in a transaction to be used in the next transaction. In some cases, a wallet asks the sender what speed-up technique they would prefer to use, or even recommend the most relevant one.
So far, we talked about features of wallets from which transactions were initiated. But not less interesting functions are realized in the receiving wallets. Such wallets can reject reception of funds following certain rules or allow spending money received from transactions yet awaiting confirmation, to mention just some features.
We have already talked about digital wallet strong points. Just to remind you, the main advantage is extraordinary mobility and speed of electronic payments. You can make a payment instantaneously and at any place where Internet is available, e.g. at home on a Sunday morning. Another advantage mentioned above is anonymity of operations with electronic money and easiness with which a wallet can be closed down or re-issued. Finally, a certain strong point of electronic wallets is round-the-clock availability of services they provide.
As it is clearly seen, the modern digital wallet is an entity offering highly developed functionality and sophisticated logic of decision making, whereas the payment as such remains a rudimentary operation. This fact makes the digital wallet a very attractive, almost ideal object for its presentation as a declarative executable semantic model with the use of logical-probabilistic instruments that the author described in the article about smart wallets[АС2] . But then again, a question arises — what benefit this approach gives us?
To answer it let us get back to digital wallet weak point analysis. We have already pointed out some of them. However, the main drawback in author’s opinion is that the wallet user, either prospective or active, is bereft of the possibility to pre-configure the wallet, or change its characteristics to his or her convenience. Therefore prior to opening a wallet the user has to make a search, analyze, and finally choose the payment system that fits their requirements the best — what wallet fill-up options the payment system supports (most of wallet services offer wallet fill-up using mobile account, ATM or cash-in terminal, bank transfer, or Internet-banking); what commission is levied on different operations, e.g. transfer to a bank account; what supplementary services the wallet offers; etc. It stands to reason that security questions must be asked when choosing one or another payment system — legitimacy of the payment system, its rating on the market, whether or not the declared ‘smartness’ is actually there, and so on. Legal relevance and reliability of wallet services should also be placed under scrutiny as well as whether the wallet is hack-proof. As experience shows, security risk skyrockets with crypto wallets, especially when their respective payment systems are based on the distributed ledger technology. Is there any way to overcome all these limitations? The concept of semantic smart contracts answers this question. The idea declared herein is that digital wallets should be considered semantic smart contracts that their owners enters into with themselves and creation and modifications of these semantic contracts are made by means of some unified platform.
The author believes that the main virtue of this approach is the possibility for a smart wallet owner to use simple and straightforward semantic modelling instruments offered by the platform to either create a custom smart wallet outfitted with all the desired services, or choose the most suitable one out of a set of available models and customize it adding or removing services, modifying the wallet logic (intellect), so that the resulting functionality of the wallet, its intellect and other characteristics answer the owner’s requirements as accurately as possible. Such a smart wallet, being a particular case of a semantic smart contract that the wallet owner enters into with him/herself, is able to automatically perform the following functions:
· Automated control of accounts connected with a wallet that is owned by an individual (note that several such accounts can be connected with the same wallet);
· Automated control of accounts connected with a wallet/joint multicurrency wallet that is owned by several individuals;
· Automated control of a collection of wallets owned by one or several individuals with added capability to activate other wallets, generate new wallets, terminate the existing wallets under certain conditions.
Note that in all these cases the following problems should be solved:
o the problem of quasi-optimal control of a wallet (or accounts associated with the wallet) by various criteria;
o the problem of quasi-optimal control of a collection of wallets by various criteria;
o the problem of planning and projection based on wallet operation history, dynamics of the environment, strategies put into the wallet or generated by the wallet, etc. Note that a semantic smart wallet can make recurrent payments according to the schedule set by the user or generated internally.
· Reliable protection of a wallet from unauthorized access;
· Interactive support and advice of wallet owners (e.g. seeing the owner/another wallet/environment as an oracle), smart statistics, etc.;
· Other smart functions.