The beyond bitcoin community converges for yet another week of amazing conversation. We speak more about Bitshares, the potential for Bitshares 3.0? And the new blockchain based social network - STEEM.
Transcript
The Transcript for this Hangout is now on Steemit ...
Dan Larimer discusses the STEALTH hard fork scheduled for 2-18-16, network effect and giving away the first hit for free.
Create a BitShares Account
Transcript
bytemaster: So I got a status report from Ben, known as theoretical on the forum, he says everything is ready for STEALTH and he's planning a hard fork date on next Thursday (2-18-16). He still wants to do a little bit more testing, but everything is working on a private testnet that we've created. So that's looking very good there.
Of course all this is tentative, if we run into some problem that we discover during testing, but we're coding things in for next Thursday with a release that should come out a couple of days before hand.
So that would be the 18th I believe. So that should have everything required to pay the STEALTH fees to the STEALTH Fee Backed Asset. The management where the top 5 stakeholders of the Fee Backed Asset get to decide things, automatic buy-backs, the markets, all those different things he says are implemented and working. So that should come out then.
I haven't gotten the latest status report from James or Valentin. They are on the Mumble session today so maybe they could just give you an update on where STEALTH is. If one of you guys wants to speak up, let me know, otherwise we can give you an update probably next Wednesday or the Wednesday after that, we'll have the GUI update.
fuzzy: Do you guys want to talk at all?
[00:02:57] James: I can say that we're able to use the wallet importing some private keys into the new STEALTH wallet and Valentin has got some components that he's going to be integrating. He started yesterday, so that's functional for him. I've got a lot of little things to convert the old wallet in there and a lot of testing to do as well.
bytemaster: So to summarize, we've got most of the parts. A lot of the things that's taken unexpected time is the integration backwards compatibility migration. It's one thing to implement a feature, it's another thing to implement a feature and integrate it with older code and make sure you don't break anything. But thank you very much James for that report. So there's that.
Other things this week, it's been a big week in BitShares news. A lot of excitement on the forum, a lot of great ideas. I guess Tony's not here but he actually came up with an interesting productive idea, even though I concluded that it's probably not in the best interest of BitShares to implement the idea. The discussion and the ideas were incredible.
DataSecurityNode: We've had the highest market cap since November and highest 24 hr volume, over $1 million in BitShares.
bytemaster: All the BitShares Community members who speculated on Ethereum and brought the profits back to BitShares, thank you very much. So it's been an exciting week.
I released a whitepaper / blog post on the rate limiting stuff that we talked about last week. If you haven't seen that you should check out my blog. I think that there's a lot of excitement after last week's Mumble discussion. A forum poll showed something like 73 people for and 5 against. That's the most agreement I've ever seen on almost anything on our forum and lots of very positive discussions.
I'd like to address the number one concern that is what does this do to the value of Lifetime Membership. I believe the answer I came up with are two-fold. One we can give Lifetime Members a longer averaging window which would allow them to burst to higher throughputs. And two, we can create two different classes of rate limiting. Lifetime Members are allocated some percentage of the bandwidth. Non-Lifetime Members are allocated another percentage.
Considering there will be fewer Lifetime Members that means they'd have, it would be like the HOV lane. Which means you can transact and post more when you're a Lifetime Member while holding a lower balance.
[00:07:12] fuzzy: Is there any way this can hurt the mechanics of the market in terms of the fairness of it? I haven't been able to bump up against it and I'm not an expert in this area and I think a lot of you guys might have some insight on stuff like this, but are there any downsides that have been talked about that I haven't seen?
bytemaster: The primary downside is having to tell people, "No you can't transact right now".
fuzzy: But that's only going to be a very small window, right?
bytemaster: Yes. And it should only affect us once we're already saturated.
fuzzy: So it's essentially kind of like how there are different fees in Bitcoin as far as the priority list.
bytemaster: So as far as the cost to develop this based on our experience with STEALTH, I'd say it's the integration making sure we don't break anything in the process that's the biggest challenge, but it'd be a couple of weeks to implement it. I think abit has offered to implement this feature and he's got a pretty good understanding of the code base. He's been doing the percentage based transfer fees.
So I am all about diversifying and decentralizing the development of BitShares, so if he'd like to make his own estimate of what he thinks it would take to do this, I think having a few more minds looking at the varied details of the proposal and figuring it out would also be useful.
fuzzy: Out of curiosity, you said there would be potential things, that the concern that you make any big changes like this there can be problems that can arise. Is this planned or going to be tested on the testnet that xeroc's running?
bytemaster: I think it most definitely should be tested on xeroc's test network, particularly because this test depends upon flooding. So the goal is to make sure that someone can't flood the network regardless of how big their stake is. So a test networks the perfect place to test this.
fuzzy: With respect to that, I was talking to people in the Committee the other day when they were talking behind the scenes, what they were kind of talking about with respect to this stuff, the amount of volume on the test net and the problem is getting a lot of liquidity and volume on there. Have [inaudible] potential of using like a Worker Proposal or something like that or some pool of fees to occasionally have like competitions, because I don't know if you guys are familiar with the Motley Fool, but they have a test net and they have a winners list, like who's the best on this test trading portion of their site. And then they have an exact same replica of the real where you can actually go out and trade and do other stuff through using like all the stuff they offer. So I'm trying to think, is there a way of making like little competitions, maybe like rewards to get people onto the network. Have you guys thought of how we can get people onto the test network itself and actually incentivize the use of it?
[00:12:11] bytemaster: Yes we can do all kinds of things like that. Running those competitions takes time and money. You can probably make it a pay to play kind of thing where you put money in and then you do the competition on the test network and then some of the proceeds go to the people who are running the test.
But with respect to rate limiting, one of the challenges we're faced with BitShares is new users should be given enough stake so that they don't encounter rate limiting in normal use. Which means that right now when we create a new account the faucet will need to fund that account with maybe $1 worth of BitShares. And if it funded the accounts with $1 worth of BitShares it would need to do so with like Facebook validation or something to make sure that people don't come and drain it dry.
It also means that it's probably something that the network would have to subsidize. So the network will have to trust someone to hand out those type of signup rewards.
xeroc: Are you saying that every user or customer of our network has to have some BitShares in his account to use this?
bytemaster: Yes. It's very much a membership organization. You have to have a club membership to use the club facilities. But then when you have a membership the usage is free. So it's sort of like saying pay $1 and you never have to worry about fees again.
xeroc: I get that point, OK.
bytemaster: So a new account wouldn't have to wait to transfer at all. Well they might have to wait a couple of minutes. If you put a dollar into the account it should accumulate enough to transfer in a couple of minutes, probably less, but that's not really that big of an issue.
betax: Will this be a faucet for new users?
bytemaster: Yes. It would just be the same faucet we have today, it's just that it would fund the account when it's initially created with enough BTS to do transfers. The other effect of this would be a minimum balance requirement. Users will not be allowed to withdraw BTS from their account if it would render the account unable to transact.
hadrian: How long will a new account have to wait until a transfer can be made?
bytemaster: I answered that a couple of minutes ago.
fuzzy: [having mic issues] bytemaster can you read out the questions?
bytemaster: Alright, so some people have asked, "Why not have a fee as a backup?". In my whitepaper I address the issue very clearly on the economics of having a fee alternative. The fees can now ... with the whitepaper I introduced an object method for determining fees based upon network capacity. And for a given transaction we know how much stake you need to hold and for how long you have to hold it in order to transact. And if you're going to pay a fee rather than hold stake for a minimum period of time, then you effectively need to determine the interest rate you're going to charge on borrowing that much money from the network for short period of time.
So read the whitepaper for more details, but it should be possible to calculate what the fee is and to make sure that it's high enough that it's beneficial for the network to allow someone to pay a fee to consume bandwidth versus having a membership. Just keep in mind that allowing people to pay a fee to consume bandwidth can make it cheaper to flood the network.
In my example I showed how someone can completely cripple the Bitcoin network for a whole day for just $10,000. Someone with the same $10,000 attempting to spam under the rules I presented wouldn't be able to affect the network for more than 30 seconds.
That is a huge difference. And so even if you have relatively high fees, if the fees would scale up automatically as the flooding commences. So there's an equation there, you can have a fee fall back. You can also have a situation where rather than charging a fee you take the users money and you hold it off the market. You lock it up for a period of time and you return it to them. It's still zero fee, it's just we allow them to pay it with future commitment to hold rather than past holdings.
Which means if you start to spam the network you're going to end up locking up more and more of your stake and then get it all back later. So those are a lot of the ideas.
So the issue here is why it matter that the network gets flooded? Two things, flooding the network creates bloat in the sense that it takes longer to download the blockchain, it causes the blockchain to consume more RAM and makes re-indexing slower. All those things impact people running the infrastructure for the network. It means that we have to pay Witnesses more to do the job.
The other aspect is at any given time there's a technological limit to what we can support. The stress testing of Graphene showed that we could get up to 1,000 transactions per second but we're actually running at effectively 100 transactions per second right now. We need to scale, you know manage supply and demand for that 100 transactions per second until we can add more capacity. Obviously the answer is once you hit your capacity ... the correct choice is to find a way to increase capacity, not increase fees.
So that's something that we can do and that's why I mention Bitcoin that you might have to hold $25 worth of Bitcoin to transact, very conservatively, once a week. But if Bitcoin increased their capacity to what BitShares is capable of then it would be less than $1. It would be easy for Bitcoin to increase it's capacity by a factor of 10 or 20. So there's that.
[00:22:37] fuzzy: So it comes down to the amount that the Witnesses are going to have to pay for the actual hardware to run the network that's being flooded. So it's a balancing act at any given stage of the network's growth.
bytemaster: Correct.
bytemaster: Someone asked the question, "Has the idea of a secondary market for timeshare bandwidth been discussed?".
bytemaster: That's sort of like creating another token, like BitShares. The BitShares is the token that represents timeshare bandwidth under this system. You don't need a secondary market. The thing about bandwidth is it's not just accumulating coin days. Unused bandwidth cannot be moved into the future. If its' unused in the past it's lost to the world forever.
Now there is another aspect to this. We talked about bandwidth being one resource constraint. There's another resource constraint which I think we might want to implement and that is a memory usage constraint. The idea here is that there is a maximum amount of memory that the Witnesses are currently capable of utilizing and every single account should have a percent ownership of that maximum capacity. And if you don't have enough stake to represent that ... let's use the club analogy. Every member of the club needs a locker. If you run out of lockers it doesn't matter that we've got time for people and bandwidth, we ran out of another resource.
So this system for fees can be applied in multiple directions. One is the rate at which you can transact. The other is how many total operations can you have in the system, like open orders, how many pending operations, how many people you're voting for, all these things. We can calculate the memory usage that each user is using and reject any transaction that would cause bad user to use a larger percentage of the total memory allowed than their percentage of total BitShares held.
So then the answer is, if that becomes a problem the Witnesses need to increase the amount of memory that they support. And that gives us a nice way to balance supply and demand. Because even though we might have the network capacity to support flooding, if the flooding results in the creation of millions of orders on the books, that could cause us to run out of another resource.
Community: I have a question about the rate limiting. It sounded like there was some sort of exponential backoff on when people pay a fee to try to throttle them from doing that. How does that scale as far as somebody instead of doing it from one account, they just make a bunch of little ones and divide their money up trying to do a bunch of transactions.
bytemaster: It's proportional to stake. So an account with 2 BitShares can transaction twice as often as an account with 1, so if you divide it into two accounts you're overall transaction rate will be the same.
Community: I see so there isn't any sort of exponential backoff is not true then?
bytemaster: There's not exponential backoff. There just, you've got so much stake based on the current network utilization you're allowed so much bandwidth and any time you exceed your bandwidth you're throttled.
Community: Is that done based on a per account basis?
bytemaster: Yes, each account has it's own bandwidth measurement and when an individual account's exceeded the bandwidth it's allowed based on the stake that it's got, it can't transact. But as time passes it's bandwidth usage falls, because it didn't transact, which means it will be able to transact again.
Community: So I guess my question would be if somebody was preparing to do this type of attack, rather than putting all of their stake in one account and get it all bulk rate limited they would make 100 accounts or 10,000 and then if one got limited they still have 999,000[sic] more.
bytemaster: Yeah it wouldn't work. I guess I don't know how to explain it more concisely, but imagine transactions are like water. Transactions are like water, each account is a pipe of various diameter. You can only push so much water through a pipe with a certain diameter and where they've got one pipe with twice the area of a smaller pipe or two small pipes, you can only get so much water through. So there is no way to gain or throttle it or defeating the system.
fuzzy: Essentially you're saying it doesn't matter because you as a person are going to be holding all these accounts, the amount of accounts is not important at all. All that matters is the stake that you hold.
bytemaster: Correct.
Thom: It doesn't matter that you distribute that stake over a bunch of accounts it still represents the same amount of cut of the bandwidth.
fuzzy: Exactly.
bytemaster: So the goal of the system is not to have anyone's funds locked up in any perceivable way. Right now Bitcoin locks up everyone's coins for 10 minutes at a time. You transact and your funds are locked and you can't touch them for 10 minutes. The rate at which an account with $1 can transact will be much faster than every 10 minutes.
Only if someone was trying to abuse the system would it cause that time delay to grow. But the numbers that I showed shows that you'd have to be a whale to meaningfully impact the overall reserve rate.
Thom: Didn't you mention that abit was going to be willing to do the coding on this feature?
bytemaster: Yes.
Thom: Is this going to be a feature backed asset and if not why not?
bytemaster: Well considering there are no fees involved, it's kind of hard to make it a Fee Backed Asset.
Thom: Well I guess Fee Backed Asset is different in my concept than a feature backed asset, but your point is well taken and that does bring up the question, how does this impact feature backed assets?
bytemaster: As a network we have to make a choice between charging people and network effect. And having the freedom to decide when to charge people is incredibly valuable, right? You want to charge people for premium things and give them the first hit for free, that kind of thing.
So if you're building a Fee Backed Asset of feature backed asset, having the ability to control when and how you charge customers for things is very important. So I'd say a business that wants to build something on the blockchain has to decide whether or not they want to create their own token, build their own network effect or charge fees. And there's the two ways to do things.
Thom: I see. Well it is kind of counter intuitive. I guess I didn't see it right off the bat, but now that I think about it I can certainly see why this can't be a feature backed asset because the whole idea is to eliminate fees so you can't charge for that addition or that feature because it's just counter intuitive right on the face of it.
bytemaster: So this is a feature that grows the network effect it benefits everyone. It's a perfect case for a Worker Proposal. So that brings me to the next topic. I had another blog post in the past week that I think is something that is worthy of discussion and that is the problem of currency distribution.
The concept that I wanted to introduce here is a paradox that exist, I call it the paradox of scale. We all know that inflation, the printing of the dollar results in a transfer of wealth from everyone to the people who receive the new money. And that the impact is the loss of purchasing power and we all experience the loss of purchasing power as a result of government inflation.
On the other hand ... so that's when something is the reserve currency of the world, that's the dollar ... then you take something like Bitcoin. The creator of Bitcoin, Satoshi, was the owner of all the coins and he decided he was going to distribute the coins according to mining Proof of Work algorithm and so he starts inflating his coins in order to distribute them and get more people involved. And as a result, despite the inflation in supply, the value went up.
So somewhere between the birth of a new currency and the time it hits world reserve currency scale, inflation turns from a good thing and a necessary thing and into a bad thing. And the question is, why is that, how does that work? And the way I'm starting to think about it is, it's like putting two logs next to each other, alone they are worth less than they are together. When you inflate to bring new people in the result is 1+1=3. If I'm the only person who holds it, it's worth less. If I get two or three people that are willing to trade it, A) it just went up dramatically in value. If I get a million people using the same currency it has dramatically more value even though I might own a smaller percent of the overall pie.
So this put an interesting perspective on fees. Think of fees as the opposite of inflation. It would be better for a blockchain to charge no fees and inflate to cover expenses, because you're growing network effect and the result is that the blockchain grows in value by more than the lost revenue. Particularly if the only people that you're paying are people who are providing demonstrable value to the network. They are providing the infrastructure and they're providing the support and the maintenance and whatnot.
Anytime you pay people who are providing value you are growing network effect. And even if the short term price declines, at the end of the day the short term price is insignificant next to the network effect that's being built, next to the sense of belonging that people get.
And so if you view the problem of currency distribution, fees are the opposite of distributing, they're collecting the currency back and by not charging people then at the very least you're even. They can use the system and they don't feel like they're paying any fees. You're distributing the fees to the users of the system which encourages growth and adoption.
So I would say that Bitcoin decided some arbitrary thing, we're just going to distribute 50 Bitcoin's, then 25 then 12 every ten minutes to whoever digs a hole and fills it back up again. Initially it was helping, it had some initial benefit of securing the network, that's long since past it's usefulness. Initially it was distributing it widely, now it's concentrating and it's being sold onto the market.
Thom: If you can make sure that your M1 supply matches or is correlated with your Gross National Product then you have a sufficient currency to transact all the business of that GDP. So it's when they get out of balance, when they stop being correlated to one another that you have inflation or deflation. So how would we measure the GDP within our system?
bytemaster: We have the instantaneous price which is what the market's telling us, then we've got the prices that each of us has in our head of what we think that this thing that we're building together is going to be worth one day and that's very different than what the market is telling us.
So people are willing to work to build something speculatively on its growth. When people get together to form a startup, they work for low wages, no wages and get equity that has no real immediate value. but they work because they know that it will have value some day. And everyone knows that if we all work together that it will grow faster than if we just go off on our own. So at some point, it doesn't matter how much money or what the actual dollar amount that you're distributing is. It matters that you distribute it to someone who is doing work and that you distribute it to the person who is willing to do the most work for the least reward.
So the call to action here is that we should not look at every person that we pay as someone who's going to push down our price. That only matters if we're looking to sell. If we're looking to build something together the work that they are doing is increasing the probability of the long term success of everything that we have.
So there's two factors, there's current price times probability of success and the more people that are working we're increasing the probability of success which increases the perceived value of today, but it doesn't necessarily show up in the instantaneous value. Because some people want liquidity today.
So today's price is a measure of who wants to exit on any given day versus who wants to buy in on any given day. But the people who stay in doesn't change that much. My point is that Bitcoin has been inflating in its first two years at like 15%-20% per year and look at how fast it grew.
BitShares has a maximum inflation rate of like 6% or less. So even if we were inflating at our maximum rate we'd be inflating we'd be inflating less than Bitcoin and all the other altcoins out there that have ... very few have low or no inflation. And I think that if we view inflation and model it mentally as if we were the reserve currency of the world, that's doing a disservice because that's not the situation we're in. That's not the right mindset to have.
As some people might say, well if you're inflating that's going to cause the price to go down short term. If I'm a speculator and I know that the price is going to be going down short term then I'm going to sell to get ahead of the inflation. But if they inflation is known and everyone who bought in, bought in because they knew what the inflation was then the speculative price that things trade at will have that baked in. Like Bitcoin has the mining rewards baked in and then it will grow based on that.
So inflation only has a negative short term affect on the price when it changes in value. If it's a constant rate of inflation then the market price will reach to factor in the constant rate of inflation and it doesn't matter any more. Now all that matters is that we allocate what we inflate to the people who are doing the most and the highest value work that we can.
Community: In my mind the one sentence way to describe what you're saying I think is, the value of what you're holding is appreciating faster through network effect than it's decreasing due to inflation. It's a net gain.
bytemaster: That's correct. And I would look at it this way. If you want to start a fire you have to gather lots of twigs and then light a fire, then build things on top of it. When you're in the building phase you need more wood. You don't say, well I've got my little pile of twigs, let's stop bringing more wood to the flame. The pie grows every time someone brings wood in the form of labor or money to the equation. And if we say, well we only want people to bring money to the equation and we don't care about labor, well money doesn't grow in value without labor. So you create a ponzi scheme if all you want is people to invest money and not labor when you're trying to start something up. You need to put money in and you've got to spend money to grow and to bootstrap.
Thom: If we can't make that correlation between the supply value and what's being transacted on our network then we're going to have too much inflation or too much deflation.
bytemaster: I'm going to disagree with you in the sense that, when you're small you have no mass. And without mass you don't have efficient markets. Which means that the short term price that you see is not driven based upon growth of the economy, it's driven based upon short term fluctuations. It's like Bitcoin, it's pretty big, it's got a lot more mass than BitShares, the price moves up and down as people enter and exit even though the Bitcoin economy is constantly growing and is probably growing at a faster rate than it's inflation.
But you can still have massive swings down and it can lose half it's value, you can have speculative bubbles that push it up and down. So when you're small it's not possible to up a 6% a year inflation rate, it's insignificant next to the volatility. Which means that even if the price goes up by 10 or down to a 10th, that's within your range of volatility the markets assessment. It has nothing to do with the size of the economy, it has everything to do with speculators perceived value and their demand for liquidity at any point in time.
If they see something like Ethereum going to the moon they might sell their BitShares to get onto Ethereum to make some money and then turn around and buy BitShares back. Who knows what's going to happen. The other markets are ... I guess the GDP analogy for inflation and correlating supply growth and price stability ... price stability is irrelevant. Look at electronic prices, I think that's not the goal here.
And all the economics lessons that we have from Austrian school and those philosophies on how global money supply, universal money supply should work ... they break down on a smaller scale because it's kind of like saying the Sun's got gravity and a marble's got gravity, but which matters more. The marbles not going to move the Sun. The marbles going to get blown all around even though it still has gravity. Other things like the wind and other objects around it have a greater impact on where that marble is located and how fast it's moving than anything else.
So when we're small you can't use the rule of thumb or the things that apply at large scale because there's too much noise at the lower scale. So you almost have to have faith buy continuing to work at it together it will grow in value and it will over a long enough time frame you can actually see the growth. But that time frame, the smaller you are the longer it stretches, the more volatile it is, the longer it takes to separate the signal from the noise.
The only thing that's going to destroy a Community is if someone says, "it's all mine, mine, mine. You have to pay to play with me". That mindset is what turns a lot of people off of BitShares. A lot of the theories that underline BitShares, it needs to be profitable, it needs to generate more from revenue to cover expenses and all those theories, they are technically true. But the one thing that we have underestimated is the value of network effect being greater than the value of revenue.
And to some extent we are penny wise and pound foolish. We charge a 1 cent fee to get some revenue and we lose a dollar worth of network effect. It's very very hard to visualize the network effect in order to understand that 1+1 does not equal 2. It's also hard to use valuations. If you use a valuation based on revenue projections ... a lot of the centralized exchanges, even the big ones, aren't worth as much as Bitcoin is worth.
Thom: The problem with the network effect analogy, I mean it's a good analogy I'm not disputing your position, but it's more speculative as to what it takes to get that than it is to deal with fees and more tangible things that within in your direct control.
bytemaster: Correct, it's very hard. Since Bitcoin entered the scene ... and actually maybe even before Bitcoin, but in the past 15 years web 2.0, the value of websites is users and their attention. And that has more value than anything you can actually charge the users for. Getting people's attention is the scarcest resource in our economy. And whenever someone's using your token you're getting their attention.
Whenever they do something for your token you have their attention, that is a scarce and valuable resource that companies pay a lot of money for, hundreds of dollars per user is not unusual for companies to attract people. Because people in large groups are incredibly valuable. Anyone can create a service like Twitter on a technical level. But you can't copy it's network effect. And that is a very ... it shows that it has very real value and we're seeing it not just in cryptocurrencies but in all kinds of services. Things have value because other people use it.
Thom: One thing that comes to mind when you bring it up bytemaster, it's really good you're getting into a philosophical level at this point because what it tells me is that, you know things like how people view anarchy versus minarchism and statism, there is mindshift. And so we're in a battle of gaining mindshare and what you just described was another example of gaining mindshare. Are people attentive to what you're trying to push. So it's just another facet of how we're trying to gain mindshare and get people over. Now whether it's individual and granular versus a broader thing for anarchy or non-aggression principle type of things that's just a matter of scale.
bytemaster: Correct. So imagine you're trying to grow the libertarian movement, but you charge everyone to be a member and you charge them every time they vote. Anytime they participate in any event you charge them. You're not going to grow you're going to die. And people are going to say, "you just want our money". But if you say, "hey join our movement, we'll pay you to come to our talks, come to our events, we'll pay you to vote for us". Those types of things dramatically impact the rate at which things can grow.
And this has been a real challenge for me as a libertarian to balance the free market, capitalism, private property, anti-socialism mindset with the real benefits that certain socialized things have, like insurance. Insurance is socialism, but it has huge value to the individuals.
It's like penguins, they circle up for body heat and they rotate who's on the outside. Any individual penguin who didn't participate in the socialized heat sharing would die. And so it's really really tough for me because I don't like taxes, I don't like socialism, I know that central planning fails and I don't like other people having arbitrary power and particularly enough power to use violence. But there's this balance here that I'm coming to appreciate and it's very nuanced and the gut reaction to inflation or dilution or taxes or socialism turns a lot of Libertarians away.
And it's because we're not actually understanding what we're actually against. We're against the use of violence and coercion. That's what we're against. We're against not having the right not to participate. But voluntary socialism, if you will, where you can ...
fuzzy: It's family.
bytemaster: At small scale it's family, if it gets slightly larger you get Community, you get mutual aid societies and all this stuff. That's how people share the heat so that we don't die in the cold. It's how we collectively can share burdens that are too large for any one person to do on their own.
And in fact every company, they call it capitalistic, but everyone company is a socialist system. The shares in the company, in the venture, you're sharing the profits, it's socialism. So recognizing the nuances here is extremely critical to know how to build and grow a business and a blockchain in this space.
If we interpret our philosophy from a big scale down to a small scale and we make the wrong analogy or the wrong correlations we're going to die. And I guess that's my point about the currency distribution and the paradox of scale. Its' some food for thought for the Community at large.
Which would you rather have, inflation that grows and brings in new people and allows more and more people to get involved and have the price fall in the short term? Or no inflation and have the system stagnant because no one's bringing more wood to the fire and have the price fall in the short term?
fuzzy: I've always thought delegated proof of stake kind of enables true proof of work.
bytemaster: True. Yes it's subjective proof of work.
fuzzy: But subjective in a way that eventually we'll be able to hopefully find a way of judging this stuff and procedures.
bytemaster: Well, like abit doing stuff. That's something we can judge. We can see the benefit, we can see his actions on the forum. There are ways where we can judge this stuff and here's the thing. Perfection is the enemy. There is no way to perfectly assess someone's value. What matters most is the network effect of them contributing is so much bigger than any rounding error we make on how much they get paid.
Obviously we don't want to be foolish and pay people for doing nothing, but with our voting system the more competition there is, it's going to cause people like abit to come out and actually work to prove that he deserves to be voted for. Particularly when, it's not a question whether or not we're going to pay someone, it's who we're going to pay. And I think that's what the discussion needs to be changed too. Figure out who we're going to pay and what are we going to pay them for and not should we pay someone. Because saying we shouldn't pay anyone is guaranteed to kill the network effect. Guaranteed to result in stagnation and failure.
Network effect depends upon predictability and dependency, so to a certain extent anytime we can remove uncertainty it increases value. So the uncertainty about the inflation rate is a source of fear and causes the value to fall. It's possible that by committing to a guaranteed inflation rate, a guaranteed amount of work that's going to be done on something that the value can actually go up because people don't have to worry about it changing or about people reacting to a change in the inflation rate.
People don't have to worry about, "well is this thing going to stagnate because no work is getting done or is it going to not stagnate?". We remove so many worries that a 6% a year inflation is insignificant next to the volatility of BitShares on any given day. Insignificant next to where we want it to go. If we want it to go from where we are now to even the size of Ethereum, that's a 40x growth.
If we want to do that over the next year or two, what difference does 6% make or even 12%? It's insignificant if we achieve what we want to achieve. If we don't achieve that then it's also insignificant. So we're investing based on the hope to gain. If we just stay flat over the next year or we even fall 10% in the next year or two years, well OK, what did we get done in that time? We didn't disappear.
So the inflation, the reallocation, that's something that is necessary for growth. Bitcoin does it. If we don't do it, it's going to be a problem. So there are people out there, valuable members of the Community. A lot of people in China, alt and the like, who are actively voting against every single spending proposal. In fact the second largest proxy voter is alt and he's voting against any inflation whatsoever.
I encourage people to open up your eyes to the bigger picture here. It's better to have a few people sell out now if they don't like the inflation and then grow with a solid base of people who recognize the value of network effect than to stay in there and say "no, we're not going to inflate".
And this gets me to my last concept here. The problem with inflation is not that the inflation's going on. It's the power it gives to the people who get to decide where it goes. Bitcoin doesn't give anyone any power. It's going to the miners and that's it. And most of it's consumed and wasted, which means the profit from mining is relatively small.
At large scale it's the power that inflation gives those who control where it goes. Now in BitShares that power rest in the individual stakeholders. Which gives us a lot better control over where things go and hopefully it's more fair. But it's the power that's the problem, not the inflation per se. Because inflation in the grand scheme of things is almost ... supply inflation is almost irrelevant when it's only a couple percent. Considering all things in our economy are inflating, all goods have supply inflation as efficiencies improve. And no one complains about computers going down in value, chips going down in value, raw resources going down in value because we get more efficient mining techniques.
So what matters is the power and decentralizing the power. Anyway just something to think about. Obviously I'm not a dictator, I'm hopefully here to provide some perspective in lessons learned. I'm just one voice in the Community. I hope each of you get something valuable out of what I had to say today.
Send tips to : bts-transcriptor
Be sure to include in the Memo field : 2-12-16 Transcript Tip
Each BTS tip receives a 1:1 ratio of FISTBUMP tokens.
[00:00 - 14:25] Committee Update with DataSecurityNode.
bytemaster: So this week James Calfee and Ben have made additional progress on the STEALTH feature. I believe everything from the management account that's doing all the voting on the STEALTH fees to the buy-back has been implemented at the blockchain level.
The JavaScript side of the equation is actually transferring to blind and doing blind transfers. I've been working a lot with James this week on helping understand the details of that. We've made some progress in integrating the wallet storage system that we're using to keep track of wallet data. It abstracts out the difference between storing the wallet locally and storing it on the server. We really wanted to make sure that we had backups working well as part of the STEALTH rollout.
Because if you lose track of a transfer receipt you can lose track of your balance. It's not like BitShares where you've got one key and as long as you back it up once you're good forever. When you're doing this confidential stuff you need to be much more on top of making backups every time you receive funds. So we're integrating that in there and it's looking good.
I've asked James if he thinks things can be done in the next two weeks and he's optimistic that would be the case. We'll be working with Ben to roll out a hardfork that has the new features in it. And the hardfork date will probably be about two weeks from now. And we're going to hardfork the blockchain with or without the GUI updates. [inaudible] that part of it is ready and that takes the most coordination. The GUI updates can then come out as they get finished.
But overall steady progress. The guys are going as fast as they can on the STEALTH and I'm pretty happy with what they've done. Other than that I guess I'll take some questions.
Thom: Will the hardfork change the way that the CLI STEALTH works currently?
bytemaster: No.
fuzzy: When you were talking about the nodes that host the wallet, is this just with respect to STEALTH transactions?
bytemaster: Correct.
fuzzy: So whenever you receive STEALTH transactions you have to back it up.
bytemaster: Correct. In the wallet that we're putting together we're automatically backing it up to the server if you enable that feature.
CryptoPrometheus: You mentioned a couple of weeks ago about a scheme for dividend payments that was new and superior to the buy-back scheme. I'm wondering if you can talk a little about that and what exactly it would be? And for the Fee Backed Assets, that's just going to be the same buy-back mechanism type thing that we use right now. There's not going to be any new dividend payment system worked into the Fee Backed Assets?
bytemaster: Correct. It's going to use the buy-back as we've always done. The new dividend system is based on the idea, you separate out the currency which people are paid from the shares that are being tracked. So imagine you've got an global account that's accumulating a bunch of money. Any time there's a dividend payment, at any time a user can convert their equity, so if they own 1% of the User Issued Asset or the Fee Backed Asset or whatever, it can convert that to 1% of the balance of the pool.
Now the pool just continues accumulating and when they do the conversion you're reducing the supply and reducing the pool proportionally. So under that model it's slightly different from buy-back. When you do a buy-back you're taking the entire pool and auction it off to the highest bidder leaving the pool empty after every buy-back. Under this model the stakeholders accrue equity in a growing pool but when they cash out they only get to cash out their cut of what happened in the past.
So it's like a company. Everyone's got shares in the company and the company's got a bank account. All the profits go into the company's bank account and at any time a shareholder can turn in their shares and get their percentage of the company's bank account. That's probably a more concise analogy of how it works.
Under such a system, rather than getting your dividends distributed to you when they're paid, you have the right to claim your dividends at any point in time.
bytemaster: Could we imagine a scenario where the blockchain had no fees at all and instead all accounts were rate limited proportional to their balance?
fuzzy: What do you mean rate limited, as far as?
bytemaster: As far as viewing your BitShares as owning a percentage of the available network capacity. So someone owns 1% of BitShares could consume 1% of the network capacity.
fuzzy: So kind of like miners and mining pools?
bytemaster: Completely unrelated to that. There are no fees. Imagine a system where if you own 1%, you can consume 1% of every block, worst case. Imagine everyone's doing timeshare on the blockchain space and everyone who owns shares can consume some of the blockchain space when they want to do a transaction. With this method no one would be able to flood the network because they can consume their allotted allocation of the bandwidth.
Not everyone wants to use the network at the same time. The network can support regular users transacting more or less whenever they want. The only thing it won't allow you to do is to flood the network with a large amount.
fuzzy: How would the profitability be found there?
bytemaster: The profitability comes from network effect more than anything else. The tiny little amounts that we're collecting in fees are insignificant to lost network effect and or complexity.
Thom: How do Witnesses get paid?
bytemaster: The same way they do now, via dilution.
fuzzy: But it would always dilute instead of burning any?
bytemaster: Yes. We're effectively recognizing the fact we could create an exchange that had no fees, yet still had no abuse and was completely decentralized. When people come and use the exchange, if we wanted to have some fees on market orders and that would be our only fee source we could do that. Versus right now we have people saying, "Hey I don't want to build on your exchange because people don't like paying that fraction of a cent to cancel their order".
Thom: What would happen if a group of whales got together to try and absorb a lot of bandwidth, would that be able to lock out people with very small amounts of shares in the network from transacting or would it slow them down?
bytemaster: There are algorithms that we can use to make sure that people who haven't transacted in a while have more weight. Basically we make it proportional to coin-days accumulated. So someone with a small balance that doesn't transact but once a week would be like someone with 1/7th of the balance transacting everyday.
fuzzy: So the more you use it the less priority you have?
bytemaster: Correct. And you can do certain things like penalizing people for use during high loads and an automatic scaling of the fees. So it's not a fixed thing. The goal here would be to create a system that has lower cost in terms of Committee oversight. It allows you to advertise free. Nothing in life is really free. Anything that's advertised as free is fundamentally rate limited. It allows people to use the network and we don't have to put fees in people's face all the time.
Thom: What role would the Committee have in a fee-less scheme like this?
bytemaster: Controlling block size, block intervals, maintenance intervals and various other mechanics. Committee members would make far less frequent discussions. If you wanted to change market fees, that might be the only fee that you would discuss. But such a system would get BitShares one step closer to having the same user experience of a decentralized exchange.
xeroc: Would this be mostly for transactions? For example, creating an asset is still going to cost a fee, right?
bytemaster: True, anything that's scarce like that. One is bandwidth which is transient and the other is real estate, which is permanent. So account names and asset symbols would still have fees associated with them.
xeroc: Would the Committee account still be adjusting smartcoin parameters to be collecting income optrade fees?
bytemaster: Yes.
Thom: What does this doe to the upcoming STEALTH feature?
bytemaster: STEALTH is something where the network doesn't know the balance, so a fee still has to be charged. It wouldn't eliminate all fees, but it would eliminate the majority of fees that people are complaining about.
Thom: How does it impact the registration incentives or referral program?
bytemaster: Right now the referral program is setup to be based on fees, a percentage of future fees. So that creates incentives to sign up new users. We could still have fees, but we can choose where and when and how much to charge fees versus right now we have to charge fees on absolutely everything in order to prevent spam. I guess look at it as an alternative minimum fee to prevent spam and allowing the Committee to pick and choose where we actually want to charge users and where we don't want to charge users.
So there's the new proposal for percentage based transfer fees that I think has been approved and is going through that abit is working on. I think that charging people for transfers proportional to the value of the transfer is great. I think for low value transfers you can get rid of the minimum because we have an alternative way of charging people for small amounts. So there would have to be no minimum fee for the percentage based transfer which would leave us only with percentage plus maximum. It gives us more options in our toolbox and can allow micropayments as long as you don't flood the network with them and things like that.
Thom: Fee Backed Assets would also be affected I guess in the same way that STEALTH is?
bytemaster: Correct.
bytemaster: Someone says, "A big whale will continuously flood the network". Well there's two things here. One, the network will target a fraction of the available capacity. If we're able to do a thousand transactions per second, anything over 100 TPS will start to have very high fees. Basically it will consume a user's transaction power very rapidly.
So a whale who attempts to flood will quickly get rate limited without rate limiting the smaller parties who transact less frequently. So transacting constantly has power proportional to their stake as time approaches zero. But someone who transacts only once a week, well they've got 7 times the transaction power when they do transact, because they didn't transact for an entire week.
Any whale who attempts to save their transaction power for a year and then flood the network all at once will also rapidly deplete. So there are algorithms available to prevent abuse. Effectively the networks fully loaded, everyone gets to transact proportional to their stake. So someone who has 1% of stake can transact 1% of the time.
Thom: So bandwidth then is basically a function of magnitude versus time or magnitude and time together?
bytemaster: Correct. So a whale would not be able to consume every single block because non-whales save up until they get priority over a whale. So it's kind of like, if you use the mining analogy, the low power miners periodically get a chance to produce a block and a high power miner might produce more frequently but the ratio is always proportional to actual stake. There are things we can do here I'm just throwing it out as ways that we can reduce market order fees, order placing and canceling fees.
Thom: It seems like there is a strong analogy between the use of bandwidth on the network, you know a satellite provider network or whatever, any bandwidth type of thing. Schemes have been devised of all types to manage that and it seems like there's a lot that we can take advantage of in terms of those models.
bytemaster: Yes. There are lots of systems out there that do this type of thing and I really like the timeshare analogy. You get a bunch of people, they all go in for a timeshare on a condo. There's 52 weekends a year and there's 52 people. They can freely pick any weekend as long as there's no conflict. But as soon as there is a conflict then it basically starts a bidding war where people get less network time if they tried to go on a holiday weekend, they get less time in the timeshare because they went when it was buys. Which encourages people to utilize their time.
But at the same time with the timeshare, if it was empty one week, well there's no way to go back in time and reclaim that week in a future week. So there's algorithms and incentive programs to do that. So rather than viewing it as like a customer coming in and paying the network for a service, view it as the stakeholders are owners of the network and they can utilize the network for free, like we're all part of the club and we can all use the club for free proportional to our equity in the club. And then if we would like to have more transactions we can increase capacity, we can add new wings to our club so we can support more users and then we can all transact more frequently. That's the model. So instead of viewing it as we're charging someone to use ours, we say no, the owners of the system can use the system for free, but only to the extent that they own it.
fuzzy: And then after that point there would be transaction fees?
bytemaster: Right. Even in clubs where things are free you still charge for things like drinks. There are certain aspects of things that have to be charged, premium names and trading fees. You still have to cover expenses somehow and make money, but we can choose where we want to make money and what we want to have be complimentary.
fuzzy: Is this something we can try on the testnet or would it be something that it wouldn't really matter if we tried it on the testnet?
bytemaster: This is something that should be tested on a testnet, yes.
fuzzy: Would the economic incentives still be aligned on the testnet? Do you think that might change the outcome a little bit?
bytemaster: It should work perfectly on any blockchain with any valuation without having to worry about spamming.
Community: Is there some flexibility being written into the code as to how STEALTH fees are charged because if it's just 3 times the regular fee then that cuts out all of the income for the STEALTH?
bytemaster: The STEALTH fees are being set by the management account for the STEALTH asset. The Committee has no say over the STEALTH fees.
Community: And that's totally flexible? The management account can charge whatever it wants in any format, like in bitUSD or in BitShares or whatever?
bytemaster: It charges things in BitShares, that's the only asset that fees can be paid in. If there's a fee pool available it will convert through the fee pool into BitShares. The network is guaranteed 20% of whatever fee is charged. Which means the blockchain automatically profits 20% off of all STEALTH that is actually utilized. And the incentives are aligned for the management account to price things to maximize revenue for themselves which will simultaneously maximize revenue for the blockchain.
STEALTH is a feature that, like I said earlier, cannot be rate limited. There must be transaction fees because we don't know what the balance is or how long it's been there. And so there's no way to rate limit STEALTH transfers so that's an example of something you'll have to still pay a fee for. But the people who care about STEALTH that are willing to go through that, they won't mind paying a fee, they know what they're paying for, they know what they're getting. What we want to do is eliminate fees that people do mind paying. Because no one else makes them pay to place an order.
fuzzy: Is this the case for only STEALTH or for any project that has Fee Backed Assets?
bytemaster: Any Fee Backed Asset, the way I would see things going in the future is the network will always at the very least enforce the rationing to the extent that it knows the accounts involved in the transaction, but any additional fees will be subject [mic cut out].
bytemaster: So people can buy and trade and do whatever they want to do in the LSMR prediction market, but all the individual actions, we're basically giving Fee Backed Assets more power. We're telling businesses, look your users can use the blockchain for free if they've got some BitShares. And as long as you pre-fund their account with a minimum number of BitShares they'll be able to earn the right to transact at some rate.
And that gives people sort of this idea, do you want to transact once a week, then you need to maintain this minimum balance. Do you want to transact every day, this minimum balance. You want to transact a thousand times a day to run a bot then you're going to have to have a larger stake.
So there's till a fee being charged here, but the fee is not in burning your BTS, it's in holding your BTS on the network.
fuzzy: Yeah, locking it away.
bytemaster: Yeah, except it's sort of retroactive. So it's, how long did you hold it in the past? So you're not even giving up liquidity. It's just a simple question of, how long have you been committed to the network? Thank you, you can transact with the network. It's' a type of fee that people don't feel like they're paying anything for because they automatically earn the right to transact just by holding. And the normal user should be able to transact anytime they want because their stake will be, even a small stake of $5 should earn enough transaction power to go to and from exchanges, to pay people periodically. So they don't feel like they're being charged anything.
And it's sort of like micropayments that cost, the mental load, the mental cost of a transaction is actually larger than the micropayment. Well that's sort of the problem we have with fees. The mental cost or the appearance of this fraction of a cent is enough to send some Community members crazy. Even though the traders might say well a fraction of a cent is nothing, even if I update it a thousand times a day I'm paying less than a $1 a day in fees. Its' still cheaper than the fees on centralized exchanges. It's just the way that you present the fee impacts everything dramatically.
[00:46:12] bytemaster: So the only question we have to remain is, how do we continue to incentivize user acquisition? So there's still fees, so allocating a percentage of market fees or trading BTS against other things to the referral program would probably be the most effective way of rewarding people who refer people to trade on BitShares. Using percentage based transfer fees can continue to maintain that.
So I really like percentage based transfer fees with a maximum and market fees being the only two fees, and the STEALTH fees, but STEALTH fees can't be used in the referral program. But as far as the referral program goes, I guess account names, asset registration and market trading and transfers can all continue to fund that. But everything else we're doing doesn't mean that you can update your collateral position without paying a fee for example. Those would completely change the feel of the blockchain from a users perspective.
bytemaster: So let's talk about what makes a cryptocurrency grow in value. A cryptocurrency is valued based on network effect. Network effect is the number of people holding it times the length of time that they hold it. The length of time someone holds a currency is known as the velocity of money. If you get a currency and you immediately sell it that's considered a very high velocity money. Hyperinflation is when velocity goes to infinity and then price deflation is when velocity slows way down.
So to say it another way, slowing the velocity represents an increase in steady stake demand, it's taking the currency off of the market which causes the people who want to get into bid it up in order to encourage people to transfer it to them. We want to attract users who will hold their wealth in the system. So there's that.
The other aspect that gives a cryptocurrency money is liquidity. Litecoin, Dogecoin are primarily successful because of the large amount of liquidity that they provide which allows them to be transferred as hedging between exchanges and there's various things that people use them for. Liquidity is very important.
I think that by incentivizing liquidity within our markets it can grow the value of BitShares and bitUSD and bitCNY as an alternative to things like Dogecoin and Litecoin. And liquidity is very important. In fact, let's just look at it from a high level perspective. Paying 1% of the market cap for liquidity will likely add more than 1% of value to the market cap. So that's how important liquidity is to the parties involved. People don't like to buy an asset that they aren't confident that they can get out of in a timely manner and at a price close to what they paid for it.
The transaction cost are dominated by market spread. So anything you do to minimize market spread is also reducing transaction fees more or less. I would suggest that we can take the ideas of the MAKER proposal where we allocate a percentage of future trading fees, but at the same time we can use the same accounting measure to distribute payment from a worker to fund liquidity using the same algorithm. The goal is to have an algorithm that cannot be gamed by people self-trading. But that's solvable.
So I would suggest that we pick ... that we could have a worker for each ... USD worker, CNY worker, GOLD or SILVER worker and as the stakeholders vote they can vote to fund the budget to reward the liquidity providers in each of those markets against BTS. And if we do that you'll find lots of people will come in and leave orders on the books. So you need to pay for what you want, if we want lots of orders on the books that are very deep and very close to the price feed or very narrow spread, we've got to reward or incentivize that; and we can do so with a fixed budget.
So rather than paying people interest or anything that's an unbounded amount of inflation, you auction it off. Kind of like Bitcoin auctions off block rewards for hash power. You get whatever amount of liquidity you can fund for a fixed amount. That minimizes the cost risk to the blockchain and can be funded by Worker Proposals to fund that liquidity.
But at the end of the day it will cause more people to enter the market to place orders on the books just so they can earn the interest and the result of the liquidity is to increase the value of both bitUSD and BitShares. More people will be willing to go short in a market that is highly liquid.
Those are two things that I've been thinking about for BitShares. Reducing the fees ...
fuzzy: Have you thought of the numbers at all?
bytemaster: Well BitShares has a hard inflation cap in terms of 5 BTS per second is the maximum. So we can allocate that budget. I don't want to change that part of the social consensus or anything because changing that would ... no matter how beneficial it might be to say, well we should inflate so much to do x, y and z, it's just not worth it in terms of changing the deal on what the inflation rates and what the users expect. So the bottom line is all this stuff would have to be funded through the Worker Proposal system and voted to make happen.
Akado: Two weeks ago I asked Dan if he had an idea about the cost of bond markets. He said he would need some time because it's something complex. Did he have any time to give it a thought and does he have an idea now or a rough estimate?
bytemaster: I've been thinking about it periodically. I obviously don't' spend whole days thinking about it. But sometimes when I'm just sitting there thinking I think about how can I do a bond market. The challenge with the bond market is always making sure that ... I think I addressed this last week but maybe I'm wrong ... that all positions can be covered. It adds an increased cost on every order matched in the market.
fuzzy: I think that what he was wondering though was a rough estimate on the actual cost.
bytemaster: The cost to development?
fuzzy: Yeah. You did discuss this a little bit but you weren't sure how much it would cost.
bytemaster: Correct. I don't know how much it would cost, I haven't broken it down to fully specify the features. I'd say that progress that has been made on that front is I believe it is possible to do now and to do in a way that is computationally reasonable. It would limit lending to the depth of the market, but that's a reasonable thing to do, particularly in a decentralized market.
Pursing that further, it's a lower priority. I've been more concerned with solving the problems with respect to fees and liquidity. And so that's where a lot of my thoughts have been.
fuzzy: Whenever I was reading this I was thinking would bond markets be a priority over this type of fee system and checking this system out?
bytemaster: I think that bond markets are a niche market that benefit from increased liquidity and lower market fees or no market fees as far as order placement and cancel fees than ...
fuzzy: So it's something very positive but something that you think would be better to hold off for awhile on?
bytemaster: Well I think bond market is like the second story of the house. You still have to get the foundation and first story in place first and the foundation is a liquid market with appropriate fees. And once you have that foundation, market liquidity in turn will increase the order book depth which will increase the lending capacity of the network.
So if you don't have a lot of market depth then the total amount of depth ... you can't have more depth in the bond market than can be covered with the current active order book. So we need to grow the order books before we can have a successful bond market.
Thom: Yeah we don't want to get the cart before the horse.
bytemaster: Correct.
Thom: What's kind of related to this is the discussion about should we drop DPOS from the marketing. Obviously you're thinking in high level terms in regards to fees, schedules and the marketing of BitShares to increase market cap. Could you fold that into the discussion a little bit and see where that has led you to think?
bytemaster: Right, so the benefits of the Proof of Work blog post I did a while back has really been a part of my trying to get into the mindset of all the Bitcoin people who see Proof of Work as the only way for things to actually work. And so I've been trolling the different forums and discussions and blog post talking about why Proof of Work is the only way. And what I realized is that most people attacking Proof of Stake are attacking a strawman or if they're not attacking a strawman they're attacking a particular version of Proof of Stake that doesn't apply to NXT or BitShares. And when they attack ...
fuzzy: And how does this argument generally go?
bytemaster: Well it's usually some variation of the nothing at stake attack or the ... imagine DataSecurityNode's in there in his bunker without any of the communication only looking at the input coming into him through messages trying to figure out what the consensus is. There's various things, but it all boils down to whether or not a consensus can actually be reached and whether or not it's possible to forge an alternative ledger.
We know through experience that BitShares has been working, that NXT has been working. We know these systems work in practice, but people are attacking the PeerCoin style Proof of Stake where you're mining with your hashpower and so on. And basically Proof of Stake, there are significant problems with the Proof of Stake they're attacking, but when we adopt the Proof of Stake mantle people are painting us with the same brush without looking any closer.
The goal of the post was to brainstorm, if there is a better terminology for what we have. Not so much just for marketing purposes but for our own understanding of what we have created. The names that you give something is very powerful. Calling it shares versus coins. The underlying technology is the same but the impact of the way you think about the problem changes completely. So I was looking for a way of describing our consensus approach without using the words Proof of Stake.
Thom: Have you come to any conclusions from that discussion?
bytemaster: I haven't drawn any conclusions. Some people have offered Proof of Votes, Proof of Participation. There's various things in there that people have proposed. I haven't read the thread to see what all the latest is since I made the post.
Thom: One thing that comes to mind with that is the whole "Proof of" is where I think that ... "Proof of Vote" is not really what substantiates the network, that's a component of it. That's where Bitcoin is very powerful and it's Proof of Work because the algorithm for mining is the work and it's the proof, it's mathematical proof. So when you start using the term "Proof of Something", it gets a little bit weird that you would use that term, like "Proof of Vote" doesn't make a lot of sense in my view.
bytemaster: That's a powerful insight. "Proof of" is a misnomer. What we really have is Proof of Consensus. Basically everyone's signed off on it and therefore I've got proof that everyone agreed. Rather than trying to infer consensus I've proved there's consensus. We've got 51%, so the combination of transaction is Proof of Stake, is direct Proof of Consensus and the delegates is indirect Proof of Consensus.
So what we really have, the arguments against Proof of Stake, that's all been debunked. The goal is to figure out a way of describing it in a way that gets past people's knee jerk reactions. Lots of people have dismissed anything but Proof of Work and they're not engaging their rational minds long enough to consider alternatives.
We all do this every single day in every area of our life right. We adopt a belief and we don't even consider anything that's contrary to the belief because we've already ruled it out. We have to make these simplifications in order to actually live. An example of places where I've done that is the belief that inflation is bad and there should never be any dilution under any circumstances. A lot of people hold that belief, we still have that belief very strongly even within the BitShares Community.
Thom: Bitcoin set that precedent.
bytemaster: But at the same time Bitcoin is inflating.
Thom: How is Bitcoin inflating? Because the total number of coins is staying the same, that's my understanding, am I wrong?
bytemaster: Well by that measure BitShares isn't inflating either. The total number of coins isn't changing and hasn't changed since we did the merger.
Thom: Then that's how I measure inflation, but where is that an incorrect assessment of what inflation is?
bytemaster: It depends upon what you call the currency supply. Is it the liquid supply or the potential supply? But that's an example where depending upon how you look at it there's rational arguments that don't violate property rights and are completely consistent with a non-violent world view and with Austrian economics and everything that I understand about what makes for good money as a country and whatnot.
But when we don't engage our rational thought because we dismiss things, we lose opportunities and we are all each and every day facing this dilemma. So recognizing that when you deal with other people, you don't win them over by being rational first, you have to have a rational argument in the end. But in order to get through their defenses you need to be sneaky. You have to sneak in so that they engage their brain long enough to hear your rational argument and then you can persuade them.
And that's the challenge and so when we have a message like Proof of Stake, we're trying to butt up against a hard wall. We need to find a softer way to enter the discussion that causes them to start thinking and evaluating what we're actually saying.
Community: So how about we break out of the stereotype "Proof of" and call it "Witness Certified"?
Thom: If you're going to really address the whole naming of the consensus algorithm I think there's going to be a problem with that. People are going to say, "there's nothing different with the way BitShares operates, it's still the same old Proof of Stake, the same old Distributed Proof of Stake". That's what the allegation will be if we came up with another buzzword to describe it. That's what I think, we would get this pushback.
BrindleSwan: We've been playing with the idea of Proof of Effort. Which allows the individual to see effort in their own eyes. It could be Proof of Work mining a coin. It could be Proof of having the money to buy the Bitcoin in the first place from which their stake would render their power.
It's also our attempt to capture productivity. That's going to be the basis of the currency we envision. So what's a nice way of saying productivity? Keeping productivity away from the stereotype of building Ford's and Chevy's and airplanes to maybe creating art. It's all productivity. We can expand the definition of productivity by using a word like effort and I think that's where we're going to go and I'm wondering if that has any credence in this discussion?
Thom: I think Proof of Productivity sounds like a better buzzword to me.
bytemaster: I think Proof of Contribution. So this is what sort of changed my view of things. You're trying to build something, so everyone goes and brings what they have and they put it in a pot. The more things that you have that you put in the pot the bigger the thing that you're building is collectively. And because of network effects, 1+1 does not equal 2 it equals 3.
So we want to encourage people to bring what they have, whether it's money or effort and make contributions to the Community. And we want to recognize everyone who's made a contribution to the Community proportional to their contribution. And this is the foundation of growing a fair Community.
The alternative is to say, we've got this pot and we want people to contribute to the pot without getting any ownership in the pot. With that model that's like a business that's trying to sell a product. When you sell a product you give a service, they give you the money, the money goes into the pot. That's a business.
But early on all businesses start out with a couple of founders, they contribute [inaudible] and you get some with some money, they contribute some capital and the pots growing. So there's a difference depending upon what stage you're in. And the no dilution phase of a currency applies primarily when the pot is so big that any individual contribution is infinitesimally small that you might as well not even give it to them. It doesn't even matter any more.
BrindleSwan: That's a problem that Curiosome solves. Curiosome is converting someone's resume into cryptography, turning it into a key. And that key can open and close doors theoretically. And the resume is actually an account of future productivity. This is what I can do, this is what I intend to do and likewise debt is a form of future productivity as well. So we have two currencies backed by the same underlying asset, they should be convertible and that's the underlying thesis. But it helps people define what contribution can they make, did they make, have they made, do they intend to make in a Community and then it helps them find each other algorithmically.
So by contributing your Curiosome to a network, you are in fact contributing your intentions to behave in that network or contribute to that network.
bytemaster: Exactly. So right along this point is allowing people to earn their way in so people mention getting network effect with bitUSD. The more people that can earn the currency the faster the system will grow. So those are some steps that as a Community BitShares should think about how to encourage and promote. One way that people can earn it would be to provide liquidity in the markets. That's something that we can actually measure and reward proportionally. So that's a good candidate that allows anyone to participate.
But there are other things that we can do to reward people for participating, allow people to earn their way into the BitShares Community. Currently unless you're a Worker or a Witness you can only buy your way into our Community and that is a major slow down on our network effect.
fuzzy: And this is a reason why I really like the referral program as well and what Kencode is doing, because they're going to have this wallet that's going to be available in multiple languages. And some of the places where we're going to get the most adoption I believe are going to be the mobile market and 2nd and 3rd world countries. Because people can work for BitShares and bitUSD at a lower rate and still get more money than they would in their local economy. Just a thought.
[01:17:23] bytemaster: [Closing comments].
Send tips to : bts-transcriptor
Be sure to include in the Memo field : 2-5-16 Transcript Tip
Each BTS tip receives a 1:1 ratio of FISTBUMP tokens.
On this weeks BitShares Developer Hangout, Dan Larimer of Cryptonomex discusses “Plasma”, the referral program, vesting, Fee Backed Assets, a new undisclosed feature that is scheduled to be rolled out mid-2016 and he answers Community questions.
Create a BitShares Account
Transcript
bytemaster: So it's been a crazy week with a couple of high priority security releases. The new hardfork went into effect, so I wanted to just give everyone a brief update of the things that we discovered and the things that we fixed this week.
As you know there was a scheduled hardfork that was planned for a month and launched and took effect on Wednesday. Despite all of our efforts to aggregate all hardforks into one upgrade event, we found a significant vulnerability that xeroc (Fabian) discovered in his testing. This vulnerability would cause a proposed transaction that failed to show up in the transactions history as if it had succeeded even though no balances were actually transferred. Which could have been devastating to exchanges that didn't upgrade.
So we released an emergency fix for that particular issue and gave all the exchanges about 24 hours advance notice before we published it to the forum. So the hardfork is out and we are happy that no money was lost and all records are updated. I'd like to thank all of the Witnesses that were very responsive as well as the exchanges for being responsive in getting their system's updated.
That's one thing we do need to keep in mind in everything that we do. This is software, it's got features that haven't been heavily used still baked in there and use of those features might expose things that our unit test have not covered. Just beware of that. But every day that goes by the software is getting more and more secure and the bugs are being worked out of it.
DataSecurityNode: Is there any benefit to leaving vested balances vested beyond the date that they can be withdrawn? Like for Witnesses, does it shorten the time it takes for the balance to be vested or is there any other benefits?
bytemaster: The way vesting works for everything except merger balances that you import, so Witness pay or anything that's vesting from cash-back or referral program or Worker Proposal pay, those all vest on a coin-day basis. Which means that if you've got a million BitShares that are vesting over a period of one year, you've got to have a million coin-days before you can withdraw a million BitShares.
So if you leave all million in there for one year, at the end of the year you'll be able to withdraw a million BitShares. After 6 months you will have accumulated 500,000 coin-days, which means you can withdraw 500,000 BitShares. That will lower the balance to zero and you still have another 500,000 coin-years to accumulate, but you've only got 500,000 coins left in the system, so it's going to take a year from there. So by withdrawing early, so if you withdraw at the halfway point it's going to take you a year to withdraw the remaining half. If you withdraw daily, you're going to get some money as soon as possible but it's going to take you the longest to withdraw it because you're reducing the rate at which things actually vest.
So bottom line is if you need the money now you can take it out but it's kind of like you're paying interest with time. No matter what, you have to have a million coin-years to get a million BitShares if it's a one year vesting term. And if you reduce the amount of money that's in the account it's going to take longer to earn the time. So it's like saying, if this was interest it says no matter what you have to pay $50 in interest. If you remove some of the principle the remaining principle is going to take longer to earn the same amount of interest. That's the basic concept there.
Thom: Did you say that is not the scheme that is being used for the things like Witness Worker pay?
bytemaster: Say that again.
Thom: Did you say that, what you just described in terms of vesting does not apply to the Witness and Worker pay or does still apply to those two categories?
bytemaster: It applies to everything except for the balances imported. The vesting balances imported from BitShares 1.0. Those are linearly vesting on a fixed amount every day.
Thom: Well my first take on it is it's kind of a good idea from the standpoint of encourage savings within the BitShares ecosystem. But it does have some impact, I actually just withdrew a sizable amount for all the reasons so it's going to perhaps impact my ability to pay some fees. So I'll need to consider what you just said in relation to that.
bytemaster: Basically if you withdraw your full balance the remaining balance will take the full year to withdraw. So every time you take everything you can out, what's left is going to take a year. If it's a year. I think most vesting balances are like 3 months for the cashback, in which case if you take everything out it's going to take 3 months from your last withdrawal to finish it off.
I would like to emphasize though that the security vulnerability that xeroc discovered would have been very difficult to exploit. It would require doing a custom build of the wallet with cherry picked updates. So most users wouldn't have been able to fix it. So we detected it and fixed it before anyone really had the ability to figure out what it was and or exploit it themselves.
fuzzy: Historically speaking we can say that this type of thing has happened in Bitcoin multiple times. Not necessarily this specific exploit, but there have been exploits that have been found that have required hardforks right?
bytemaster: It's sort of like the transaction malleability issue. You trick the exchange into thinking you sent a transaction that didn't actually go into the network. And it's just because we have an advanced feature with proposed transactions where you can propose something and fail. It wasn't even the core validation logic that was the problem, it was in how we were reporting what happened to the users of the wallet API. It wasn't even really a blockchain vulnerability per se. But it's all been taken care of. Everyone responded quickly. So that's very good.
fuzzy: Everybody give xeroc a HIGHFIVE.
bytemaster: I'd also like to give him a HIGHFIVE for his new service that he announced of 2-Factor Authentication for BitShares. I really like the initiative of using the advanced features we have with the hierarchical threshold multisig permissions to help BitShares users create a more secure wallet.
Thom: He's on fire with the BIPS [BSIP - BitShares Improvement Proposals] and everything.
bytemaster: Yes, so speaking of BIPS [BSIP’s], we have a new Worker Proposal that has been created called STEALTH. I guess someone can probably provide a link to it using CryptoFresh. This worker proposal will pay 100,000 BitShares, about $300 to xeroc for maintaining the Worker Proposal. And it's more of a poll / measurement of Community support for the hardfork required to implement the STEALTH features. It will create a Fee Backed Asset using the income from the blinded confidential transactions to buy back that asset.
The Fee Backed Asset will be allocated to onceuponatime in exchange for funding the development of the GUI to implement that feature. So for $300 the BitShares network gets the first Fee Backed Asset and it gets privacy features which I think are absolutely critical. There are features that we want to do where privacy is extremely important and there are lots of people that have avoided importing their balances from BitShares 1.0 because of the lack of privacy.
And it's rather disconcerting to have everyone follow you around. Maybe if no one knows who you are it's no big deal. But anyone who's a big name in the Community people watch their every move. People are constantly asking why'd you do this, why'd you do that and what's going on here. I didn't realize anyone was paying that close attention to every single transfer I do on the network. But there's a lot of things like that where I would like my privacy and anyone else who's vocal or a large stakeholder also wants their privacy.
Small stakeholders doesn't quite matter as much, you don't quite care if people know that you've got $100 and you transferred it to another account or whatnot. But anyone who's got millions of BitShares cares about privacy. So the privacy feature is something that I think is very important and it's actually a barrier to adoption by a lot of people particularly people with money. It's something we need, it's something that we've already invested the time in to implement the confidential transactions at the blockchain level. We just need to provide the incentive.
So this proposal helps fund Cryptonomex, it keeps all the guys employed with the revenue we need to do things, so it's a critical proposal in several different ways. They're having arguments that maybe we should work on something else first and that something else should be of higher priority, but the only way that we can work on other things is to have those other things actually funded. And that's a bit challenging.
I'd like to let everyone know about some of the other things that we are doing. A new guy Michael has been working with us the past two weeks and he's already implemented significant improvements to the API to be very similar to Poloniex's API for getting the order book as well as placing and submitting orders. We hope to roll out those API changes probably after Christmas, he's gone on Christmas break right now.
Early January the new API's should be available. Meanwhile Valentin and James have been working on a new wallet server backup process, so users can have their private keys stored on the server encrypted and can recover those keys from any device so long as they remember their username and password. And that includes all of the wallet settings for their wallet.
So you'll be able to migrate from machine to machine, device to device, login anywhere and have access to your funds, but your password will never leave your computer and even if the server is compromised and all the encrypted data on the server is leaked, they would still have to brute force not only your password but your email and your username which is not associated with the wallet in any way shape or form on the server. So effectively all wallet content is salted with username password and email and there's no way to guess the salt because the salt is not stored next to the file on the server. So that's some of the things that we've been doing to continue to enhance BitShares.
Now this new wallet infrastructure is part of actually the Plasma project and BitShares is going to benefit from the work we're doing there to simplify wallet management, so users will have to migrate from the current wallet to the new wallet. It will be completely seamless but you will have to upgrade your lightwallet and then do an email validation. That's how the server prevents spam. You do have to have your email validated to get a token to authorize you to store a wallet on the server.
And this will be opt-in, you don't have to use this, you can continue to use it in the current mode where it's only kept locally and not stored on the server. But we recognize the need to address ease of use for the majority of users. Users who don't want to have the responsibility of backing things up themselves. Even if you're responsible and back it up you can lose your backup and all kinds of other things, so this simplifies things. Currently it's very difficult to move your wallet from one machine to another, this will make that trivial. It gives people an experience with OpenLedger like any other centralized website, but still more secure. Those are the things we are doing there.
There's two other Worker Proposals that I would like to bring to your attention. Xeroc and svk have workers. They've been doing a great job working directly for BitShares improving the GUI, improving the documentation, providing tech support for all the exchanges. The work they're doing is irreplaceable and they've done so much of it for free for so long, anything we pay them now, we're still in their debt for a long time.
Svk produced the original BitShares block explorer for BitShares 1.0 with almost no compensation whatsoever from the network or from Cryptonomex or Invictus. He's contributed significant amount of work to the actual wallet without receiving any actual cash from Cryptonomex. So we really appreciate these people and I want to encourage a little bit of decentralization of development here. So xeroc and svk are operating at least half-time completely independent of Cryptonomex to benefit the BitShares Community and focus on BitShares.
Please support them. These people need the income to live and to continue to be a part of the Community and it would be shame to lose them if we don't do that. Cryptonomex would hire them but we'd just be a middleman and we'd have to fund [Dan's computer went to sleep].
Anyway we wanted to make sure Cryptonomex was not a middleman or seen as a gateway to all the developers so xeroc and svk can answer directly to the Community for what they're doing for these Worker Proposals. So please support them in what they're doing. I believe svk already has enough votes to get elected, but we can always use more votes just to show that we appreciate them.
fuzzy: Now real quick, something that popped into my head and bytemaster said it for the second time, only the second time that I recall hearing him talk about it, was that this was part of the Plasma project. I'm not going to go too deep into it, but I just wanted to say now it seems that this is more than an idea.
bytemaster: I wanted to actually take some time to talk about Plasma because lots of people have been contacting me privately asking for updates and information about it and I figured I might as well introduce some of the concepts here, particularly because Plasma is going to be an open platform. There's not going to be any licensing or anything and it's a technology we want to get broader consensus on things.
So the idea with Plasma is to break down the blockchain concept into layers. You can think of traditional blockchains as having the consensus, the business logic, the P2P protocol, all that stuff baked into a single app. If you wanted to use Graphene to build a blockchain you're automatically going to be doing Delegated Proof of Stake and you're going to have to have voting and you're going to have all these various rules. And you're also at risk of hardforks in the event different nodes in the network are running different versions of things.
So what we wanted to do is to reduce the cost of developing blockchain based applications and by reducing the cost of developing them more people can build these applications. The idea is this, every single website out there is better off on a blockchain. Every single business could use a blockchain to implement their own internal business processes whether it's timekeeping or accounting or inventory management or customer support or contracts or shareholder agreements, every single thing a business does.
They currently have a systems to automate it [and] could benefit by being on the blockchain. And the way they benefit is primarily through decentralization of authentication. Normally when you login to a website the server verifies who you are and then changes the database. After the fact there's no way to prove that the server actually verified who you were, and the server wasn't hacked and just modified the database.
There's no integrity of database content. There's a central point of failure in the authentication link and at that same place is where all evidence of authentication is lost. So we would like all websites to be powered by a blockchain. Now this concept creates an architecture that's very similar to the Flux architecture described by Facebook and ReactJS, where you have unidirectional data flow. User actions flow through a dispatcher, the dispatcher then drops to the various data stores which interpret the actions and update the application state and then all the user interface is doing is a read only view of the state.
That's the architecture that Facebook is using. The only thing we're changing is that the dispatcher becomes a blockchain and that the actions become signed by the users. But we wanted to go a step further and say the blockchain itself should not care what the actions are. It exist for one purpose only and that is to create an irreversible record of events. The interpretation of those events is separate, that's business logic.
When you separate those two concepts you can create a token-less blockchain, a blockchain that can be used for any application because it's consensus is nothing more than multisig production of blocks. You can have a single server that just sits there like an SQL database, logs it and records it or you can have it replicated and signed off by multiple parties. But the blockchain itself is a very simple straightforward system.
Let me step back a little bit here and say the main problem we have with people adopting blockchain technology is actually development time. Everyone needs customer smart contracts. To develop them requires specialized developers. You need developers that have either studied something like Ethereum or know C++ and can do encryption and then know about all the security of hashes and so on and so forth.
Blockchain technology is something that's very expensive to implement today. The goal of Plasma is to reduce the cost of implementing it so that anyone who knows JavaScript can create a fully functional cryptocurrency complete with user interface in one page of code. This is one page of code that can sit on your monitor at one time, it's like a complete cryptocurrency. You can transfer it, you can do everything you can do with Bitcoin, minus the scripting, but transfer from key to key balances. And you can implement all that knowing only Javascript and without knowing any cryptography. That's the goal of Plasma.
Thom: Isn't most of what [Thom's mic died]. It's a matter of API isn't it mostly?
bytemaster: Yes. So the wallet API is one thing that we're going to bring to BitShares and that's part of Plasma in the sense that it completely abstracts the storage and saving and management of private keys. So as a developer in Plasma you just have to say, the user wishes to take this action and you give it a JavaScript object. It passes it to the wallet, gets signed, sent out to the blockchain and then the blockchain (it's just a standard blockchain, generic, you don't' have to write a new one, you can just use the one we provide) will log your event with sub-second confirmations, because it will be a centralized blockchain. The event after the signature's verified will be passed to a JavaScript application, Node.js application, it just implements the state machine, it gets the action you just took, updates it's internal state and then communicates the state change back to the application.
So from a developer's perspective you write a little bit of JavaScript code on the server that manages your state machine. Which is just processing events of whatever structure you define. And you help combine it with the wallet on the server side, that is handling all the cryptography for you. That's the concept of Plasma and it's not targeted toward the same market as BitShares or even decentralized blockchains or public blockchains.
The idea is to take blockchain technology and to use it for every web application. But the goal, you should be able to build your next web application on a blockchain with Plasma cheaper and faster than you could using other web stacks. Ruby on Rails and so on and so forth. It's there to give you a more secure robust environment for rapidly deploying web applications. Because you can focus just on your business logic and it's very very robust.
So that's what we're doing with Plasma. It's just a set of technologies designed to break the blockchain down into this low level stuff. It uses a lot of lessons we've learned from Graphene, to make it all open. So what does this mean? This means that smart contracts become nothing but JavaScript. They become nothing but JavaScript modules. If you want to build an application that's a state machine, you just pull in all of the JavaScript modules from other smart contracts and they'll process the events that are relative and you can build your combined state. Which is the cumulative result of processing all events that are relevant to the set of smart contracts and their dependencies that you're using.
It's all written in JavaScript and it doesn't have to run on the server and it's not part of the validation. It's a deterministic result generated by processing an irreversible record of events. The goal here is to reduce developer cost so that anyone who knows JavaScript and can follow a few simple rules about avoiding the nondeterministic behavior of JavaScript can write simple applications that benefit from a blockchain structure.
xeroc: Essentially Plasma is nothing more than seeing the blockchain as an immutable database, that's it.
bytemaster: It's an immutable database for the blockchain combined with an API that allows rapid development for web applications.
ingenesist: I seem to recall something about infinite transactions per second?
bytemaster: Sure. By infinite transactions per second I mean you can have multiple Plasma blockchains and they just have to include the headers of each other into one another. And then the application logic can deterministically parse given one stream of blockchains, the subset of events that are relative to it, from all blockchains. So you can have an application that combines two or three different blockchains that pulls all the events in in a deterministic order and generates a state.
Which means any individual blockchain. First of all there's no validation at the blockchain level, so all the expensive computations that we're doing that slow down things, they disappear. The blockchain can be as fast as you can receive, log and record data. And then they can be combined so you can make it parallel by sharding it. After you determine the order by making them parallel and aggregating you can then apply your business logic after the fact to determine the conclusion. So yes.
The primary difference with Plasma is that inclusion in the blockchain merely means someone said this and sign this at this point in time. It does not mean that money was transferred or any other side effect was approved or valid. It's sort of like saying, "I wrote you this check", but it doesn't say whether or not the check cleared or bounced. That's an application level concept.
ingenesist: Do you have any comments on the other Open Ledger announcement from Overstock and IBM?
bytemaster: I haven't looked into it other than the fact that I noticed the name was the same.
bytemaster: Someone asked a question, "Under Plasma does that mean the contract is not fully trustless?". That's not the case. At the end of the day all blockchain technology is, is you take a public record and everyone agrees on a set of code to process it and the outcome of running the universally agreed on set of code on the universally agreed upon order of events is a universally agreed upon derived state.
In the case of Bitcoin that state is the unspent output set. In the case of BitShares it's all the account balances and everything else that's going on. So you can have the hash of the JavaScript, that is supposed to be used to interpret the state, part of the events that get broadcast. So you can document the code and record it and agree upon changes and updates and hardforks. A hardfork is nothing more than switching which interpretation of the order event you're using. An example of how we've applied this concept in BitShares is that we have the events in the blockchain for all the transactions that have occurred but there was a misinterpretation or a bug in how we were doing referral program fee calculations.
By fixing the bug and rerunning the software over the same set of events we got the correct balances and the derived state was now correct and we could continue forward. It's the same exact concept, it's just you eliminate the potential for forking because what you're actually agreeing on is a very small subset of rules. Those rules include things like, has it expired, does it link into the current chain and is it signed by the proper authorities. There's a few other things, but it's all very generic protocol level rules.
fuzzy: Have you heard of Taulant's white paper regarding Pactum?
bytemaster: Yes I've been talking with him about this and he's one of the people who wants to bring this discussion public, which is why I'm talking about it here today is to sort of get the ideas out there and people start thinking about it. Because there's really two philosophies out there. One is the philosophy that things have to be extremely rigged and all the code and all the validation is actually part of the protocol. And the other, the philosophy I'm taking is one of, let's log the intent of the users and then implement the code in such a way that it best expresses the intent of the users or the outcome of the various users actions.
It's sort of like separating it out. In software terms you define an interface and you leave the implementation interface separate. It can be implemented twenty different ways and there might be bug in the implementation and that bug doesn't change the intent of the API, it just means there's a bug in the implementation.
I guess it's kind of like in programming, you either have statically checked, compile time generated code or you have runtime dynamically typed code with polymorphic interface and all of that. I'm taking a more dynamic approach to blockchains with the mindset that at the end of the day it's people and consensus that matters. And two that when it comes to business processes things are inherently centralized. And they can and will change the code that interprets things at any time they need to in order to accomplish their business. They are the masters of the universe.
The blockchain record is still irreversible. Every action everyone took is logged and the old interpretation is still there. So you still have to have consensus on which version of the code to run for interpreting the data. We're just giving a little bit more freedom and with that freedom you make it a lot easier to develop applications. You lower the bar for getting 99.9% of the benefits of blockchain technology.
And it's because you're targeting a different market. We're not targeting people who are trying to create cryptocurrencies and decentralized ledgers that are censorship resistant and the powers that be can't take down. We're targeting people that want to build a more secure website. And if you tell the people, in order to build a more secure website you need to go all the way to the extreme complexities that Ethereum has gone to or you need to program your website business logic in C++ in Graphene. People aren't going to do it. It's too expensive to build websites that way.
So this is where we're hoping to take the technology. We're building the blockchain itself off of the parts of Graphene, the very low level parts. But we're doing all the serialization for everything in JSON rather than binary. Now we're recognizing that being developer friendly is the number one most important thing, which means you should be able to program your business logic in any programming language you like using any framework you like. And that the existence of the blockchain and public keys is just something that is behind the scenes, you don't have to think about it.
sxis: What prevents attacks, anyone from changing essentially the state?
bytemaster: The first step is the immutable ledger. Once you've logged everything everyone's done and you've publicly committed to the hash of the log with the merkle root of all actions you can't take it back without someone knowing. So you've got some accountability there. The second thing is if the code is open source then anyone can run the code themselves and come to the same conclusion. Which means it's now possible for people who develop websites to detect if their database has been modified.
If the database has been modified in an inconsistent way they can run multiple instances of the same state machine, come to independent conclusions of what the state should be and if there is any disagreement between anyone of their databases they know something has happened. Then they can go back and figure out which of their computers was compromised. So by having redundancy and interpretation and the log being immutable, you've actually prevented the permanent corruption of the state, of the derived state.
It's sort of like with Graphene. If someone compromised your computer and changed the file on disk that represents the blockchain state and then you started up your node and you read that in, your user interface is going to report that bogus state to you. But if you're comparing the data from your local server to something from OpenLedger and you got different results, you'd be able to detect that your local copy was hacked.
So what prevents change? Well first, everyone has a copy of the code, GitHub logs all changes to the code. Everyone can run the code and the actual ledger is public [and] signed off on. And in the case of Plasma, the transactions do implement TAPOS transactions as Proof of Stake.
Namely when you sign a transaction you're also signing the hash of a recent block produced. Which means you're action is only valid relative to the state of other actions that you've previously seen. And so if someone tries to give you a bogus state or bogus blockchain your actions will be invalid in the context of the real chain.
fuzzy: What incentives somebody to be a full node in this situation then?
bytemaster: First of all, the reason to be a full node is the same reason that Twitter provides full nodes and anyone who has a website provides a full node for their website application. These are for private blockchains for implementing websites. This is not for decentralized systems like BitShares and Graphene. It does not have the constraint of having to be completely trustless or distributed trust. It operates under the assumption, the trust model, that a company is going to want to own all the nodes and it might put different nodes in different datacenters managed by different IT employees. So it's decentralized internally and they use multisig on every block that's produced for their own internal records.
But for the outside world no one else even has to run the blockchain. This is about enabling people to use blockchain technology to give their users private key control over every action, so users of this website know that the company can't fake your actions. They can't say that you posted this tweet or that you posted this on the forum or that you made this commit to GitHub, because it won't have your signature on it and you can be in charge of your keys if you want to be.
So this is about giving multi-user websites the ability to use distributed authentication with private key cryptography seamlessly combined with the audit trail and everything else that it provides the company. So the company gets the audit trail and security and they run the full nodes. There is no mining process, there is no Delegated Proof of Stake, there is no token, it's just the people that setup the blockchain, they define who the signing keys are and the people who are in control of the chain can sign to change who's now going to be in control. So you can add and remove keys that can sign for the blockchain.
But it's certainly more centralized, but it's not trying to target the same problem that other cryptocurrencies and BitShares and Ethereum are trying to tackle. It's going after the much bigger market of every website out there.
fuzzy: bytemaster would you mind if I moved into a couple of forum questions here shortly?
bytemaster: Before we do that I do want to say something. BitShares is still our priority for the decentralized distributed market. That's why I was trying to let everyone know that Plasma is not a competitor to BitShares. Plasma can actually be used with BitShares with custom transactions. You can use BitShares as the ledger for logging all of the events and then Plasma can just pull those events from BitShares and pump them into the same state machine. So there's some overlap of course but BitShares is benefiting from the infrastructure we're building for Plasma in terms of wallet hosting and so on and so forth.
fuzzy: So it makes it possible for people to more easily create these user interfaces that have been considered by many to be one of the areas where we need to work on most. Is that a safe way of saying it?
bytemaster: It means you can use BitShares as your public ledger for any application you want as long as your application is completely self contained or only depends on read only access to the state of BitShares. If you want to have read write access to BitShares, and by that I mean the ability to receive coins, hold them in escrow and control where they go, you need a hardfork so you're part of the protocol. But things like Follow My Vote can implement all of their voting logic on BitShares without a hardfork. People can implement a forum on BitShares without a hardfork.
fuzzy: That's a beautiful idea.
xeroc: I have a question, not about Plasma and Graphene in particular it's about the Fee Backed Assets in general. When I was writing these BSIP for Fee Backed Assets I was wondering about the maintenance account. These accounts can not be created any time, they have to be created on a hardfork. And what I understood was that this hardfork also had to sharedrop the initial shares of that particular Fee Backed Assets. Is that about right?
bytemaster: Yes the hardfork, a Fee Backed Asset involves writing code to automatically buy it back according to some blockchain feature that didn't exist prior to the creation of the Fee Backed Asset. So there's already a hardfork going on and part of the hardforks overall process would be defining; it can be an existing account or an existing asset, it just has to define which asset it's going to be and which account it's going to be.
The idea is that that largest holders of a Fee Backed Asset would have multisig authority to; the issuer account of the Fee Backed Asset would be multisig authority set proportional to the largest shareholders in that asset. And that account may have additional privileges, not necessarily guaranteed, to set properties and things related to that such as fees.
So if you're going to implement a feature and you need some dynamic property that's going to affect the future revenue stream of that asset, the largest stakeholders in that asset can create and fine [or find?] a transaction like the Committee. It works just like the Committee only for that; and rather than doing voting of all the holders we just take the top 5 or top 7.
The reason not to do voting is just because it's the single biggest most expensive calculation we have to do on BitShares right now. And it's what slows down resyncing more than anything else. So doing that for a million Fee Backed Assets would just complicate things.
xeroc: Ok so it would be possible to; it's pretty much like share-dropping future fee revenue stream, correct?
bytemaster: Yes.
xeroc: Cool.
fuzzy: Welcome to the sharing economy.
bytemaster: So the way I've described this to people is, you can either go; if you have some idea that you want to implement like Auger or [inaudible] prediction markets or eBay, you can either go create your own blockchain, issue your own token and try to get people to adopt it and use it and pay in your token for that feature. Or you can do the same thing on BitShares and create a Fee Backed Asset. By implementing your other blockchain concept on BitShares you get the network effect and interoperability but you still get to keep the same revenue stream.
In the Ethereum world someone creates a contract, every time you use their contract they take a fee, is how it works there. So an Ethereum contract can be that. So an example of something that we could do for Fee Backed Assets is actually take the Ethereum VM and integrate it into BitShares and then the Fee Backed Asset would use a percentage of the gas would use to buy back that asset.
And if we did that then we could have a faster DPOS backed Ethereum and the people who fund the development of that would profit if that features actually used and generates revenue in the form of gas. Those are the types of things that are possible and just to think about.
fuzzy: I'm glad I asked this question, however I have to say that this is like betax said it's a lot to digest. It's definitely a pretty big deal if it works out as planned.
fav: It's impossible to explain LTM marketers how to get their revenue out via console. Is there an ETA on a GUI function that acts like a claim cashback functionality?
bytemaster: Yes. I was under the mistaken assumption that it had already been implemented. That's something that svk or James or Valentine could implement in half a day if they wanted to. I've asked it to be a high priority item to get implemented.
fuzzy: For smartcoins and UIA's whose value against BTS is known at any point in time, could we introduce a BTS value threshold below which the transfer fee is very low? So I'm assuming for the tokens that are not extremely valuable at any given point, maybe a new token that is used for something that is not necessarily monetarily valuable, at least directly, the transfer of which those tokens might be lower in terms of the transaction fee? Would you be able to get into that a little bit or answer the question as he asked it?
bytemaster: Yeah, it's a complicated subject to do percent based fees. I mentioned in the STEALTH case that you can't even do it because you don't know the amounts involved. So obviously if you're using STEALTH confidential transactions you can't do percent based transfer fees. If you want to lower the transfer fee then; if you want to make it percent based you need a very very solid sense of what something is worth. I think you could probably only do that for bitAssets that have a Committee fed price feed or a Committee fed, Witness fed price feeds.
The other thing that you could do is charge a high fee for transfers and then do cashback later after a vesting period. So the transaction is cheap except for it's kind of like a mail-in rebate. YOu get your money 6 months later. You pay 50 cents today and in 6 months you get most of it back. That provides value to the blockchain, because the value of a token is based on how long people hold it. It's how many coin days people hold it for and when you look at hyperinflation the period of time that people hold the coin of the currency decreases to almost zero. They get it and they immediately sell it. Whereas several people hold it and you encourage holding that provides value, because you're basically a continuous spy on the asset.
And that still prevents spam but from a referral program perspective lower transfer fees could undermine businesses. Going to a volume based thing for BitShares might make sense. But, yeah I don't have an easy answer to that I'm kind of rambling now.
I would like to say that I am working on something for BitShares that I think is going to be game changing in terms of driving demand from users within an outside of the cryptocurrency space and in particular driving demand for BTS. I'll provide more info on that as things progress but the concept is so big it's going to put the referral program on steroids and dramatically increase the amount of BTS that is held. And also going complete without any dilution.
I've some got some big things I'm planning for BitShares. I think it's huge. I've mentioned a little bit about it on the forums. You can guess what post where I was testing the waters on some concepts. But yes, I think that we can; the problem that BitShares faces is that exchanges, prediction markets, cryptocurrencies, confidential transfers, those are all things that exist everywhere. There's competition both from centralized solutions and other cryptocurrency tokens. We need to create something that doesn't exist anywhere else. And yet something that everyone wants and the value is not derived from transaction fees. I don't have a code name for it yet. Let's think of a code name here. "Project Christmas", there we go.
My main point of mentioning that is I'm really excited about it and I have a hard time keeping things I'm excited about to myself. But also to let everyone know that I'm still looking for ways to really bootstrap BitShares and ways to fund it without dilution and to grow the ecosystem. The whole stuff we talked about Plasma that's part of the Cryptonomex business plan to reach broader markets, but I still have my eye on BitShares and the things that we can do as a decentralized system.
I haven't gone over to the dark side of centralized solutions. I just am trying to make money so I can continue to innovate on behalf of BitShares. So no this will not be ready by Christmas. If I had to guess on the timeframe for this, we're talking 5 or 6 months. So don't go pumping or dumping BitShares as a result of this, that's not my intent in this. My intent is only to let you guys know that I've got some really cool ideas. I'm working it over with various people and trying to find funding and line things up.
Obviously if I can't have funding and I can't get buy ins the projects going to struggle. But yes, very exciting stuff coming and will probably cause lifetime memberships to increase in price from $100 to $1,000 because the value of each user that's brought to the system will be that much higher.
One of the things I want to do for the referral system, while I'm on it, is; users can start referring other users even before they upgrade to a lifetime member. The only restriction is they won't be able to claim their referral income until they themselves have generated that threshold of fees. Which means you can go and start referring people and do all kinds of stuff and see the money piling up before you even decide to upgrade. And that will hopefully bring down some barriers.
But that's not why the value is going to increase to $1,000, it's because I've got a new revenue source to fund it. So yes, and if they hit the threshold of fees themselves basically they've paid someone else, whoever referred them enough, then they can claim it. The whole reason for these thresholds is to prevent people from creating one account and then referring themselves without paying anyone any referral fee.
So that's one tweak I want to make to the referral program as part of my new idea, but yes there's some stuff here that self transfers will be beneficial for, but this I think is bigger than prediction markets. It's bigger than the smart contract platform. And in my opinion for BitShares perspective it's bigger than Plasma. Plasma might impact more businesses everywhere but the impact from this would be really exciting for BitShares.
fuzzy: You said earlier that you were talking to Taulant behind the scenes. Is that pretty much where this relationship ends or are you guys actually working together in any way shape or form with BitSapphire, can you talk about it?
bytemaster: The goal with Plasma is to work with as many people as possible. I wanted to try to get the ideas flushed out and described, but it seems like a lot of people have been coming to us and talking about it to make sure they weren't doing the same thing. Plasma is really a cool technology that we want to exist so that we can build things. But the challenge with Plasma that we've been trying to figure out is how to make money with it.
No one builds websites on proprietary software stacks. They use open platforms because they don't want to be locked in. Which means we can't charge anything for Plasma. Plasma chains are private so there's many different chains so there's no network effect from Plasma. The only reason we're building Plasma is the same reason Facebook built React, they needed it. They needed it to build further applications and to get developer support. So the reason I'm talking about it is because we recognize the more people that know about it and start working together; if someone else can fund and develop a competitor and we don't have to pay to develop Plasma we'd be more than happy to use it because it's going to be free for us too. So that's the basic concept there. [mic cut out] in the industry.
fuzzy: Sounds in many ways like it's the epic version of what SuperNet was trying to accomplish. Only I guess it brings in private blockchains to so that's different. It's pretty huge. I'm looking forward to seeing more about this stuff.
bytemaster: There should be updates to the GUI, I know the developers have been working on it. So it's just a matter of testing to make sure they didn't break anything before they release it, but I will check with Valentine to see if he can get a release out today. If he didn't release one on Wednesday. To be honest I don't pay attention to all of the releases of the GUI updates. So there's a team of people that are working on batches of features to release with the goal of doing it every Wednesday. If it didn't get out last Wednesday it will certainly be out next Wednesday.
This transcript was made possible by the following BitShares Community members donations :
On this weeks BitShares Developer Hangout, Dan Larimer of Cryptonomex discusses UIA’s, market makers, prediction markets, Smartcoins, Fee Backed Assets (FBA), Stealth Transactions, proposed transactions, 2-Factor Authenticaion and he answers Community questions.
Create a BitShares Account
Transcript
bytemaster: First major update for those of you who may not have noticed, there's a new BitShares release with hardfork coming out for next Wednesday. This hardfork combines many of the changes we've been talking about for the past several weeks. It addressed twelve major issues and I'm sure many minor issues.
So some of the things that are new in the new hardfork is, when you cancel an order you get a refund of the order creation fee. We now prevent margin calls from executing unless the call price is less than the feed price.
We fixed the referral reward percentages. So you should have a proper balance in your referral account. The Committee can lower the redeem vesting balance fee after the hardfork. And everybody should be fine.
We also fixed numerous bugs including a significant security bug that was reported to us. I'd like to thank the Community member out there who found it, you know who you are. It would have allowed an attacker to crash a Witness node remotely.
So we fixed those bugs and numerous other small changes have been implemented. Namely API's and things like that. I think that should address a lot of the major concerns of the past. This is also the completion of the first Worker Proposal we put together which was adjusting and refunding the margin call feeds.
Please, if you're running a full node you should upgrade as soon as possible. We have notified some exchanges, but if there's a particular exchange that you care about it doesn't hurt to contact them and let them know that you care about them upgrading. So I guess that's where we are with the updates to BitShares from this week.
Now there's been a lot of discussion this week on the new concept of Fee Backed Assets (FBA) has taken off. And since we introduced that concept on the forum we have been privately contacted by a half dozen different organizations looking to invest in various fee based features.
Everything from prediction markets to bond markets to, I can't even think of them all off the top of my head, but we've got the stealth mode and we've got the incentivization of liquidity proposal. I guess that's four or five I just named right there. And there's other people that are thinking about how they might use such a model to bootstrap their business.
I would say that far more than Worker Proposals or anything else, the Fee Backed Assets is incentivizing entrepreneurs to come up with ideas, come up with features and then go and fund them and make it happen. So I'm very excited about what this means. Obviously there's more opportunities here than our current team is able to tackle, but if some of these initiatives gain strength and have enough funding to make a longer term commitment to [inaudible] we can start hiring people to grow our team. Or companies can start hiring their own team members and just hiring us for the consulting on learning and training and advice on how to design and set things up.
So there's lots of entrepreneurs out there that are looking at adding features to BitShares now that we have a model that rewards them proportional to what it is they are doing. I think that's huge. I've been analyzing why that is so and that's because there's the cost of implementing something, there's the price you can charge for it and then there's the value of it. And Worker Proposals limit the amount you can profit to the price you can charge for doing the work. Which is much smaller than the value of the work that's produced. Which means that the BitShares network needs to be proactive in trying to find people who want to work for hire. They're not going to find entrepreneurs.
Entrepreneurs care about, "What's the value of this thing that I can produce>? I'll raise the money to build it and I'll collect the difference between the cost to get it built and the value of the feature". And the other benefit of this process is entrepreneurs are people who recognize the value in something that other people don't' see and then they take action to realize that value.
As a blockchain and Worker Proposals, 99.9% of people don't see the value in features. You know people don't' see the value in Stealth, they don't see the value in the Bond Market or the Prediction Market or whatnot. But everyone sees the value in something. And so when we try to get consensus on what we should fund via dilution the vast majority of the people aren't going to see the value in it and so you can't consensus in the network. You can't advance.
But by privatizing the rewards of the success of the feature, the BitShares holders offset the risk, they don't need to get diluted and entrepreneurs have crazy incentive to take whatever idea they were thinking about building as their own blockchain and instead build it on BitShares. So they get the benefit of all of the things BitShares can do. They get the network effect of BitShares, but they still get all the profits they would have expected to get from launching their own blockchain.
Which means that many of these features now have million dollar bounties on them, if you make the assumption that a Fee Backed Asset has a value similar to some of these small proof of concept blockchains that exist. I think this is a very interesting development for BitShares. It's very exciting to see all of the people thinking about how they can use this model to make things happen.
So I'd like to thank onceuponatime for stepping up and kick-starting the idea and everyone else who's since contributed to the ideas and discussions on the forums. That said, are there any particular questions that people are interested in?
fuzzy: Would you like to explain a little bit for anybody who's missed any of this, what exactly onceuponatime stepped up to do with the Stealth feature?
bytemaster: Sure there's a lot of debate about which features to do and onceuponatime felt so strongly about the need for privacy and he's not alone, but he is willing to actually put up the $45,000 it's going to take to get the user interface and all of the cryptographic features into the wallet so that people can actually take advantage of a feature the blockchain already supports.
Even though the blockchain supports stealth confidential transactions, the total supply of assets held in such a manner is only a couple thousand BTS. That's because most users aren't user the command line wallet. I don't even use the command line wallet. So it's a feature that's there, it just needs to be exposed through the user interface. In order to justify spending the money on it people expect some kind of reward. And so the idea I suggested to onceuponatime was that we could reallocate a percentage of the transaction fees generated by people actually using the new feature to generate a return on his investment.
He really seemed to like that and that's of course spawned lots of discussion about well, lots of people would love to get a cut of those fees as well, which opened up the idea of crowdfunding and all of the benefits that has means that a single person doesn't need to take on 100% of the risk. We can divide up the future revenue stream among many people who contribute money. And that really started to excite people because it allowed for equal opportunity.
So a lot of discussion has gone on in the past couple of weeks about how such a Fee Backed Asset would work, what are the legal considerations of a Fee Backed Asset and what's the best approach for onceuponatime. Because he's the one that's going to be paying for the feature, he ultimately gets to decide how he wants to handle it. But I think the concepts are generally useful for everyone here to understand and for new entrepreneurs to understand.
I'd like to actually get into that for a second. The biggest concern with any crowdfunding initiative or any revenue sharing scheme is whether or not it is a security and a regulated activity and is the person who's selling such an asset at risk of being fined or having their profits taken from the SEC and other regulators. So there's a working paper produced by Swan and some of the biggest law firms in the cryptocurrency space, like Perkins Coie and so on.
And it really dug into the details about what makes something a security. And a lot of that paper inspired a lot of the features in BitShares 2.0. Things like making sure that the value of an asset is not derived by the work of others or that the people who own it are in partial control of it's future value. So the concept of membership organizations and self-governing systems were deemed by the Swan paper as being unlikely to be considered a security.
Because you have to have lots of different factors simultaneously to be a security. Just because it's an investment opportunity doesn't mean it's a security. Just because you get a return on investment, just because it looks like a share and it can trade and it's got volatility, all of those things don't make something a security. It's a combination of factors and the single biggest factor in my opinion is whether or not the value of the asset depends upon the future work of someone else.
And in the case of a Fee Backed Asset, so there's two cases here, if you crowdfund something you're pulling money into the hands of one person, that's one characteristics of a security. And that person has to produce something and the future value whatever it is that person gave you, a token or whatever depends upon them doing something.
However if someone does something and then sells it, that's not a security because it's already done, there is no need for them to take further action of the thing they're selling to have value. So, how that applies to Fee Backed Assets, if someone funds a feature [and] as part of that feature is a system or it creates an asset that they own 100% of and the fees buy that asset back from them to reimburse them for the feature, that person has not issued a security and they haven't sold it to anyone, they've just created a system a system where they get a refund from the fees.
If they sell part of that asset to private individuals, that is also not issuing a security because it's not a public issuing. Like someone starts a company and they got private investors, you're not issuing a security from a regulatory perspective. It's only when you go to the public and you try to sell to the public. But in this case, selling the asset after the feature exist, it's no longer an asset backed by the promise of onceuponatime or Cryptonomex or anyone else to do something. It's just an asset, like Bitcoin or BitShares that exist and does something and people buy it for the characteristics that it has built in.
Which means that onceuponatime could sell his stake in this feature in the open market on BitShares without being the one selling a security, because the proceeds of the sale aren't being pooled to do some common enterprise. They're profit for him personally and he gets to keep it and there's no expectation of him to do anything else.
So this gives you a example. You fund something, you build it and after you build it then you sell the token and the tokens value is backed by the revenue stream of the actual use of the feature. That system is in my opinion not a security. Of course I'm not a lawyer, go talk to lawyers and draw your own opinions. But the best I can tell, the risk are so low the way Cryptonomex will probably structure most of our future Worker Proposals will be very similar.
If we're going to fund a feature we're going to get permission on the blockchain to charge whatever fees we want to collect for the feature. And if we estimate that it sounds good and there's sufficient demand for the feature then we will implement it and sell the token rather than charging a Worker Proposals of a fixed dollar cost and so on and so forth.
We're very excited about the potential for this mode of operation, it incentivizes us and others. So it's a great development in the BitShares Community.
fuzzy: Have you considered the potential for a Worker Proposal to kind of like pay for, let's say it requires $10,000 to build this feature coin. A Worker Proposal would give 50% of that and if it's voted in and that amount is paid, 50% of those tokens would be sharedropped on a Community. Have you guys considered anything like that, kind of like the potential for a hybrid type version of this so it allows the Worker Proposal to cover some of it and private investors to do the same as well. Or is there going to be an issue with that?
bytemaster: The hybrid approach is the network profits as the feature is used and it buys back the BitShares. That is the original model and it suffers from the fact that getting everyone to agree on that 50% funding is just as difficult as getting them to agree to 100% funding. You might be able to get them to agree to 1% funding because that minimizes the amount of dilution required to a point where most people think, "well yeah I can see it being 1% successful", right.
So that's the biggest challenge. I think as a whole the Community is better off using free market approaches rather than socialized approaches. We should reserve the Worker Proposals for goods and things that cannot be privatized. An example is general improvements to the BitShares wallet. General bug fixes and API's. That type of work is not rewarded, that's infrastructure, that's low level. It's not new features, it's not a profit center it's just the cost of doing business. Which is why I [submitted] a Worker Proposal for svk to be an independent developer constantly improving the GUI for BitShares.
We need to incentivize active development for BitShares, because otherwise the incentives in the system are for Cryptonomex to work on what's profitable for us, you know what we get paid for, and what we get paid for is not necessarily the mundane stuff that benefits BitShares. So we need to align the incentives properly so that we can all move forward, make rational profitable decisions.
brindleswan: What about partially built features that don't require but could take advantage of future work. As long as the future work is not promised we're still good on not being considered a security?
bytemaster: Correct. So an example here is, we build the feature for Stealth Transfers into the GUI, that feature benefits from advertising of the feature, but anyone can advertise the feature. Anyone who owns any stake in the use of the feature can go and then advertise it. So it's value is not dependent solely on the work of others.
DataSecurityNode: Is there a place where there is documentation to read up on this? Exactly how an FBA would work?
bytemaster: So far it's all just been discussions in the forum about how it would work. But now that we've had lots of discussions it's time to formalize the structure to describe for new people coming into the system how it works, how they can benefit,what types of things this can be used for. This Mumble session is sort of a starting point where we start to describe it for people in an easy to consume format. But I would love to see the idea broken down into a series of blog post.
And to some extent it's kind of like an Ethereum contract where you can write your own contract and get paid when people use it. The difference is with Ethereum I can take your contract, copy it, modify it, remove the reward that you get and then everyone will use mine. In BitShares you write the contract it gets voted on and the Community collectively enforces that you get compensated for your contract because you're the one that built it first. We don't need two versions of essentially the same thing and we recognize the importance of rewarding those who funded it with the proceeds of it.
So that's an incentive to build your smart contracts on BitShares versus Ethereum, because you can actually corner a particular feature set on the BitShares network and grow. Whereas if you did the same thing with an Ethereum contract, after you produce it anyone can take it and use it.
fuzzy: Would it be more expensive to do this on BitShares as opposed to Ethereum?
bytemaster: Development cost? No. I can take any Ethereum contract that people are excited about and I can write something in a similar amount of code and have it deployed on BitShares.
DataSecurityNode: Is any portion of fees going to the network for FBA's?
bytemaster: Yes the network is not giving everything away. We wouldn't allow a feature on the network where the network didn't get a cut or the network would get spammed by the issuer of that feature. So the network was always getting a cut, so in the case of onceuponatime's proposal for Stealth Transfers, the network will get 20% of every Stealth Transfer fee paid and his Fee Backed Asset would get 80% for those features.
And that's very similar to how all the other fees in the system, 20% goes to the network and 80% goes to the referrer. So you can think of the feature creator as being the referrer to the network for some of these features. In the case of the market making incentivization proposal which I think I'd like to address again this week, because there's been a lot more discussion and a lot better understanding on my part and others in as far as how it would work, what it's benefits are and how it compares to other things.
But in that case the fee charged in the incentivization program is a percentage of the rewards given to the market makers. That's a fee that the network doesn't get today, it's currently going to the issuers. So rather than reallocating or reducing the fees the BitShares network's getting we're just profit sharing for an asset issuer. And as a result there's going to be more transactions, more volume, more trading and more users in BitShares. All those users, all those trades, they're still paying the order creation fee which goes to the network and/or the referrers. And that's a couple cents per order, but in volume the network is making money the more users that come in.
And the network could have never have made money off of market fees. So one of the features that people have asked and I tend to agree with is that if you take a user issued asset and it's trading against BTS, the incentive, the fee that any market fee BTS charges, instead of that going to the BitShares network it should go to the issuer of the asset. Because they created an asset that's now trading against BitShares. And even the rate when you're trading a user issued asset against BitShares it should be set by the issuer of the asset and not by the BitShares network / Committee.
Because if you're an exchange like say Poloniex and they wanted to move their orderbook onto BitShares for whatever reason, they'd only get half the fees because their not getting the BitShares side of the equation any more. The BitShares network as a whole wants to make sure that exchanges don't take a loss by moving onto the BitShares network. And so when we go to incentivize liquidity it's really the issuers who we are trying to incentivize liquidity in their assets so they can increase the adoption of their asset, because adoption if proportional to liquidity and in the end they make it up in volume.
You might get a smaller cut of your trading fees but you'd have an order of magnitude more trading fees than you would have had. You've dramatically increased your chances and your ability to compete against the competing assets that are doing the same thing. How do you decide whether you're going to trade BTC, OPENBTC or DATABTC? You go to whichever one has the most liquidity for trading against BitShares.
So there's a lot of stuff to consider about how we want to encourage issuers. Issuers are just as important as users when it comes to referrals. In fact issuers are taking a bigger risk and they are actually more important than the referral program because they're the ones that go out there and they have to market and sell their asset or there's no point to a business based around issuing the asset.
So we really want to focus on incentivizing and rewarding those particular users. We talked about allocating those fees to the referral program and so the solution I proposed that the issuer of an asset in the network could divide it somehow. We don't want to say it all goes to the referral program or it all goes to the issuer. We can make that a tunable parameter which gives the Committee the opportunity to change that over time.
fuzzy: Have you guys considered as far as any of these variables that could be changed by the Committee, do you guys see any potential decisions in the future that might affect Fee Backed Assets, that people who are considering Fee Backed Assets would keep their eyes on it at any given juncture?
bytemaster: All kinds of things can affect Fee Backed Assets. Anything that negatively impacts BitShares, negatively affects Fee Backed Assets on BitShares. I would look at the Fee Backed Assets as having some risk exposure to the Committee. Now the Committee is incentivized to make BitShares a welcome warm place for entrepreneurs. If BitShares develops a reputation of the Committee taking actions that completely undermine entrepreneurs that are building on BitShares future entrepreneurs won't build on it. And those that are here might leave. It's kind of like governments trying to offer tax incentives for businesses to build in their district.
We need to offer incentives for entrepreneurs to come and stay and we don't want to do anything that would cause them to leave. So as long as the Committee and the people voting for them recognize that any money that BitShares network might claim for itself by changing the rules to steal money from the people after they've invested in the future, that might generate some fees for BitShares holders but it ultimately undermines the future of BitShares. And the fees you collect by stealing that money or that revenue stream through a Committee action don't justify it. The cost are too high in terms of future losses.
Governments sometimes do stupid things where they raise taxes thinking they'll get more income and then businesses leave and they end up with less income. That's effectively what would happen if the Committee increased fees too high or tried to reallocate the percentages. Because that's the same thing as increasing the tax of building your business on BitShares.
As long as we're aware of that we will try to keep the network fees as low as possible, recognizing that the value of BitShares will probably appreciate more as a result of adoption than as a result of fees being burned.
This week I posted a How-To use the current BitShares system for Prediction Markets. A prediction market uses most of the same infrastructure as a bitAsset with the primary difference being that there is no need for a price feed and that there is no possibility of their being insufficient collateral because you post the maximum that you could lose as collateral.
So the issuer of the asset can do a global force settle which is like triggering a manual black swan event. Which then allows the participants in the prediction market to settle at the settlement price after the event has occurred. That post is on the forum. I'm sure someone will find the link and post it here.
The issue that was brought up by puppies is, if an asset cannot be reused then the issuer will need to recover at least the cost of issuing the asset per event. So it seems as if we're caught between preventing spam and promoting use. I would state it another way. Most assets you can register for $5. If you're not expecting to make at least $5 in trading fees, it's not a big enough prediction market to be worth considering. There won't be enough liquidity in the market to be worth promoting.
So prediction market assets should be designed and marketed towards things you can actually get lots of people involved in and generate significant volume. And the event should be unique enough that the symbols for each event, you wouldn't want to reuse the same symbol if you're going to do an election. It's going to be Republican2016, you're not going to reuse Republican2016 for something else in the future. That type of thing there's no need to rename or reuse a prediction market. After the even has occurred, it's occurred.
So I'd be interested in seeing examples of where you'd want to reuse a particular token. The other issue we have with reissuing tokens is that when the event occurs we don't go and find everyone that's got the asset anywhere and instantly convert them. Users can come along and convert and claim their winnings at their own pace.
That's done for two reasons. One we can't necessarily resolve all smart contracts. We don't know who's the ultimate owner of these assets is going to be. If I time the outcome of the election to some other contract, whether it's a loan or a escrow or some other thing is going on on the network. It's not possible to just swap it out and replace. We have to wait until the users get the asset and they say, "I'd like to convert it".
And it's also one of scalability. If you have assets that are backed by assets that are backed by assets or the number of things that would have to change at one point in time would be too much. It's better to break it up over time.
And third is scale. If you have a million users and you're trying to do this settlement and distribution, that's going to cost a lot more than if you only have ten. And so by dividing up over multiple transactions you're getting fees for every time someone goes and settles. The network collects fees proportional to the complexity involved with redeeming the asset.
All said, there's no guarantee that you're going to be able to get everyone to redeem the assets so that you can reuse the token. So the real question is not about reusing the token, it's about reusing a name or symbol. And I think that is a broader thing. Tokens under the hood are assigned unique numbers and those numbers can never be reused. But it may be possible to allow someone to rename a token. The problem with renaming tokens is one of confusing market participants. You know, "I thought I had some FISTBUMP's in my wallet but now I've got some ORGASM's", I don't know.
If something changes it's name how do the participants know you're going to confuse users. So consistency in naming over time is an important usability consideration. I'd like to see a really good example of a name for an asset that we would like to reuse through multiple prediction events.
fuzzy: Well FISTBUMP's turning into ORGASM's overnight certainly would probably cause some problems. So are you talking about in this example you're giving as far as Republicans2016, let's say I issue a coin and it's Republicans2016, if you believe that they're going to win you send to this address. If you believe their not going to win the Presidential election then send it to this [other] address?
bytemaster: No it works more like, if you think their going to win you buy it. If you think they're going to lose you borrow it and sell it. When it comes time to settle, it's either going to be worth nothing or it's going to be worth $1. So you know the guaranteed range and so if you bought and it's a 50/50 chance then you can sell it for 50 cents and either it goes up to $1 or it goes down to zero. And you want to be on the right side of that trade and you double your money.
fuzzy: It will be cool to see where this evolves to. In terms of the Fee Backed Assets aspect were there any of these projects that you were able to talk about or are all of these pretty much in the shadows kind of thing like held back and not really allowed to be discussed in the Community.
bytemaster: I haven't signed any NDA's or agreed to keep anything secret. I guess a lot of the stuff has already been discussed in the Community. Someone wants to implement the Poloniex style lending and leverage system. That's one thing we're looking at. Someone else is interested in a prediction market system like Augur. There's so many I can't even think about them right now.
All of things are things that we've discussed on the forum in the past, they're ideas that some people like and they will be discussed thoroughly in public prior to funding commencing. Because the first step here is getting permission from the stakeholders of BitShares to implement the feature on the blockchain. Once you get permission to do so, and the way we gauge that is based on funding levels.
If you can get more support for your feature then the refund Worker Proposal, the Worker Proposal the just returns the money to the blockchain, if you get more support than that threshold then we assume the feature is accepted by the Community. So if you don't like some of these features [inaudible] Worker Proposals you can vote for or against them. Be proactive and to a large extent the proxy voters they will be the ones making the decision of what features come and go. So pay attention to who your proxies are. Proxies evaluate the proposals and consider them.
Community: May an existing UIA be configured to enable a feed and where should I point Dev's in order to integrate a specific UIA into other projects?
bytemaster: You can have privatized bitAssets which is a user issued asset that is a smartcoin. Those can be created and configured to have feeds. If they're not a smartcoin then you don't get feeds. I don't know what the feed would be used for with a regular UIA. It is possible to publish data into the blockchain through custom operations and if that's all you want to do then, yes that's also possible. And you can publish price feeds that way but it won't be used by the system because feeds are only used for smartcoins at this point in time.
I will add that there is a type of feed which you can publish for all user issued assets and that's the core exchange rate. This is the exchange rate at which the fee pool converts your user issued asset to BitShares. That's not necessarily representative of the value of the user issued asset because you can either charge it the same premium or offer a discount to the actual value, but yes that is a way that you can publish price information about your asset that is actually used by the blockchain.
So I'm going to answer another question [from the forum]. Where do you see the prediction market evolving? Will the front end be in the wallet or do you expect third-parties to create easy to use front-ends? Augur obviously thinks it's a huge market.
I think it is a huge market. I think that it's a market that is as huge as whoever can get behind marketing it and hosting it. It's an opportunity to create a custom interface that is better than our native wallet. The interface created for this thing can ... the reason why it's a huge market is this, you crate trading pairs that don't exist anywhere else. You give a price for speculators to come and trade and make money on things that they can't make money on any where else. And that is absolutely huge.
Xeldal: Will a Windows CLI full node be provided for the latest release?
bytemaster: I'll ask Dan and Eric to produce one. They have nightly builds that should have it already. But yeah I would expect that it would have one eventually.
Community: So if I own asset XYZ, will name XYZ be available for the smartcoin?
bytemaster: No, there's one flat namespace. All assets smartcoin, regular or otherwise have one name. So you can't have both XYZ and an XYZ smartcoin. At the time you create the you have to pick whether or not it's going to be a smartcoin and you can't go back.
fuzzy: Could they be inter-operable in the future? For instance to upgrade to a smartcoin.
bytemaster: We could potentially make them inter-operable assuming the current supply is zero. Once you've actually issued the token and you've got a non-zero supply you can't convert it to a smartcoin. But that's basically because it has to be backed if you're going to upgrade it.
OldDPOS: What is the settlement order if everyone has the same collateral?
bytemaster: Prediction markets work like black swan events. Everyone who's short, basically borrowed it, they get immediately settled at the price that's determined by the judge or basically the issuer. So they get part of their collateral back or none of their collateral back, depending upon whether or not they won or lost. Everyone else can request settlement just like you do with forced settlement and then they get settled at the same settlement price. It doesn't matter which order you come or go, everyone's getting the same price.
ingenesist: I'd like to ask about any updates or progress on I guess any third-parties providing hosted wallets with 2-Factor Authentication where you can point a newbie to and they wouldn't have to worry about backing up their keys or having a secure computer themselves.
bytemaster: We've been working on stuff behind the scenes for server side hosting of wallets and then when you combine that with the built in multi-sig, there's some work that needs to be done in the user interface for proposed transactions. That's a feature that we'll need to get funded somehow. There's a lot of work involved in displaying, representing all of that. So we'll have to figure out how to fund the proposed transactions.
But once you can do that then on your phone or on your desktop you propose a transaction and on your phone you can confirm it or you propose and you have a family member confirm it. There's all kinds of things you can do once the user interface supports the proposed transactions. But for the simple case of being able to login from any computer having to worry about backing up, as long as you remember your username and password you should have access to your wallet, we are actively working on that.
This transcript was made possible by the following BitShares Community members donations :
On this weeks BitShares Developer Hangout, Dan Larimer of Cryptonomex discusses the Stealth Transaction Worker Proposal also known as blinded transactions, the cost associated with this feature, privacy, transparency, freedom, government regulation, DPOS, voting and he answers Community questions.
Create a BitShares Account
Transcript
bytemaster: You can imagine it's been a relatively slow week on the feature development side of things, but a new release did come out yesterday. I want to thank svk and others for working hard this week to get that out with numerous bug fixes and new features. I'm very excited to see how each week the wallet is getting better. Slow and steady progress will eventually get us to where we want to go.
There's been a lot of discussion this week on the nature of smartcoins on the market rules. I was reading those on the forum, I think I'd like to review some of those today. Just so everyone understands the trade-offs and the parameters associated with things like forced settlement versus not forced settlement and so on and so forth. Especially now that forced settlement is exposed in the user interface. We can asks some of those there.
So there was a bug from last week of a referrer income being off by a factor of 100. Numbers weren't scaled properly in the command line wallet which caused the blockchain to create accounts with the wrong configuration. We've identified a fix for that. I believe Ben was working on it this week, but of course he went home to visit family this week. So I don't know the exact status update on that.
But we have a number of bug fixes that are going to be rolled out probably next week. And maybe take effect the week after. We're trying to do things more deliberately than rushing things out. So the primary thing holding us back is of course testing all of the changes we've made. It's one thing to make a change in the code and say, "yes I think that will fix it". And it's another thing to know that it's actually fixed.
We want to minimize the number of times that people have to upgrade all of their nodes for a hard fork. So we're going to bundle up the referral bug fix, the pegging, using the feed price as the limit for margin calls and then also refunding order creation fees when you cancel an order before it's been filled. So those three things, one of which is a Worker Proposal are going to be rolled out together.
We should have all of the features done in the coming week and then roll it out and apply it to the blockchain the week after. I think that's part of what we're trying to do is, release hard forking changes at most once a month unless it's an emergency. And then we do web updates once a week with various user interface tweaks. So that's what we have going on there.
One of the major things that was discussed this week was a new way to raise money to build features. I think that it's worthwhile to discuss that in this Mumble session. There's a lot of debate about what we should prioritize and how it should be funded and how much we should pay for things.
There's a large contingent of individuals who want to focus only on the market and make it the best exchange possible. And then there's another group of people that would really like to have the stealth transfer features. This is blinded confidential features in the wallet. I'm of the opinion that without privacy a lot of people are hesitant to put money into the system, and that we need both.
But of course, I don't have the ability nor desire to push through certain priorities. And we only have so many Worker Proposals that can be funded at any given time. So I put together a Worker Proposal for $45,000 to build the user interface and migrate the cryptographic algorithms from C++ to Javascript for doing these blinded confidential transactions.
It's almost an entirely new mini-wallet because it has no overlap with the existing account structure. All confidential accounts are just public keys that are not registered on the blockchain in any way shape or form and you have to have a send and a receive feature associated with it. There's going from public balances to confidential balances and there's going from confidential back to public balances. There's a lot of UI elements there that are new. That's the primary reason why the price is where it's at.
Quite frankly I've probably underestimated the time and effort required to do all of that. But that's the number that I put out there so I will stick with it.
Thom: When I look at the actual stealth transaction description that you put out there some time ago about how to do stealth on the CLI, are you envisioning a whole lot more functionality than what's currently implemented in the CLI?
bytemaster: The only thing, only additional functionality than what's in the CLI would be the ability to register a new account with a stealth balance.
Thom: Thank you.
bytemaster: One of our forum members, onceuponatime, contacted us offering to pay to implement that feature (stealth transactions) if he had an opportunity to get a return on his investment. And I responded that, well we could implement a hard fork that would allocate the fees from stealth transfers to him to reimburse him for funding the feature and to also earn a healthy profit.
That led to a beginning of a lot of discussion and ideas around basically crowdfunding, revenue sharing for new features. And this idea is very very powerful for BitShares, because it means that anyone who wants to implement something that has new operation types, say you wanted to implement eBay on BitShares, you need new operation types for starting an auction and so on and so forth.
Or say that you wanted to implement the instant-orders like BitStamp has. You'd need new operations for creating and canceling instant orders. If those feature are used, the person who funded those features can get compensated by the fees charged on those features. It would be like having a mini-blockchain within a blockchain. Each individual area is a profit center and the people who put up the money to build out and expand that feature set can earn revenues from the blockchain when their features are used.
Now originally the idea of Worker Proposals was that everyone would socialize the cost and socialize the rewards. We all paid for it together with a Worker Proposal, we all reap the benefits when the feature is adopted and used. The challenge is we have a limited budget for how many things we can fund simultaneously and not everyone agrees on the risk reward for a particular feature. Which means that there's always going to be someone who's unhappy that we fund a Worker Proposal to do x when they would rather it have funded it to do y.
Thom: It's a collective perspective versus an individualistic perspective of profit sharing and revenue generation.
bytemaster: Correct. So what we can do going forward is have a new user issued asset feature that whenever certain operations are executed it automatically buys back some of that user issued asset. Or we can divide up the payments of a fee among several different parties that have contributed. The network for providing basic infrastructure, the user who funded it and of course anyone that helped crowdfunded it.
I think crowdfunding helps diversify the risk, which is good. So this is, I think, a great idea. A great opportunity for BitShares to become a platform with a lot of innovation. The primary thing we need to establish as a blockchain and as a Community is that we never renege on commitments. If we promise someone a cut, you know 20% of all stealth transfers for life, we need to not change the code in the future to break that contract.
It also means that we need to be wise enough not to allocate 100% of all funds to someone who funds a new feature. Because every new feature is a foundation of yet another new feature and as soon as you allocate 100% of something there is nothing leftover for us to allocate to someone who comes along later and wishes to expand upon the power of those operations.
But I really think that it will be great to see how that evolves. I think that from a crowdfunding crypto ... whether or not it's a security issue I think is not really an issue in this case. Particularly if payment isn't made until a feature is delivered. In that case there is no risk on someone else's performance and 100% of the returns are hard coded into the actual algorithm itself. So we removed trust from the equation, at least from the people who do the crowdfund. The people who do the work. like Cryptonomex, would be trusting that the crowdfund program would pay once the feature was delivered.
fuzzy: Is there a way to lock those funds up and then have the Community vote to unlock them when milestones are achieved?
bytemaster: There's always a way to do anything. It's just a matter of time and money. So initially a lot of this stuff will need to be done manually with multi-sig accounts and so on and so forth. But if the particular process is one that we can generalize then I think funding a Worker Proposal to formalize the process a little bit will enable more of these types of features to happen in the future.
So I'm very thankful for people like onceuponatime for risking their hard earned money to build features for BitShares and to help grow the BitShares ecosystem. I think stealth transfers are a huge part of financial freedom and very critical for the ongoing success.
fuzzy: Out of curiosity, where do we stand on the update portion? I just want to make sure that you're not feeling cut off for anything at this point.
bytemaster: I'm not. I mean I've got lots of things I'd like to discuss but I figure I'll answer some questions first before I start asking some questions.
Travelasia: You mentioned stealth transfers are important to bring people into the ecosystem. What about cold wallet options?
bytemaster: Right now it's trivial to have a cold wallet. You generate keys offline and then you change the permission of your hot wallet and you're good to go. There's a little bit more work that would be necessary to sign a transaction offline and then copy it to an online device. But I think that most transactions could be represented as a QR code. And so it should be relatively easy for someone to take the wallet code that we have now and generate a transaction and display it as a QR code and then have an online wallet read that transaction. I think that's the main thing, tools for signing, but as far as putting funds into cold storage it's very easy.
Thom: What is your perspective regarding the priority of the stealth feature versus other activities that are ongoing right now? You know getting the exchange in a level of refinement.
bytemaster: I'm of the opinion that the exchange is just going to keep getting better on it's own as we learn how to improve it. We have one person working on the exchange right now. Svk has been our primary one developing the exchange. He's the primary one pushing updates to it. We have lots of other developers that can work on other things in parallel. And so I think that stealth is not necessarily ... it's not an either or proposition, I say we do both.
Thom: I see, alright. Well I guess could the development of the exchange functionality be improved with more manpower or not?
bytemaster: To some extent it can. The biggest features we need for the exchange side of things right now are API improvements. And the bottleneck there is our C++ developers, which includes me and Ben. And of course Ben has been focusing on the various things coming up in the next hard fork. Some of which is exchange related, like getting the fees to be more consistent with what people expect.
So we just put a offer out to hire someone who we'll hear back from soon and if they start we'll have some extra manpower on the C++ side as well. I'm excited about that. I guess there's ... improving the API to enable bots, we do have a large, I guess a really big customer that wants to move a large part of their exchange to BitShares, and we're talking huge. And that's what we're working on figuring out how do on the backend.
So lots of stuff happening and we're trying to grow our team as all this work starts flooding in.
fuzzy: As this happens and you have these types of projects, how do you plan on seeing this playing out? How do you plan on seeing this play out, like if a Worker Proposal doesn't work out and an exchange wants to pay for this, is that how it's going to work, are they going to pay for it? Or are you guys going to be doing this and adding it on and hoping for a Worker Proposal? How does this work?
bytemaster: Well how everything works in life, we do things for profit. We prioritize mostly based on profitability. The highest most profitable actions get our highest priority. We have lots of factors in there, of course we want to see BitShares succeed and there's non-monetary forms of profit associated with things. But in the long run sustainability depends very much on profitability. So if there is a limit to the amount of manpower we have and the amount of time we can devote to something we're going to go to the highest bidder more or less. As long as it is consistent with our philosophy and our vision.
That's how we plan on resolving those disputes. If we were to invest our own money to build a feature, we would probably take an approach very similar to onceuponatime and ask to be compensated with fees from the network for use of the feature. We don't expect anyone to do anything for charity. We don't believe that's sustainable, either to the network or to the people who are giving of themselves for the benefit of all BitShares holders.
So we're all working to promote BitShares, BitShares is of course our flagship product from Cryptonomex. It's demonstrating the power of what we've produced and we want it to be successful. At the same time we're also working very much towards making BitShares stand on it's own. We are in an advisory role. We can propose things and we can give advice but there was a discussion on the forum about people's skillsets. Where my skillset ends someone else needs to pick up. And I think BitShares is pretty close to that right now.
I'm an INTJ personality, which if you go and read up about it, it will explain a lot. I see the vision, I solve problems, I put together the big picture and I prove that something works. But when it comes to going the last detail oriented, let's take this to market and grow it, that's a skillset that other people have. And as one person pointed out, Charles Hoskinson and I were a perfect team in that respect, if you look at skillsets.
If we could find someone or some group of people and many people have stepped up and they're doing this type of thing; to take on that role with respect to BitShares. I think the sales and marketing and business strategy; slow and steady methodical, getting features that have been proven adopted by the masses, I think is where we need talent. I hope things like the referral program and Worker Proposals and Committee member positions have created an environment where those types of individuals can step up and make money.
Recognizing what I can and can't do is probably the best thing for everyone involved, myself and the Community. Because, you know, put people to their best use. You don't expect everyone or anyone to be good or excellent in every possible area. So I think we're rapidly moving toward that.
iHashfury: Can we clarify basic mechanics of SQP (Short Squeeze Protection) short squeeze feed price in relation to the balance of the following statements? Lower SQP should increase liquidity. Higher SQP, better black swan protection. As some shareholders are asking it to be reduced to 1,000 to increase liquidity, should Committee members have control of this feature?
bytemaster: So this is an example of a parameter for which I did not know the best setting. I recognize the need to protect shorts in thin markets from being margin called and having to accept ridiculous prices that are 50%-75% off from the external prices. At the same time, if you completely protect them from having to cover at any price below the feed, then there's a chance that they'll be in margin called territory. They should be margin called, but because of lack of liquidity in the market they won't be margin called. Which means you'll end up with a buy wall at the price feed. And that buy wall will sit there as the price falls and eventually hit a black swan price and they're margin called.
So in order to protect against black swan we need to make sure that the market clears. That the people who have taken on debt and are now lacking sufficient collateral are forced to cover their debt or post additional collateral. Right now it's setup so that if you're margin called, you could pay a penalty of up to 10%. The proposal is to reduce it so that you pay a penalty of 0%. I think making the penalty 0% relies too much on the price feed being the final decider of the fair price. I don't think that the price feed can react fast enough to market demands.
And I think that the amount of liquidity at the price feed should be very small. And if you have a large position and it needs to cover you're going to have to deviate from the price feed to cover that position. There's no other way around it. So I appreciate everyone's desire to not have shorts get penalized, because we need shorts in the market and no one likes it when a short gets penalized. The long and the short of it, no pun intended, is that you're only at risk of getting penalized if you've taken on a short position, you haven't posted sufficient collateral and the price is moving against you.
If you are a short who's paid plenty of collateral and you proactively cover your position rather than waiting for the market to cover it for you, then you'll get a better price. The goal of making penalties harsh around the edge cases is to force people to take responsibility. When you go short you're borrowing money, you're taking on debt and the system as a whole is accepting some risk of your default. And you yourself are taking risk of your default. Basically when you take on a short position, you're saying I promise to buy this back at a dollar and if my collateral falls I promise to cover it as quickly as I can.
So I think it's a bad idea to go down to 1000%. The fix we are putting in will make it so that a margin call won't trigger accept at the price feed. But when it does trigger you can get 10%. Right now there's some weird cases where you can get triggered earlier than desired which causes people to lose some money. So we're fixing the pathological case which could temporarily be fixed by going to 1 to 1 short squeeze protection ratio. But I think that there's confusion in the minds of people about the impact of different parameters and what they actually mean as well as understanding underlying causes of people taking on losses.
No one who's had sufficient collateral on their position has taken any losses. That's the moral of the story. Maintain your collateral and don't cry when you get margin called to cover your debt. It's no different than on Poloniex when something happens and you're forced out of your position and you walk the book and you get a terrible price. They forced you out of your position because the market got thin enough, you were forced to exit. If you don't force people out of their position because you're trying to guarantee them a fair price, you risk the entire system going bankrupt and risk everyone bitUSD and the other shorts.
So you don't get something for nothing. In this case, you don't get to borrow money and be guaranteed a fair price. You're taking the liquidity risk when you borrow. In a highly liquid market with lots of orders within 10% of the price feed, if the size of your margin position is a small fraction of the available liquidity then you're not going to get a bad price even with the short squeeze protection in there.
So we're looking at an artifact of illiquid markets and people's sense of entitlement to a fair price, even if it comes at the risk of the entire system. You're not getting something for nothing when you take a 10% premium on your bitAsset. The person was holding bitUSD and they're being forced into; they are saying I'm willing to buy BitShares if I can get a 10% discount, otherwise I want to keep my bitUSD.
That's liquidity provision. The 10% fee is the cost of that liquidity. They weren't necessarily willing to buy BitShares for 5% or 1%, right? So it has to be; the reason why there's such a high premium is because that's the cost of liquidity right now. They're not getting something for nothing. You're getting to exit your short position and maintain your collateral. Basically not default on your debt.
malcolmjmr: There are no sellers because no one wants to enter the market because of an imbalance in risk profiles. It is a bad idea to have SQP at all. It's completely different than Poloniex than bytemaster's earlier comment. There's no liquidity on BitShares. If you get a 10% premium on your bitAsset because of SQP you're getting something for nothing. How is that liquidity provision? There is no liquidity to speak of.
bytemaster: What do you mean there is no liquidity to speak of? If people are able to exit their short positions, that 10% premium then someone is providing liquidity. They're willing to go short and let you out of your short position. So think of it that way. If you're short and you're running out of collateral and you want to exit your position, you either buy on the market ahead of time or you have to find someone else who's willing to take over a short position with more collateral. So the incentive for someone else to go short in order to create bitUSD, in order to sell it to you so that you can exit your short position is that 10% premium.
Now when the market only has a dozen traders or a hundred traders, you get wide spreads and you face significant opportunity cost if you're forced to move a large amount of money very quickly. So, like I said earlier, all of these issues only impact shorts who have low collateral. If you've got very high collateral then you're not at risk of being margin called and you can voluntarily cover at a price that you think is fair by placing orders and adding liquidity to the other side of the book.
Now we're in this little dilemma where because of perception and confusion on these issues a lot of people don't want to take a risk because they don't feel like they understand the system They don't think they understand the risk and that's causing some people to step back. Now someone asked whose responsibility is it to provide liquidity. Is it my responsibility? Is it Cryptonomex? No. Providing liquidity is a business. It's traders who understand the rules and look at the market and they provide liquidity on either side.
But it's not a risk free business. If you simply try to buy and sell on either side of the price feed and the market starts a steady trend in either direction, you're going to lose money. Because everyone's going to sell to you and then no one else is going to buy back and the market is going to move. So it's not a cut and dry, "well why doesn't someone just provide liquidity?". The only way that we're going to get liquidity provided in these markets is if either there's a wide spread and someone can actually make money doing it, and there are people providing liquidity right now. But of course people don't' like the spreads right now.
If you want to tighten those spreads, the profit, the money is going to have to come from somewhere else. So that means a Worker Proposal that absorbs some of the losses in order to bootstrap the liquidity. It's one of those things that require a lot of courage to start your car, but once it's running it doesn't draw the battery at all. To jump start some of these markets it might require a large infusion of capital, of people taking irresponsible risk to provide liquidity and that might just be what has to happen.
Thom: bytemaster you participated on the forum with monsterer regarding DPOS, do you have any follow up comments on that? He raised a rather disturbing issue about the amount of votes that BTC38 has at their disposal.
bytemaster: Yes. So DPOS has this trade-off between those who are actively (or aptly) participating in the voting process and those who are actively participating in centralized exchanges. There are more people putting their money into a centralized exchange than there are voting. That's not a problem with DPOS, that's a problem with centralized exchanges. That's a problem with people trusting a large portion of their funds to an entity outside of the blockchain.
The problem's solved by having people like BTC38 move to gateway status, but of course they don't want to do that. So that leaves several options here. One we can incentivize voting or we can disincentivize not voting by charging people a percentage based fee if they have a large balance and they are not voting. That should increase the voter turnout, which will thus increase the amount of stake outside the system.
The other thing is, as the internal exchange mirrors the power, the amount of money kept on external exchanges should decrease as far as BitShares is concerned. As a Community we should try to move as much trading as possible to the on-exchange, on-blockchain liquidity providers. It reduces the probability of any large exchange getting hacked and then dumping all those BitShares on the market.
That right there, it's a threat that applies to all proof-of-stake systems if BitShares was using the exact same algorithm as NXT or Peercoin then the concentration of power represented by the exchanges would mean the exchanges would produce the vast majority of blocks in any particular window of time. It means they have the ability to control block production if they wanted to. And by putting your money on an exchange and keeping it there you're effectively supporting that.
The other option is to have the exchanges nominate proxies outside of the exchange to vote if they don't want to be active in the politics of a particular blockchain. But at the end of the day, these exchanges have a large vested interest in the success of the protocol and of the blockchain because they're making money from transaction fees. By not voting they are effectively allowing everyone else to decide and they're staying neutral. It means that all the stake held on the exchanges is as if it was adding to the votes of everyone else. And these are people that are trusted. They don't have a thing to profit from destroying a blockchain.
So the only risk we have right now is the risk of a large stakeholder getting hacked. And I don't know an easy solution to the problem of a large stakeholder getting hacked other than perhaps implementing rate limits on the rate at which any particular account can transfer funds. If you had rate limits that said that any account with more than 10 million BitShares and it can only transfer a million per day then you'd see exchanges diversifying into more than one account. If they were hacked you'd know that they couldn't possibly be hacked by more than a certain percent of their funds on any given day.
Thom: I'm not sure that solves the problem is someone was really out to take over or wreak havoc on our system. They could diversify, have multiple accounts and all point to the same proxy and consolidate their voting power into one place and get around the limits that you are proposing to the individual accounts by purchasing. I think there's a way to get around if you have that intent, but I'm not sure there's anything we can do about that right now.
fuzzy: Let me ask a question. Let's say everybody started moving to something like OpenLedger. It seems to me we solve a couple of problems but does it open up any other problems that I might not be seeing. Because it seems like that might be a good way or having other exchanges that are running their order books off of us.
bytemaster: Sorry I wasn't able to process that.
fuzzy: Right now you're talking about the centralized exchanges right?
bytemaster: Yes.
fuzzy: So at least the security aspects would be a lot more resilient if they move their order books over to be BitShares based like OpenLedger.
bytemaster: There's lots of [inaudible] with being a gateway. And it doesn't completely protect everyone who's got open orders in those markets. If a gateway's asset is hacked, the keys that control the issuance of the tokens for that asset, then they can issue an unbounded amount, dump them on the market and anyone who had open orders ends up holding the asset without any backing.
That's very similar to having your BitShares on a centralized exchange, so it means; at least when the BitShares are in your control on an OpenLedger style system, you're still voting with your stake. But yes, any time you have one person who has the ability to print a token and buy a lot of BitShares or controls a lot of BitShares they're going to have influence.
That's just the nature of the system. Influence is proportional to stake and if you want to have maximum decentralization you've got to make sure you don't have concentration of ownership.
Community: That's exactly what I was working on to provide a decentralized gateway for coins. Because a decentralized exchange is only really decentralized if you're not centralizing the deposits and the storage of the coins. And that's [inaudible] and I have a Worker Proposal running for that. I got a lot of bad feedback, but that was mostly people who didn't seem to really grasp the concept and the problem I'm trying to solve here according to what they wrote. And I want to urge everyone to have a look at that again so this may happen.
bytemaster: The ideal situation, you'd have multiple independent parties be multi-sig on a Bitcoin address for receiving Bitcoin deposits. And then they would be multi-sig on a user issued asset. They would all process Bitcoin deposits and withdrawals the same way, because they can all see the request and the addresses and the memo's.
Community: There is NXT SuperNet that may be known to some of you. It's trying to do that but they still have a semi-centralized structure by running fixed nodes, which handle the transactions signing. And I've worked on something similar on another blockchain, but I came to the conclusion that the only real solution to that problem is if everything is peer-to-peer. The signing nodes are voted in and can be voted out and that's what I want to do.
bytemaster: With threshold multi-sig it's possible to do a lot of that stuff. It's a very complex project, so I'm glad to see someone's looking at it. I would like to address one last thing here. malcolm says, "bytemaster's answer for why there is a SQP is essentially that shorts are paying for liquidity. If they wanted to pay for liquidity they could pay a 10% premium for the bitAsset they needed to close their position on their own. bytemaster suggesting that the SQP is useful for shorts, when it's not".
Yes, someone who shorts can always pay a 10% premium or more to get liquidity. It's useful to shorts in that the network won't force you to pay more if you're below the maintenance collateral ratio, you need to close your position. The network is being gracious by not making you close your position at a bigger premium for your liquidity. That is of tremendous value t o shorts. To say it's not useful to shorts is to say it's not useful to have a price cap on how much you'd have to pay. Without it you'd have to pay a much higher price to get the liquidity you need to exit your position because your collateral is below the maintenance requirement. So there's tremendous value there.
I'd like to change gears a little bit and talk about some philosophy. This is mainly to get feedback from you all about stuff that I've been thinking. So this has to do with the concept of privacy. Everyone wants privacy. There's a thread on the forum right now talking about the need for controlled access [inaudible] and debates about merits of big data being [inaudible] you data. What I was thinking the other day, before this thread came up, was that information is power. And that there's a huge discrepancy between the information available to governments and information available to individuals.
Government knows where we all live, they know how much money we have, they know who we communicate with and they know everything about our identity. They can steal our identity at any time. But we don't know anything about them. We don't know anything about our neighbors. We live in a world where someone knows everything and they can use that power to enslave the rest of us. And the rest of us are kept walled off from each other because we are afraid to let each other know about things.
And I think it's gets even more fundamental. The reason the internet is insecure is because we depend upon privacy. In particular, identity theft is nothing ore than a loss of privacy where someone learns your mothers maiden name and your birthdate and your pets names and then they can do and pretend to be you because they happen to know information about you. So our entire financial system; what would happen if all information was made public as in, if someone knows it about you, everyone knows it about you.
It would mean that banks wouldn't be able to rely on security questions to authenticate you any more. It would mean everyone would have to adopt public private key cryptography and then your secrets would be your secrets. The only thing that you keep private is your private key. It would mean that the people would have the ability to know who all the government agents are, who's a cop, where the cops live. It means we would know everything about everyone which would level the playing field.
So of course nobody likes the idea of being exposed, but by trying to protect our privacy we only protect it from our friends; and our enemies, in the sense that they're using this information to have control over everyone, is benefiting from it. So the question is, are we barking up the wrong tree by trying to create systems where we protect privacy? Because as soon as you compromise a server and that data is published privacy is gone forever.
And we can assume that governments and bad guys can get access to this information. Which means that the only people who don't have access to all of the information are the good guys. The people who you don't really have to worry about using that information.
So I would suggest we take a different strategy and try to invent systems that level the playing field of information disparity. Make it so that people don't assume information's private, they assume it's public and as a result all companies everywhere have to start acting accordingly. Which will dramatically advance the goal of getting public key cryptography used to authenticate people.
Thom: I don't know, it really seems to me that it's very contrary. Why would you need stealth then? Privacy is essential for freedom. I hear where you're coming from and I've heard this argument before with regard to, if everything is open then nobody has secrets and it's all very transparent. Especially when you look at it from the standpoint of finding out information about the people who run the government now. But I don't know it just doesn't sit right with me. It doesn't seem as though that's really the right way to go. I think it's going to have a backfire effect rather than it having a positive effect. But you've thought about it more than I have so I'm willing to listen to what you're saying here.
bytemaster: I'm not saying; if you're going to have privacy you use stealth and confidential transactions to keep your bank account balances private. But you don't depend upon privacy where someone else has access to information that you don't have.
ingenesist: It's like no privacy for the old data and with all the high profile hacks all of the time and the fact that governments can be hacked and they already have all of this data, its' like your mother's maiden name, your pets, all that stuff, your porn surfing habits; all that should be assumed that it's going in the direction that it's going to happen. But from here on we can have privacy with the new technology.
bytemaster: Right. Either you have real privacy or you don't. And trying to maintain the illusion that you can keep something private that someone else knows about you; was it two can keep a secret if one of them is dead. That's exactly what it's like. Whenever you do business with someone else and they ask you security questions, you're giving them the keys to your identity. How many people have ... how many companies have you given that information to?
You feel like it's still private, but it's not. How many people in your life know those individual facts about you. It's not really a secret. Some stranger might not know it about you. But that doesn't mean that they couldn't find out for the right price.
ingenesist: But also all the information, because the governments are nefarious is deniable anyway. You can always say, "no that wasn't me at that website, I'm just being framed".
bytemaster: Right. You can always say, "I didn't take that action", " I didn't do that thing on this website". Now it's a, was your identity stolen or not? Now you have to have a court case to figure out did you know or not. And it ends up being ambiguous and it turns out that the terms of service says that you agree by this website that if anyone logs in here it's you. Well guess what, you've lost the case before it even began. You're not really secure and people continue to deploy these insecure systems.
If you really wanted to force everyone to migrate to more secure systems you would make all this information as public as possible. It should be like a small town, reputation matters. The more people know about you the better you have to behave. You shouldn't have secrets. Now people like secrets, people like privacy when they get it. I want privacy. But privacy is something, it's a double edged sword. Bad things happen in the darkness and the light of day brings out the best behavior in everyone.
But it's a real question and I'm not saying that I've got the right answer here. I'm more of posing a hypothesis that if everyone's name, address, family connections and picture and credit history and debts; anything anyone else knows about you was aggregated and made public then the only thing that you can have privacy on are those things which you don't tell anyone else or you don't' tell anyone except those who you trust not to reveal it.
So I think it would make people get a lot more conscious of things and it would ultimately result in a world that had more real privacy and more real security versus what we have now.
Thom: How do you contrast the activities of say Facebook which so many different people put so much information about themselves out there. Do you think that increases their risk for being taken advantage of or not? It seems like what you're proposing is more towards that kind of Facebook model.
bytemaster: Yes. What I'm proposing is everything on Facebook to be made completely public. And a lot of people wouldn't like that. But the reality is everything on Facebook is completely transparent to those in power and those in power are using your Facebook friends and family and connections to figure out who has influence on whom and if they ever do need to purge a resistance movement they're going to go to that database and track down anyone who's even tangentially related to someone who's been vocal against the regime.
Thom: Well that's my point, if you don't participate in Facebook and don't populate all of those databases then obviously you're not getting the advantages of those databases, but you're also not going to surface the risk as well.
bytemaster: Yes, but just because people ... Facebook's where's everyone's voluntarily posting their information, but the governments got their own records where they've collected and aggregated information on everyone that's not voluntarily posted, right? So when you combine the stuff that's on Facebook with all the other records that they have on every individual, they've got our complete picture. Facebook is just adding to it and it's a picture that only they can use. We can't do the same. Alright who's everyone that's involved in the shadow government? We don't know that. We can't look at the same data they can to derive who are the known associates of so and so.
ingenesist: There are lots of websites now that do let you list cops addresses and track government bureaucrats, that is starting to happen a little bit.
bytemaster: The reality is that privacy and trying to maintain privacy is something that a lot of people are very much for and they're very much against anything that would try to strip them of their privacy and its' a very controversial subject. I only bring it up because I like to ask questions that no one else is willing to ask or to think about. Turning things upside down from how I normally think about it.
We can't actually have our privacy, what would happen if we went the other extreme and made as much as possible public? What impact would that have on society and if trying to keep yourself and your stuff private, it's a losing battle. You can't do it, you can't sustain it. You can sustain keeping things public, it's not sustainable to keep things private.
fuzzy: Do you know if webs of trust could accomplish that?
bytemaster: You can pick who you share information with and if they don't post information on you and they keep it between you that's fine. It's just a matter of recognizing; it's sort of like, if everyone's an informant right. Well what if we all inform on each other constantly and not just to the government, but everyone informs on everyone else and it's all kept in one giant blockchain database and you have reputations associated with how accurate the information is that you provide on other people.
The result is everyone would have a better picture of the truth and no one would go about their lives under the assumption that they can escape their past. Which means they'd be more careful with their present actions. It means you'd have more verified information out there.
Community: Is the need for privacy a symptom for a bigger problem?
bytemaster: I think that's a very interesting question to ask. At some point; it's sort of like the non-violent approach to revolution. You'd think that you've got to fight the bad guys, you've got to go rally the troops and go shoot them. But sometimes taking a non-violent approach and just walking into their batons as they beat you down has the affect of making them lose the moral high ground and it wears down the enemy. Even though it seems counterintuitive to take a beating voluntarily.
I think that the more we try to protect our privacy the more we give power to those who have access to information. It's sort of like a nuclear bomb; well that's the trump weapon right? If one country has a nuclear bomb and another country doesn't, you don't go to war with them. You don't go to war with the government because they know everything about everyone. But if everyone has a nuclear bomb, there are no more wars because it's mutually assured destruction.
If government agents can't get away with doing things in secret, can't keep their acquaintances secret, if it's just impossible to maintain the web of lies, because all of that information is made public by everyone because everyone is informing on these people. And all their pictures a known, you can't have secret agents any more because, here's a picture of someone and I'm using facial recognition to look them up in a public database. Oh lookie I see where this person is I've tracked them down to their family and I know they are working for this government. You get rid of secret agents entirely.
It changes the equation entirely for all of society by making everything as public as possible. I'm sure there's some downsides, I'm not saying it's all upsides. Bad guys can use this information to track you down. Stalkers can use this information to follow you around. But it's a tradeoff between dealing with private criminals versus large centralized organized crime. Organized crime magnifies the power of bad guys relative to individual crime.
So that's my idea of the day. I'd be very interested to hear feedback either here or on the forums about whether or not seeking solutions in that area is something worth considering.
End of transcript.
Like reading the transcripts?
Be sure to tip our transcriber @ bts-transcriptor
BitShares News funds the transcription service out of our own pockets. But we can’t continue doing so forever. We need your help! If everyone who reads this transcript were to donate just 500-1000 BTS we can continue providing complete transcripts without interruption. Please consider donating today since it helps the BitShares ecosystem by having a written record of BitShares Hangouts. This is BitShares History!