Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - vbuterin

Pages: 1 [2] 3
16
General Discussion / Re: Vitalik on stable currencies and POS
« on: December 29, 2014, 03:10:13 pm »
So I went through "A Note on Cryptocurrency Stabilisation: Seigniorage Shares".   There is a place for these kinds of papers for sure, but there is so much irrelevant information in the paper that it is hard to get a summary of the basic approach.

You can find a summary of the basic approach here: https://blog.ethereum.org/2014/11/11/search-stable-cryptocurrency/

Quote
As far as I can tell the paper is close to worthless on useful ideas for stabilizing prices.  And has inspired a new blog topic on the "fallacy of price stability"

Be careful here. A lot of Austrian economists (eg. Mises back when I was reading Human Action) like to make the point that the very concept of price stability is somehow philosophically invalid, which is an absolutely absurd position; even if you cannot use pure logical theory to determine that there is one particular price benchmark that is "correct" and all others are wrong, it is very clear that you can intuitively say that product prices in general go up and down much more when measured in some currencies than in others. But that's not the point you were planning to try to make, looking forward to hearing it.

17
General Discussion / Re: Vitalik on stable currencies and POS
« on: December 29, 2014, 03:02:29 pm »
What is interesting to me is the idea of measuring hashing power in a POW scheme (or transaction fees in POS) and using that as an internal measure of the value of the coin, thereby allowing a coin to attain its own, self contained price stability. Looking into a post fiat world, this has the potential to be quite important.

Still, as BM points out both the above idea and with an infinite printing press driving the price stability system, market manipulation might be a big problem.

You should read up on my research on endogenous estimators here: https://blog.ethereum.org/2014/11/11/search-stable-cryptocurrency/

It's actually quite a fun topic.

