Smart contract for the Vipnode Pool.
Status: Work in progress.
Version 1: Vipnode.sol (Deprecated)
Minimum Viable Product implementation. Unlimited usage per interval billing, entirely on-chain.
Version 2: VipnodePool.sol
The goals are:
- Support arbitrary per-usage billing
- Simplest implementation
- Minimize on-chain transactions
The compromises is that the pool is trusted using the same model as mining pools: The pool operator can run away with the funds from the previous billing interval.
Reduce trust required in the pool. Ideally, the pool will only be required to coordinate the initial connection between the host and client.
- Use state channels for direct payments between clients and hosts. This sounds good in theory, but in practice doing N:M state channels (many clients paying to many hosts) is incredibly expensive. Recall that any client can connect to any number of hosts over a given billing interval. To use state channels efficiently, we would need collateralized relays to aggregate N:M payments into fewer on-chain transactions, but this increases the total capitalization requirement.
- Use zero-knowledge proofs to aggregate transactions without collateralized relays. This is an active area of research.
MIT