Amiko Pay

Amiko Pay is a flexible implementation of the Lightning network. In other words, it is a scalable, de-centralized network for performing fast, secure, cheap and privacy-friendly electronic transactions.


Scalable

Amiko Pay is scalable to billions of users, without losing its desirable properties. Potentially, all people could use Amiko Pay for all their daily transactions.

Centralized systems are relatively straightforward to scale up, and their per-user costs usually don't increase much with increasing scale. However, when scaling up, their central hub becomes an increasingly attractive target for all sorts of attackers, increasing the vulnerability of such systems.

De-centralized systems have their own scaling issues. Ryan Fugger's original concept of Ripple would scale well in terms of costs and technical performance, but in a de-centralized, many-nodes scenario, there would be little regulation on the debts of nodes, leading to risks of financial instability. The original concept of Ripple was never implemented, and the implemented system nowadays known as Ripple has its own flaws (mainly by not very de-centralized at all).

Bitcoin is de-centralized, but its de-centralized nature depends on all (or many) participants exchanging the "block chain", containing all transactions, with each other. When scaling such a system to larger numbers of transactions, it becomes less attractive for participants to participate in this process, leaving the transaction processing to a small, relatively centralized group of organizations.

Amiko Pay solves this problem by using Bitcoin under the hood, but leaving most transactions out of the block chain. Transaction information is normally only exchanged between a few participants, and participants can forget about the transaction as soon as it is completed. The block chain is only used for changes to the network (opening and closing micro-transaction channels), and for enforcement of transaction states and channel balances in case a participant is not playing by the rules. Both should be very rare compared to the frequency of regular transactions, so the block chain can remain much smaller, and much easier to share.

De-centralized

Amiko Pay contains no dependencies on centralized parties, a.k.a. "single points of control" / "single points of failure". All participants in the network can potentially perform the same roles. The design of Amiko Pay contains features that ensure it stays that way.

Amiko Pay participants create connections between each other, and transactions are routed over these connections, similar to how information is routed over the internet. The shape of the network is arbitrary, but just like the internet, the network could become partially centralized around a couple of large service providers. Unlike the internet, where creation of new physical connections is expensive and difficult, connections in Amiko Pay are completely virtual, and it will continue to be easy to create new connections. Also, routing in Amiko Pay is designed such that intermediate parties can not determine the identity of end points (payer and payee): it will always be possible to route transactions through a proxy. This severely limits the power of any centralized entities, and makes it possible to re-decentralize in case any centralized entity abuses its position.

Fast

Amiko Pay transactions typically become definitive within seconds, often even less than a second. This makes Amiko Pay suitable for Point Of Sale (POS) applications.

Unlike regular Bitcoin transactions, Amiko Pay transactions are normally not included in a block chain. Instead, they consist of updates in the balances of micro-transaction channels, which are enforceable on the block chain. Enforceability of a channel update is immediately clear, so it does not have the issue of "zero confirmation double spending" of regular Bitcoin transactions.

Secure

Other participants in the Amiko Pay network can not steal or freeze your funds. You do not have to ask anyone for permission or depend on cooperation from anyone for keeping access to your funds. You are in full control.

By default, Amiko Pay is based on the same technology as the Lightning network. This technology ensures that transactions and balances are always enforceable. The idea is that, under normal operation, microtransaction channel balances are updated cooperatively by the participants of a transaction. In case one of the participants does not play by the rules, or becomes unresponsive, the micro-transaction channels to that party will be closed by his neighbors in the network, and the state of those channels will be enforced on the block chain with Bitcoin smart contracts.

As an analogy, you can see a microtransaction channel as a "contract" between two parties, and the block chain as a de-centralized "judge" (or jury). Most contracts are followed voluntarily, and do not end up in court. However, contracts still have power, since they are enforceable in court, even when they do not always need to be enforced.

Note that, in some cases, non-cooperation of another party can cause a temporary freeze of funds in a channel. This risk can be reduced by splitting funds over separate channels to different parties; the maximum freeze time is configurable, and is a security trade-off.

Cheap

Amiko Pay transactions are expected to be much cheaper than regular Bitcoin transactions, making them potentially one of the cheapest payment methods available. Amiko Pay is useful for true microtransactions, e.g. for pay-per-article funding of websites, as an alternative to advertising.

Intermediate nodes in the network are expected to charge some fees when forwarding transactions, but since the cost of performing Amiko Pay transactions is much lower than the total cost of keeping the same transactions in a block chain, and since there will be plenty of competition between different parties, the fees are expected to be much lower. Regular Bitcoin mining fees will still be paid, but this will only happen infrequently (opening/closing of channels, including conflict resolution).