18
General Discussion / Re: Vitalik on stable currencies and POS
« on: December 29, 2014, 03:00:25 pm »
Quote
Though I do agree that there should be more collaboration on low-level components (eg. we've done a lot of work replicating a whole bunch of crypto functions like serialization, merkle trees, erasure coding and ECDSA in 5 languages that others should feel free to leverage) and high-level components (eg. I think that eventually Mist and Maelstrom and whatever you call the Bitshares client should all support every underlying crypto-platform, and so browsers and protocols should compete separately).

If we have several blockchains that all have the same clients (and thus UX) and are all turing complete, and all have funding to copy any new feature that's invented in the space by anyone, then the only real difference between blockchains would be their liquidity (and thus market cap/volatility of the underlying base token which serves as collateral). New capital entering the system will always choose whichever system has the most liquidity.

The reason why bitcoin maximalism doesn't make sense is because it isn't turing complete and cannot be upgraded to become it.

So, there are two reasons to have multiple blockchains. One is that groups will always disagree, and even within the bounds of turing-completeness there are disagreements. For example, Dan just expressed his interest in having the underlying DB be a graph database instead of a key/value store, as well as having markets be a first-class structure; I think that's silly, and would prefer heaps/treaps/some kind of trees as a first-class structure and nothing else, as markets can be made out of heaps pretty easily and graph DBs can be replicated by key/value stores. Now the legitimate reason to try to make those modifications is, as Dan points out, because there's a choice of what to put at the compiled level and what to put at the interpreted level.

The second reason is scalability/fees. Users looking for a blockchain have three factors to keep in mind when choosing a chain: (i) network effect factors, (ii) security, (iii) costs. Larger chains have higher security and higher network effect factors, but higher costs because more nodes have to process every transaction. Hence, applications which benefit from security and network effects strongly should be on one chain, but apps that are lower-value and independent really should be off by themselves.

Now, our recent research has led us to conclude that scalable multichain/sharding mechanisms exist that allow all blockchains to share security to a high degree (at least for full clients; light client security is a bit more complicated) with a high degree of interop, so the only tradeoff that remains is between network effect and fees. Additionally, note that many kinds of blockchain applications are vulnerable to 51% attacks in ways other than consensus (eg. schellingcoin), so in those cases having any higher degree of shared security is superfluous. I think we'll end up seeing a highly complicated multichain setup where chains follow a power law distribution in size, with dapps that need to talk to each other a lot congregating on a few chains, and things that are mostly standalone being separate, but with inter-chain linkages for communication/trade when needed.

(As another point, at ethereum we generally don't see blockchains as being financial tools exclusively; they're more like decentralized computers that people run services on, and those services probably use tokens in a lot of places but that should not necessarily be an assumption everywhere; hence, "liquidity" is only one kind of network effect, and IMO even one of the less important ones).

19
General Discussion / Re: Vitalik on stable currencies and POS
« on: December 29, 2014, 12:44:10 pm »
Quote
This thread is a good example of why all developers should work together under a single block chain. Ethereum and bitshares has had to completely duplicate their work on inventing a stable crypto token. If ethereum and bitshares had been a single project then developers could have worked in parallel and blockchain tech would be twice as far today.

So we're accepting that Bitcoin maximalism is nonviable but we're doing Bitshares maximalism now? Umm... how about no? :) I'm actually about to release a blog article describing why I think fragmentation and silos in cryptocurrency are an awesome thing, and the concept of one-x-to-rule-them-all in this space should go die forever. World is a lot more peaceful when you don't have everyone simultaneously trying to take all of it over. Though I do agree that there should be more collaboration on low-level components (eg. we've done a lot of work replicating a whole bunch of crypto functions like serialization, merkle trees, erasure coding and ECDSA in 5 languages that others should feel free to leverage) and high-level components (eg. I think that eventually Mist and Maelstrom and whatever you call the Bitshares client should all support every underlying crypto-platform, and so browsers and protocols should compete separately).

Quote
Sure, if "accounts" are an off-chain organizational concept and not an on-chain data structure. Typically balances have distinct keys, but even two balances with the same owner keys but different assets get different balance IDs.

So this means that you're storing balance pairs of <bts, bitasset> separately for each bitasset/user combination? It would not make sense to just store <bts>, <bitasset>, <bitasset>, because then if one of the bitasset balances goes negative you have an uncollateralized debt and the owner can just run away from it.

Quote
You already trust the core developers and core community members when you download the client on the internet. These are the same kind of people who run the delegates. It requires much more trust in a community to give your private keys to software they signed off on, than to give their stakeholders control over the price feeds. It results in no net risk increase from bitcoin IMO.

Software is a 1-of-n trust model. If there's a backdoor, it only takes one person to point it out. Delegate price feeds are n/2-of-n. Now, I would argue blockchains run on the principle that n/2-of-n is an okay trust model iff your set of n is actually decentralized, and at this point I haven't researched the topic enough to see whether DPOS delegates (i) currently are, (ii) could be expected to continue to be in the future less or more decentralized than ASIC farms. Of course, my intuition is that the decentralization level of ASIC farms is not exactly a high bar to meet :)

Quote
Does he mean that all balances are freely tradeable against each other?

All I'm basically asking for is a precise description of how exactly "CFDs" are kept track of in Bitshares. Is it the case that each individual CFD is kept track of separately? Looks like the answer is no, since I got an explicit answer that CFDs have no explicit counterparty. Is it just a set of accounts which hold balances, where the bitasset balance can be positive or negative? Looks like the answer is yes, except that you're maintaining a separate on-blockchain object for each bitasset. I suppose the simplest way to answer my question might even be to implement bitassets in Serpent a la https://github.com/ethereum/serpent/blob/poc7/examples/schellingcoin/schellingdollar.se.

20
General Discussion / Re: Vitalik on stable currencies and POS
« on: December 28, 2014, 06:18:44 pm »
What do you mean usd and bts balances are not explicitly associated in pairs? All I was describing with my second case is that everyone has an account, and the data record for each account stores a quantity of bts and a quantity of usd, which can be positive or negative, but with margin limits.

21
General Discussion / Re: Vitalik on stable currencies and POS
« on: December 27, 2014, 12:10:18 pm »
So I'll be more specific. How are shorts and longs stored in the blockchain state database?

The model that I thought it was, is that CFDs are a list of the form (assuming only bts and bitusd):

Code: [Select]
[
    [short_party, long_party, strike_price, short_margin, long_margin, amount, expiry],
    [short_party, long_party, strike_price, short_margin, long_margin, amount, expiry],
...
]

The model you seem to be suggesting is that accounts are stored in the form:

Code: [Select]
[
    [bts holdings, usd holdings (+ or -)],
    [bts holdings, usd holdings (+ or -)],
...
]

