1

The context is that I am looking into a business plan to implement ERC20-token based payment at standard merchant terminals, plus corollary services including loyalty, and looking at transaction throughput.

Apparently VISA can process tens of thousands of transactions per second whereas Ethereum is limited to the tens, as long as Proof-of-Work is being used, and assuming we are talking about the core network only not Raiden etc. (Would love to hear challenges to this premise).

Looking at payment channels as a way of increasing throughput, I am trying to understand how in real life scenarios these help much.

So for example: Day 1: Cardholder receives a physical card associated with an ERC20 balance of say $100 (1:1 tokens for example). This amount is held in escrow for the payment channel. For the sake of this example, the payment channel is with a single merchant, not an aggregating provider or merchant network.

Day 2: Cardholder goes to merchant and buys some shopping. This event is not likely to happen at a rate higher than say once per day on average. The payment channel is updated offchain with signed messages (details reserved)

Day 3: Cardholder repeats, shopping...

Day N: The card balance is used or the cardholder wishes to top up the balance, closing the payment channel. The Ethereum blockchain is updated with the net balance.

So, in this kind of scenario, in order to get only 20 or 30 times the throughput, the payment channel has to be open for one month. There would be a number of challenges with how to batch the payment channel closures, as a merchant (eg: Walmart) with say one million cardholders could result in delays closing and reopening channels.

Browsing the net, I may have seen claims of greatly increased throughput via Raiden/Lightning network for point of sale processing, but I am at a bit of a loss as to how this could work in practice. The way I see it, is that a payment channel, like a side-chain, is in general a way of batching transactions so that the Ethereum blockchain can a) act as a settlement engine b) process a smaller number of transactions.

1

The promise of highly increased throughout can only be realized by a network of payment channels. If every end-user has a direct channel with every merchant he interacts with, the system will still not be scalable I guess.

  • 1
    I am not sure how that addresses my question. Even in a simple scenario where there is only one merchant but many customers, how is throughput increased by many orders of magnitude? In this scenario how does a network of channels help? – Sentinel May 12 '17 at 7:53
0

The idea of payment channels is making payments available that can be processed off chain, but that work as trustless and reliable as on chain payments.

This way, secure and reliable payments can be made anywhere without the need of the blockchain, which scales the payment processing massively. The blockchain is only involved in creating and closing a payment channel.

This is usually achieved by using the blockchain for escrowing a certain amount of the currency on the chain, which gives the receiver of the money security that he will receive an amount up to the escrowed value.

The payments that are processed off chain use the cryptographic features provided by the blockchain to sign and validate all the payments.

The signed and valid payments define the state of the payment channel, which can be seen as a valid modification to a part of the state of the blockchain. Closing the channel puts this modified state back on the blockchain.

Since everything apart from opening and closing a payment channel can be done off chain, for example on the clients, the payment capacity of a blockchain can be scaled massively.

  • I understand this and with respect still feel it avoids the crux of the question. How does a shop with one million customers close one one million channels onto the chain, how does it batch those operations? – Sentinel May 6 '18 at 18:55
  • I see your point. I think we have to consider that there are several approaches to scaling the transaction volume, like sharding and some pooling or a network of off chain tramsactions, like raiden. I believe that they will all be relevant. There will be application scenarios found for each of them, and all together they will lead to sufficient scaling. So the shop with one million operations will maybe use an off chain approach to batch 5 to 10 transactions per user, the resulting 100k-200k channel closings could be handle using sharding. – gisdev_p May 7 '18 at 12:47
  • Additionally, there could be new services that offer micro payment channels for several shops, such that they will be able to batch more than 5-10 transactions per user in a reasonable time. Ithink we will see a lot of development and new ideas in that field. – gisdev_p May 7 '18 at 12:48
  • Maybe. Or maybe the solution is to just have more shops. If channels are cheap, doesn't this incentivise large corps to break up their structure?.......hmm...... – Sentinel May 7 '18 at 19:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.