Zero-knowledge Auth: Scheme for Private Account Logins
Authparty logo

Zero-knowledge Auth: Scheme for Private Account Logins


I have been working with different authentication patterns over the past decade. One common theme exists: a user must divulge some bits of personal information. Whether that simply is their email address, password, or username, or even more dangerous: their social accounts. Back in 2018 I started a fun project that I named Authparty. It was built on-top of Counterparty, enabling secure login via an Bitcoin-styled wallet, and further authorizations based on native tokens/assets (colored coins) held. Users can still test our the MVP, utilizing the mentioned wallet software to enable easier login via mobile or desktop.

3d6870b284978772d8fabc2af8eaae56e8fec4351e79d4d5de2bc8c4c7dd025e.png6996c5901228b87f73e752a413b0017d5c1e9244b021bc9c285bc266c9297156.png

Since finding out about and joining the Zano community, I have been interested in developing a private marketplace powered by this blockchain. Taking what I have learned from Authparty, I am taking the next leap in user authorization. Zano Life (dev update), my decentralized and private marketplace for digital content, will implement a payment id-based authentication scheme. Payment IDs are unique to CryptoNote-based currencies such as: Bytecoin, Boolberry, and Monero. This method could be applied each of these currencies, too.

Zano is the development of a scalable and secure coin, designed for use in e-commerce. The technology behind our blockchain provides reliability, security, and flexibility—a perfect option for P2P transactions.

In developing solutions for a user to remain in control of their Zano life listing, payment ids will be utilized. They are already utilized when a a user sends ZANO, paying for their listing. Zano life scans incoming transactions, retrieves a transactions payment id, then allows the associated listing to be published. We can take payment ids further, by allowing user's to edit or delete their listings via payment id.

{ "id": "0", "jsonrpc": "2.0", "result": { "integrated_address": "iZ1GC4mVAvAiykJkdfgYBk8BwWcXSB8QjVsVGMkFeS8TMuk76cXPw1Z1byVtzVWFcR1vUSgTgwXSQg6FXntsiS9iENGKEJvw2uh1uybx9Gex", "payment_id": "ef4eb10ff4b46a62" } }

Above we can see the result of creating new integrated address. A user can send funds to that address, and the Zano software will automatically detect the embedded payment_id enclosed. The user can see the payment id for a transaction in the Zano software, and will be presented it on Zano life in the process of listing their content.

One payment id will equal access to one listing. Upon trying to edit a listing, the user will be requested to enter their payment id. If it matches, edit access will be granted.

Thoughts? Please comment!


Theagiledev
Theagiledev

Full-stack web developer, blockchain enthusiast.


Blockchain Research and Development
Blockchain Research and Development

Follow me as I talk about and develop blockchain-related projects.

Send a $0.01 microtip in crypto to the author, and earn yourself as you read!

20% to author / 80% to me.
We pay the tips from our rewards pool.