Closed jellegerbrandy closed 6 years ago
Possible types of attack:
Sybil thief Attacker creates lots of new accounts, takes out the loans/gifts, transfers the money to his own account, and walks away without every repyaing the debts. Paratii will ahve lost the money, the attacker will have earned it.
Sybil vandalism. Attacker creates lots of new accounts, takes out loans/gifts. Goes away a without every repaying. Paratii will have lost the money (that is locked in the new accounts)
Here are some ideas:
Instead of lending new users the ETH to transact, we may pay for their transaction costs instead. This will obviously remove the incentive for the sybil attack, but is still subject to vandalism. It will also be difficult to implement without relying on some centralized mechanism (and will radically change how our architecture works). Note that state channels have no transaction costs (except for initializing and settlement) and may provide the necessary flexibility here.
the PTI/filecoin needed to bootstrap the p2p node. So, to download from the network, the ndoe needs some filecoin. It can get that from seeding, but obviously the new node does not have content yet. Instead of ledning new users PTI, we can give them the bits, i.e. the content. I.e. we have "sponsored nodes" or "sponsored content" that is available without payment (to new nodes), new nodes download this content from the sponsored nodes and then can start exchanign bits for bits within the whole new network.
Do lend some money to new users, but this money will be very much restricted. For example, let's say that every new users gets 1 PTI in a special CreditWallet
contract. This contract limits what the user can do with the PTI - for example, it can only spend that PTI to certain whitelisted contracts. Moreover, the CreditWallet will remain under control of the creditor (i.e. typically Paratii), so if the debtor disappears, the creditor can recuperate any money that has not been spent yet.
creditWallet
that limits the usage. This is complemented by https://github.com/Paratii-Video/paratii-player/issues/110#issue-256965692creditWallet
has a limited amount, supposed to last for some time.
a) new ones can be deployed from the foundation budget, if approved by an inclusive process?
b) any Paratii node can deploy a creditWallet
, if it turns out to be profitable through interests in debt/credit? It can even be part of a package... https://github.com/Paratii-Video/wiki/issues/8I'm reviving this discussion because we will need to implement something like this in the very near future.
A recap:
The first use case we are concerned with is how to pay for uploading and trancociding.
This is relatively easy, because it concerns a diret payment for a service that we are providing in a centralized way
Would it make sense to defer loaning mechanisms to third parties? If someone wants to buy a subscription to HBO, HBO doesn't have a mechanism to loan would-be viewers money to participate in the system. What makes Paratii so different?
Absolutely yes: "a loan (initially provided by paratii, in a later stage these boostrap costs may be provided by sponsors or even by an open market)"
New and anonymous users will need some ETH (to pay for transaction costs) and some PTI (to pay for their first bits)
The problem is:
A naive solution that will not work: give or lend all new users a bit of cash to bootstrap. This will just drain our resources with a sybil attack.