As a blockchain developer I’m really curious to see how Facebook developers are going to address some of the challenges faced by the blockchain industry.
Per the latest rumors, the base platform for Libra would be whatsapp. I assume that whatsapp users will need to generate a private/public key pair to initialize their account. The private key will be used to sign payment transactions while the public key will be published and used to verify the users’ identity and track the user activity.
Private Keys Security
Q1: If the keys are saved on the mobile device and the device is lost, are the Libra tokens lost as well or is there a recovery process? If there is a recovery process, how can Libra prevent someone from misusing it? Is the private key backed up as part of the whatsapp messages backup? If so, how do they plan to secure this backup?
Q2: What if the tokens are stolen? Can the thief use the stolen tokens? Is there a reporting process about stolen tokens? Can stolen tokens be confiscated and returned back to their rightful owner? Who decides who is the rightful owner?
As I explained in a previous article, social networks rely on the eventual consistency model while payments require full consistency. In addition, truly decentralized blockchain requires full transaction replication since every transaction has to be processed by every node in order to reach consensus. All this limits existing blockchain network capacity to around 100 Transactions/Second.
Q1: Can Libra process more than 100 TPS? If so, which trade-offs are being used?
Q2: If you send money attached to a whatsapp message, would the message get delayed until the transaction is included in a block and buried deep enough in the blockchain? What would happen to non-payment messages sent later? Would they show up at the recipient phone earlier?
Q3: How would they prevent someone from spamming the network with billions of useless payment transactions to himself as part of a DDos attack?
Q4: Which consensus mechanism will be used?