1. developers.libra.org/docs/reference…
2. developers.libra.org/docs/assets/pa…
3. developers.libra.org/docs/assets/pa…
4. developers.libra.org/docs/libra-cor…
5. developers.libra.org/docs/move-paper
Custodial wallet is defined in the glossary, so that may be an indication as to what Calibra (FB's wallet) will look like.
Although Libra is an account based chain, this sounds very UTXO-like. I wonder why a user can't just view the current state of the chain to determine if something occurred.
A reported $10M investment, but I have no way to verify this claim.
Move == Solidity
Move Module == Smart Contract
Move Resource == Storage
In an interesting move, they've spurred all the cross platform collaborations around Wasm on Blockchain™.
Libra => Ethereum
sender => msg.sender
transaction script => calldata
gas price => gas price
maximum gas amount => gas limit
sequence number => nonce
expiration time => blocks valid for (but doesn't exist in eth)
"Single-use program" makes it sounds like there are some specific nuances to tx scripts. Sounds similar to Fae: sites.google.com/consensys.net/…
This sounds like a 1:1 backing. Although our last 1:1 backed crypto asset (tether) had its issues, FB + crew will have to follow the law to the letter (or change it).
network and the reserve that backs the coin.
It appears to be a pay-to-play governance system in the beginning.
an unsigned 64-bit integer that corresponds to the number of transactions the system has executed.
IMO this appears to mean there is no concept of a "block".
In general, I appreciate the position that Libra appears to be coming from. Whatever FB's intentions are, it seems like the Libra protocol is a neutral construction.
`{owner_address}/resources/{token_address}.Currency.T`
This seems to move balances from the smart contract into the user's account state.
> Libra starts as a permissioned system and will transition to permissionless.
They claim their eventual goal is to allow *anyone* to become a node.
At first I was excited that this means some stateless design, but after further thinking I believe this is under the assumption that the validator has already generated the current state.
fees, denominated in Libra coins. This follows the gas model popularized by Ethereum.
I think we could have guessed this, but $LBR will the protocol token to Libra as ether is to Ethereum.
Apparently this is how the validators will recoup their $10M! It doesn't seem like this system was influenced any by EIP-1559.
> In Libra, modules contain code, and resources contain data values. An Ethereum smart contract is like a singleton object published under a single account address. A module can create an arbitrary number of resources under many addresses.
* boolean
* uint64
* uint256
* fixed-size byte array
* struct
* reference
This seems to be their most important deviation from HotStuff. VRF is only pseudo-random though.
* Throughput
* Latency
* Capacity
* 40 Mbps internet connection
* A modern processor, something like an i7 or i5
* SSD to support the current state size
This is the other way founding members will get their $10M back. I wonder if new deposits will also get "LIT" tokens.
I'm hoping this is a simplification, because if not it will face issues with plutocracy: vitalik.ca/general/2018/0…
This is the aggregate of validator votes on a tx package that extends the longest canonical chain in LibraBFT.
* unsuccessful block proposal
* multiple block proposals
* conflicting votes
* stale votes
Resources": developers.libra.org/docs/assets/pa…
logic, a resource can never be copied or implicitly discarded, only moved between program storage
locations.
Light Linear Logic: girard.perso.math.cnrs.fr/LLL.pdf
* Indirect representation of assets via integers
* Scarcity is not extensible since there is only one native protocol token
* Access control is not flexible because ownership is based on PK schemes
This is almost certainly how ether will be represented in Eth 2.0, since beacon chain ether will be the "reserve" backing shard ether.
I would be interested to know the performance of this as each tx script will need to be verified before being interpreted.
```
public main(payee: address, amount: u64) {
let coin: 0x0.Currency.Coin = 0x0
.Currency
.withdraw_from_sender(copy(amount));
0x0.Currency.deposit(copy(payee), move(coin));
}
```
There are a lot of parallels between Move and Rust, which Libra Core happens to be written in.
I'm not aware of any blockchain vm that is register-based!
* programming model definition
* bytecode language
* module system w/ strong data abstraction & access controls
* VM w/ serializer/deserializer, bytecode verifier, bytecode interpreter
I'm wondering if this is the "big scary black box" that will allow Libra to censor transactions from non-KYC/AML'd accounts.
Since VRFs are only pseudo-random, I'm not sure what stops a leader from biasing the output.