Netbill Transaction Protocol
NetBill Protocol in Theory
What is NetBill? [From Original Paper]
NetBill is a system for micropayments for information goods (digital commodities) on the Internet. A customer, represented by a client computer, wishes to buy information from a merchant’s server. An account server (the NetBill server), maintains accounts for both customers and merchants, linked to conventional financial institutions.
The NetBill Transaction Model [From Original Paper]
The NetBill transaction model involves three parties: the customer, the merchant and the NetBill transaction server. A transaction involves three phases: price negotiation, goods delivery, and payment.
Download Implementation From Github With Detailed Explanations
Implementation Of NetBill Protocol
In this project me (Navid Malek) and my fellow friend Reza Rahimi implemented most of NetBill transaction protocol, including:
- Transaction Protocol
Paper Sections
3.2. The Price Request Phase
3.3. The Goods Delivery Phase
3.4. The Payment Phase
- Error recovery (Not enough balance, Courruption, No access, etc.)
- Pseudonyms Protocol
Paper Sections
4.2. Pseudonyms
- Access Control Mechanism
Mini Access contol app not According to paper
Approach
Our main focus was to implement the protocol, so the approach we take was to use intermediary files that act as Sockets; hence, for various steps of protocol istead of writing data into socket and read from it, we have used files. In the next section, I have provided more details about the files and codes presented.
How To Run
-
run the following command in terminal: git clone https://github.com/navidpadid/NetBill_Transaction_Protocol/
-
run the codes
Here are various scenarios which I've ran the code from a fresh clone of repository.
Some scenarios include: with/without pseudonyms, with/without access to buy, with/wihtout NetBill account, with/wihtout enough credits to buy a commodity.
Download Implementation From Github With Detailed Explanations