Achieving 1 Million TPS with Zeta’s Cipher — A new benchmark in the Payments Industry (Part 1)
We marked 22nd Jan 2020 as a historical day of significance for Zeta and the future of payments! We were able to successfully showcase 1 Million Transactions per Second (1M TPS), illustrating the scalability and elasticity with which banks can handle online transactions.
In December 2019, we launched Cipher, a cloud-based Authentication as a Service solution that provides an easy way for the issuing banks to participate in online transactions, adhering to the 3D-Secure protocol as laid down by EMV Co.
With Cipher, the issuing banks can provide modern, cutting-edge, and secure card authentication services to their cardholders. To unveil the robustness of the service, i.e., the amount of authentication load that can be handled at the highest success rate (99.9%), we planned to simulate 1 million online authentications.
To put things in context, currently, the maximum online transaction volume across India is approximately 4160 per second, considering the transactions processed across all of the electronic payment channels like UPI, Visa, Mastercard, Rupay, NEFT, and IMPS. You can find the reference calculation here.
When we say Cipher can handle 1 million authentication requests, it is 240 times more than the number of payments being processed in India by all of the big players put together.
This estimate gives us an idea of the incomparable scale at which Cipher can handle authentications, relieving issuers and merchants from the persistent problems of scalability and reliability during flash sales and other peak load scenarios. Besides, We have built Cipher in such a way that it is elastic, so no resource gets wasted. When there is an increase in the request volume, the systems self-provision the resources from cloud providers and relinquish the same when the request volume decreases.
Why is this important to us? The first reason is that we want to enable issuers to authenticate as many transactions as possible, with the highest success rate and reduced revenue loss. Naturally, issuers will be able to handle any amount of eCommerce sales at all scales that merchants can imagine. When Cipher can do all of the heavy liftings when it comes to online authentications, issuers have the comfort of focusing on their core bank offerings rather than worrying about server overload and authentication failures.
The second reason is more personal. We want to convey that ‘scale’ is a solved problem with Zeta. As more and more commerce progresses online, it is natural to expect that the payment authentication solutions will run at this internet-scale.
We believe that all of the consumer-facing banking and payment services should be as scalable as Google Search at peak loads. We want to exemplify this with our Cipher demonstration. We want to assure the banks that they don’t have to worry about scale anymore.
In the dashboard, the number on the left indicates authentication requests being handled by Cipher in reqps. The middle number shows the maximum number of requests at the current computing capacity in the selected time window (5 minutes). Towards the right, we have the number of pods (systems) of Cipher that are up and running to handle the required load. In the central region, we have the success rate of the authentication requests.
As one can notice, during the video
- The number of requests handled per second increases from 18 reqps to 1 Million reqps in about 3 minutes.
- The success rate of handling the authentication requests stays constant at 100% throughout the demo.
- When the load is lightened, the number of computing pods required for handling 1 Million TPS shrinks back to a smaller number showcasing how Cipher auto-scales.
As Cipher’s systems are horizontally scalable, they are limited by the computing and storage units built into them. So, by any means, this high load of 1 million TPS does not indicate the maximum ‘capacity’ of the systems. Cipher can extend to the internet-scale and shrink to a single node footprint, based on the needs. We think we demonstrated that alright. :)
In the above demonstration, we have simulated:
- Mastercard Card Network to demonstrate the authentication initiation requests (as per the 3DS authentication protocol) that get dispatched to the Cipher system.
- Swipe2pay authentications — to simulate user engagement while fulfilling the authenticating challenges.
- User interactions for authentications to do away with the additional time
- Risk and fraud checks
- Resources used (Cipher)
Units: 350 server instances (all microservices incl.); (Kube cluster running on 200 m5.xlarge EC2 instances)
Memory: 8 * 360 GBs
CPU: 4 * 360 vCPUs
Bandwidth (if available)
2. Resources used (Load Generator)
Units: 50 * c5.4xlarge EC2 instances
Memory: 32 * 50 GBs
CPU: 16 * 50 vCPU
Bandwidth (if available)
3. Verification mechanism used
JSON web signature.
4. Test Data Structure
Card BINs: 500
Cards per BIN: 10000
5. Average response time per request: 100ms
6. Hops per each request within Cipher cluster:
VEReq: 1 hop
PAReq: 2 hops
Submit Swipe2Pay challenge: 3hops
We honestly believe that the 1 million TPS demonstration has set a new benchmark for payment authentication solutions. We are also delighted that we were able to pull this off in a short period of 9 days. Although we didn’t have enough time to explore a lot of other frameworks for additional optimizations, we think we did great in the time we had!
It’s also worth mentioning that our systems are capable of scaling more than 1 Million TPS when necessary. We hope that cloud technologies get widely adopted by issuers in the Payments Industry to be able to improve their offerings for their customers significantly.
The article is not finished yet! We have a part two which delves into the core engineering aspects of the demo for the relevant audience. We hope you check that out as well. Thank you!
Here’s the Part 2
Developers who made this feat possible — Mrinal Trivedi, Amit Raj, Ramki Gaddipati, Dipit Grover, Amit G, Shubham Jha, Vivek, Mohd. Tanveer, Shaikh Idris
Author — Preethi Shreeya, Phani Marupaka