Note that Amiko Pay is mostly useful for small transactions, where it is essential to have low fees. For large transactions, Amiko Pay is less suitable, since its microtransaction channels have a limited capacity (depending on how many funds people put into them). For large transactions, regular on-blockchain transactions remain more useful.

Privacy-friendly

The existence of a transaction is only revealed to a couple of intermediate parties, and these intermediate parties receive very little meta-data (basically only the amount transferred and the moment the transaction is performed). There is no need for intermediate parties to remember a transaction after it has finished. The shape of the network (who is connected to who) is not completely revealed.

The privacy features are strongly related to how transaction routing is performed. Amiko Pay uses a combination of non-source routing (where intermediate nodes decide the direction of the route, based on a "destination address") and "onion routing" (where the end points decide what route must be followed, and where each next step in the route is encrypted, so that previous nodes in the route can not read it). Amiko Pay uses bi-directional routing, where both endpoints (payer and payee) route towards a meeting point. The meeting point might be, but is not necessarily, the same node as one of the end points (in case it is one of the end points, routing will of course be unidirectional).

As a result of this, there is no need for payer/payee to reveal their network addresses to each other or to other nodes, or to even have network addresses. Payer and payee need to agree on the address of the "meeting point" to be used; the "meeting point" node does not need to know the identity of payer/payee. All that intermediate nodes see is the address of the next onion-routing hop (the last of which is the meeting point), and the interface on which the transaction was received. Because of the non-source routing in-between onion-routing hops, nodes do not need a very detailed map of the network to decide on an onion route. They only need to have a reasonable idea of which nodes are reachable from which nodes through non-source routing.

There are some remaining privacy issues. Since the transaction time-out is different on different hops of the route, it can be used to estimate the network distance to the payee. This might be made less feasible by randomizing the time-out increment. Another issue is that the software uses a certain hash value for testing whether a transaction has committed or not; since this hash value is the same on all hops, it can be used by an entity that has access to different nodes on the network to see that the same transaction flows through both. While this issue can be solved with certain technology, the combination of exact amount and the moment the transaction occurred can still be used to correlate a transaction on different parts of its route.

Flexible

Amiko Pay is designed to be a flexible framework for building a wide range of similar types of payment technologies, which are all interoperable. People choose for themselves which technologies to use, and the network bridges between them. Amiko Pay is open source software, and provides an open platform for performing "permission-less" innovation in payment technology and services.

The default mode of operation of payment channels in Amiko Pay is like the Lightning network, but it will also be possible to have a more Ripple-like mode of operation, where less capital is required for building links, but where at least one of the sides has to trust the other.

It is possible to use Amiko Pay to perform immediate transactions between different block chains. When different assets are traded, nodes that provide the interface between those assets perform an exchange function. Together, such nodes form a de-centralized exchange between those assets.

Normally, Amiko Pay will be used to transact in cryptographic currencies, such as Bitcoin. However, it is also possible to transact in (cryptographic representations of) non-cryptographic assets, such as tradtional "fiat" currencies. For such transactions, an element of trust is usually required, but the trusted entity is not necessarily involved in the transactions. For instance, cryptographic representations of euros or dollars might be backed by a (central) bank, and then traded between individuals, similar to how bank notes are backed by a central bank and traded between individuals.

Note that, to take full advantage of the security features of Amiko Pay, it has to be used in a Lightning network mode, using a reliable cryptographic currency.


How does it work?

Amiko Pay forms a network between users and payment providers, just like the Internet forms a network between users and Internet providers. And, just like the Internet, all providers deliver the same connectivity (to websites vs. to merchants/customers), so large providers do not have connectivity advantages over small providers.

Links between Amiko Pay nodes are protected by micro-payment channels; as a result, only a very low amount of trust is required to securely establish a link with a payment provider. This should remove the need for regulation, and it should allow people to have a large choice of suitable payment providers; even a small, unknown payment provider on a different continent can be a suitable option. This should allow plenty of competition, leading to lots of freedom and low prices.

More information can be found on the resources page.

Where can I get it?

Amiko Pay is unfinished software, and since development is currently not funded, the availability of development time is never guaranteed. At the current pace of development, it might take a couple of years before Amiko Pay becomes useful.
Donate bitcoins to Amiko Pay development: 1Cj3pyT1VDGK1g4DF5epbG4DL7rXAvzFwe (blockchain.info)
Website statistics