Which is how SchellingDollar works. What is the bitassets approach exactly?

22
General Discussion / Re: Vitalik on stable currencies and POS
« on: December 24, 2014, 06:25:10 pm »
So, step 0: there exists a CFD with A at +$100 USD and B at -$100 USD

> B needs to find a BitUSD seller (on the internal exchange) so B can buy BitUSD from that BitUSD seller

Okay, now we have two contracts:

A at +$100 USD, B at -$100 USD
B at +$100 USD, C at -$100 USD

I can see here that B is neutral USD again. However, B is not fully neutral: the margins for the two CFDs are different, and so it's entirely possible for the first contract to margin-call, leaving B long.

> and then exchange the BitUSD again for the collateral (BTS) at the exchange rate of BTS/BitUSD at which B entered the CFD

Wait, what? Doesn't that mean that B is back to being short bitusd again?

23
> Weak subjectivity means relying on friends of core developers to provide checkpoints to avoid Long Range Nothing at Stake attacks.

Correction: that's friends or core developers :) (or blockchain.info for that matter)

There's one thing I've been wondering in this checkpoint debate. Doesn't it require more trust to download a private-key-holding client than to accept a checkpoint from a given source? So if only new users are at risk of NaS, and they need to choose a trusted source to download a client from anyway, can't that trusted source you download the client from also provide you with the checkpoint without increasing the level of trust required at all?

Nope not all that much. Many people in this space actually do implicitly operate under the assumption that every user wrote their code themselves, which I tried to fix at https://blog.ethereum.org/2014/09/02/software-bounded-rationality/

However, there is one thing you do need to be careful of: with software, you can wait two weeks before installing a particular version, so that if there are bugs or malicious flaws someone else will find them first. In order for checkpoints to provide the same assurance, the checkpoint should ideally also have been displayed in public for at least two weeks. If software updates versions frequently, putting checkpoints into software client versions is a reasonable way of doing this.

24
General Discussion / Re: Vitalik on stable currencies and POS
« on: December 23, 2014, 12:27:29 pm »
So the price stabilization system that I described in the presentation, Robert Sams' seignorage shares, is a good system, but it's not the system that I personally prefer. The big problem that I see with it is the lack of a stable wind-down option, so if it becomes obvious that the system's influence is only going to decrease over time then the volcoin could easily hyperinflate leading to the stable coins losing all their value. I think that the SchellingDollar approach, which I've described and specified in several places now, ultimately has nicer wind-down properties, although at the cost of its volcoin having much lower crowdsale potential.
Could you give us a run down on how it works in particular in contrast to Bitshares' market pegged assets and where you see the advantages (and disadvantages) of your proposal? - Assuming that the objectives of both systems are (roughly) the same.

Actually, before I can compare schellingdollar to bitshares market pegged assets first I would like to know exactly how bitshares market pegged assets work :)

Nikolai was kind enough to forward me http://bytemaster.github.io/article/2014/12/18/What-are-BitShares-Market-Pegged-Assets/ but I need a while to digest it; can anyone perhaps make a 5-point summary similar to what I had at https://blog.ethereum.org/2014/11/11/search-stable-cryptocurrency/ ?

1) We assume a trusted price feed exists
2) We assume an asset with no counter party and sufficient market liquidity at a market established price (Bitcoin, BTS)
3) Two parties enter a "contract for difference" on the price feed, the short-side puts up 2x and the long side puts up 1x for a total of 3x held as collateral for issuance of BitUSD
4) The short may cover (burn BitUSD) at any time to gain access to the 3x collateral.
5) The short is forced to cover after 30 days by accepting any and all orders at or above the price feed.
6) The short is forced to cover if the price feed results in the value of collateral being equal to 2x or less the value of the BitUSD.
7) Shorts can only execute at the price feed (no selling BitUSD to 0)
8) Margin calls only happen at the price feed (no manipulating the internal market to cause a short squeeze)
9) Shorts are matched prioritized by interest rate they are willing to pay.

> Two parties enter a "contract for difference" on the price feed, the short-side puts up 2x and the long side puts up 1x for a total of 3x held as collateral for issuance of BitUSD

Question: suppose that A and B enter a CFD. Then, B decides that he does not want to be ultralong BTSX anymore and leaves the CFD. Is A stuck with volatility until her client can manually find a new partner?

If so, that's probably the main difference between your scheme and schellingdollar: in schellingdollar, CFDs do not have an explicit counterparty, and so A's stablecoin/volcoin balance is represented purely as a number pair without reference to anything else. Anyone can enter and leave a CFD against the system at any time. Of course, in this case it's entirely possible for the entire system to have a positive or negative balance of stablecoin, but an adjustable interest rate on stablecoin is used in these cases to encourage marginal holders to switch over so that the balance remains roughly zero.

25
General Discussion / Re: Vitalik on stable currencies and POS
« on: December 23, 2014, 05:19:32 am »
So the price stabilization system that I described in the presentation, Robert Sams' seignorage shares, is a good system, but it's not the system that I personally prefer. The big problem that I see with it is the lack of a stable wind-down option, so if it becomes obvious that the system's influence is only going to decrease over time then the volcoin could easily hyperinflate leading to the stable coins losing all their value. I think that the SchellingDollar approach, which I've described and specified in several places now, ultimately has nicer wind-down properties, although at the cost of its volcoin having much lower crowdsale potential.
Could you give us a run down on how it works in particular in contrast to Bitshares' market pegged assets and where you see the advantages (and disadvantages) of your proposal? - Assuming that the objectives of both systems are (roughly) the same.

Actually, before I can compare schellingdollar to bitshares market pegged assets first I would like to know exactly how bitshares market pegged assets work :)

Nikolai was kind enough to forward me http://bytemaster.github.io/article/2014/12/18/What-are-BitShares-Market-Pegged-Assets/ but I need a while to digest it; can anyone perhaps make a 5-point summary similar to what I had at https://blog.ethereum.org/2014/11/11/search-stable-cryptocurrency/ ?

26
> Weak subjectivity means relying on friends of core developers to provide checkpoints to avoid Long Range Nothing at Stake attacks.

Correction: that's friends or core developers :) (or blockchain.info for that matter)

27
General Discussion / Re: Vitalik on stable currencies and POS
« on: December 22, 2014, 09:07:56 pm »
So the price stabilization system that I described in the presentation, Robert Sams' seignorage shares, is a good system, but it's not the system that I personally prefer. The big problem that I see with it is the lack of a stable wind-down option, so if it becomes obvious that the system's influence is only going to decrease over time then the volcoin could easily hyperinflate leading to the stable coins losing all their value. I think that the SchellingDollar approach, which I've described and specified in several places now, ultimately has nicer wind-down properties, although at the cost of its volcoin having much lower crowdsale potential.

28
So basically, implementing sidechains to have a shared cross-platform currency?

It's a rather sound idea in principle; sidechains are actually much easier and more scalable to do between two properly designed 2.0 networks than when one of the networks is Bitcoin.

29
General Discussion / Congrats on #3! (from Vitalik of Ethereum)
« on: August 21, 2014, 08:03:04 pm »

30
General Discussion / Re: Ethereum & BitShares Partnership?
« on: August 20, 2014, 01:47:41 am »
I've complained many times about provocative thread titles that mislead people, specifically coming from Bytemaster, since forever. 

I agree with Adam here... Dan should know better.

For somebody that posts 75-100 post a day, I refused to post in this thread up to now.  Above is more or less the reason I did so.

http://www.reddit.com/r/ethereum/comments/2e0q0a/bitshares_guy_here_sorry_we_caused_such_a_stir_we/

Good mea culpa, although it seems Vitalik didn't agree quite as much as you thought, more that he was just very open (probably because they are actively seeking solutions and not tied into anything yet)

Or perhaps I just find it more productive to talk about differences, since there's no benefit in preaching to each other's choirs about what we already agree on :) When I say "my main concerns are", I mean "I'm 75% onboard, we already know about the 75% so here's the remaining 25%". We express our viewpoints, look for differences, expand on those differences, and see how our different approaches can benefit each other; it's a genetic algorithm approach to optimization.

We're both considerably more pro-PoS than the vast majority of the bitcoin community and I do think DPOS is one of the better approaches and does not have glaring incentive incompatibility holes like many of the other algos that are currently in use.

Pages: 1 [2] 3