Show Posts

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


Messages - theoretical

Pages: 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 ... 34
106

Like Toast said, I'm not going to want to run the same script everyone else is.  As far as I am concerned, every delegate should run a script with private customizations not publicly disclosed, it's much harder to game 101 different algorithms whose details are unknown, than it is to game a single published algorithm that everybody uses.

In addition, I'm not comfortable giving a third-party script access to my delegate's private key.

I've started writing a feed script, but I want to make sure it is rock solid.  No feed at all is better than a feed script that's poorly tested.

But I am pretty busy doing actual work, and doing this is pretty far down on my list at the moment.  Maybe after 1.0 is out.

107
General Discussion / Re: Simple Binary Prediction Market Discussion
« on: February 04, 2015, 09:36:47 pm »
Why limit yourself to binary prediction markets?

All you'd need is a UIA pair (asset.X, asset.Y) that can be created / redeemed in equal numbers by anyone at parity, e.g. anyone can freely turn $Z into Z shares of asset.X and asset.Y, or turn Z shares of asset.X and asset.Y into $Z.

Then a multisig settlement authority, once a quorum of the settlement authority has specified the settlement price p where 0 <= p <= 1, every X becomes redeemable for $p and every Y becomes redeemable for $1-p.

The free market will do the rest.

108
General Discussion / Re: Simple Binary Prediction Market Discussion
« on: February 04, 2015, 05:43:04 pm »
Experience with the peg in the early days (before price feeds) suggests that settlement will need to be enforced.

I was under the impression that we're under feature freeze until 1.0, so most of our development effort should be going toward testing existing features and moving toward release.

So I would suggest shelving this idea until after 1.0 launches.

109
General Discussion / Re: what is useful of Bitshares-js?
« on: February 04, 2015, 03:15:41 pm »
Yeah, I think using BitSharesJS for a browser extension is much more reasonable than using it for a website.

The problem is that if you're asking people to download and install a browser extension, you might as well ask them to download and install a native application.  A browser extension doesn't have the "it just works"-ness of a website.

110
FWIW, BitShares itself is most tested on Mac [1] and Ubuntu 14.04 LTS.  Windows is officially supported, but in practice is something of a second-class citizen because most of the highly active developers [2] and users use something else.  If using another distribution or Ubuntu version, your mileage may vary.  The amount of support the developers can give users on unsupported OS's is officially "none."  Unofficially we do occasionally look at Github tickets and forum posts from people running into issues with non-Ubuntu-LTS distributions (or toolchains) that aren't reproducible on the officially supported distro.

[1] Most of the other developers use Macs.  I'm about the only one who actually develops BitShares on Linux, although we have many internal and community deployments on Linux servers.

[2] With the notable exceptions of dnotestein and emfrias, who do most of our Windows support among many other things.

111
Wouldnt the attacke[r] require to dip multiple markets with high volume .. at least my script takes volume into account .. so that would be a rather expenive attack ...

Yeah, the attacker would take losses in the beginning, but the point is that the volume from triggered cover orders would be way bigger than the volume on the exchanges, so the attacker would be able to recoup his losses and overall get a profit.

112
The "provocative" post [1] raises an interesting point.  Does publishing feeds with high frequency harm the network?

The idea is if everyone's publishing price feeds very frequently, the cost to manipulate the feed is small -- the attacker can simply dump BTS on exchanges, causing a dip in the price feed, then sell much larger BitUSD holdings into margin calls at artificially high prices.  A relatively small manipulation -- only needing to clear out the order book depth immediately available on the exchanges -- can be amplified into a much larger manipulation -- margin calls to force covering at inflated prices by the entire short float.

OTOH if you have a random update interval (with some known expected value), the attack is much more expensive.  E.g. if average feed publish interval is 8 hours, then (assuming all delegates are online and honestly reporting prices) it takes 4 hours to update the median feed, so the attacker would have to sustain his dump for 4 hours, making it more expensive.

Also, "reactive" publishing -- publishing after a sudden price movement -- would also have a downside, it would mean a lot of delegates would update at the moment the attack commences.

I think we should consider the possibility that feed updates need to be done more slowly so that traders have time to move funds into / across exchanges and force any dump to break through the all the actively trading capital in the ecosystem, not just whatever happened to be immediately available on the exchange(s) when the dump occurred.

The main cost is that if there's a news event at a single discrete point in time that causes a quick price change, margin positions may not immediately be liquidated and the price would have time to fall further before the feed caught up and the positions started to unwind.

Thoughts?

[1] https://bitsharestalk.org/index.php?topic=13865.0

Translation:
总的来说,是讨论受托人喂价是否应该频繁和即时的问题。如果受托人喂价是频繁的,那么在外盘就很容易通过砸穿外盘来带动内盘的实时连环反应。但如果受托人喂价是随机的、不及时的、受托人之间频率相差很大的话,那么在外盘砸盘就需要持续很久才能达到这个目的,也增大了恶意砸盘的成本。

楼主还感觉,如果喂价变化速度慢点,那么就有利于搬砖、套利等行为,从而制约恶意砸盘。

不过,楼主认为这个方法可能有一个缺陷,如果价格变化得太快,空头仓位不能及时被平仓,等缓慢节奏的喂价改变后,这时候空头仓位的抵押品可能就没有那么充足了。 大家有啥想法?

113
General Discussion / Re: Consensus on the list of delegates
« on: February 02, 2015, 01:29:31 am »
What ensures that the shareholders agree on the list of delegates? If a delegate can be kicked off for misbehavior then the list can change instantly which is hard to achieve in a distributed system.

Every BTS balance keeps track of the slate [1] it's voting for.  Whenever BTS moves, vote totals are updated.

[1] A "slate" is a set of delegate accounts assigned a numeric ID.

114
Stakeholder Proposals / DAC organization of chance games
« on: January 31, 2015, 09:26:09 am »
I am posting this in response to bingo branch initiated in the repo.  I think before we make any more implementation effort, we should consider how the DAC will be organized.

I propose to have a separate asset type ("chips") for wagering.  Chips would be backed by BitUSD.  Before we begin bingo operation, chips should be issued or redeemed for $1 / chip, those BitUSD are put aside into the chip backing pool.  When 1000 chips are in existence, the bingo operation begins.  Winning bets are paid in newly created chips, losing bets result in destroyed chips.  The chip redemption value would then fluctuate based on winnings and losses, it would always be equal to the number of chips in existence divided by BitUSD in the backing pool.  This is equivalent to a bingo parlor where the commodity for wagering is equity shares in the bingo parlor.

For risk management purposes, the total of all bingo cards in play at a time can be at most 20% of the chips in existence, and players can bet at most 2% of the chips in existence on a single bingo card.  These numbers are just guesstimates, and should be re-evaluated using the Kelly criterion once a concrete pay table is constructed.

If we want chips to have a pegged redemption value (1 chip = $1), then we can have a separate assets representing equity (receive profits / losses from operations) and debt (chips).  If the house is losing, without an equity pool chips will fall below $1 (winnings paid by inflating chips come from all other players).  With an equity pool, BitUSD will flow into the chip backing pool from the equity pool to prop the value back up.  Investors will voluntarily contribute to the equity pool because the reverse flow is also possible.  If the house is winning, without an equity pool chips will grow above $1 (losses paid by destroying chips will distribute the value to all other players).  With an equity pool, the excess value will flow into the equity pool and be returned to its investors (equity pool shares will be creatable / redeemable for proportional fractions of the backing just like chips).

Current internal discussions at I3 have focused on a bingo DAC with only one investor, the yield pool.  I think bingo will have much more potential to attract new investors if we allow them a way to buy a piece of the house (i.e. put capital into equity), not to mention more capital will allow our payout table to have lower risk (or be able to offer larger prizes).

Also, note that there is nothing specific to bingo here.  We can implement other games of chance.  In fact, if we have only delegates validate chip creation / destruction, new games of chance would only require delegates to upgrade, not normal users (but all nodes would still validate all BitUSD flows and could validate chip creation / destruction from publicly available information).

I'm by no means an expert in the applicable regulatory framework, but I believe the law in much of the US treats games without rake more favorably.  And if we use the first model (where the equity in the bingo parlor is what is wagered) it could certainly be argued that players are playing against each other and the game should be legal for the same reason that private no-rake poker games are legal in many states.

115
Quote
Lets assume you download a movie that is 1 GB in size and has been divided up into 1000 chunks each 1 MB. Because this is a P2P network with a million nodes, you get each chunk from a different peer. Now it comes time to pay the bill and you discover that you owe 1000 small payments.

How small should these payments be?

We know from Netflix that the cost of providing 1GB of data is $0.01 and falling. This means that you owe 1000 people each $0.00001 for the MB of data that you downloaded from them. This is well below the level of what Bitcoin considers dust and would be uneconomical to process even in a very centralized way.

I've been having some thoughts about this specific problem.  My idea is instead of having 1000 payments worth $0.00001, you write 1000 tickets for a lottery whose prize is $0.01.  Transmitting the tickets directly to the peers you're downloading from.

Only the winning ticket would result in an actual transfer of value and thus only the winning ticket would need to be published on the ledger (blockchain or otherwise).  You'd need to validate the serial number on the ticket falls within the valid range.  I'm pretty sure you'd also need some form of "forfeit a bond if someone rats out your bad behavior" operation to deal with double spending (writing multiple tickets to different recipients with the same serial number).

116
Now, in the era of paid delegates, we have a lot of delegates which are being *heavily scrutinized*.  Every paid delegate is under the watchful eye of shareholders, demanding that the see evidence that the delegate has the best interests of Bitshares at heart.
We have already voted out one paid delegate, blackwavelabs, who the community noticed was not providing updates, and we were not sure if he was creating any value.

Interesting point.  If a delegate is merely a block signing provider, their service is an interchangeable commodity which doesn't individualize them very much.  If each delegate is providing unique business services, their service is no longer a commodity for which equivalent services are readily obtainable.

117
I suppose that every bitUSD sold into existence represents bitshares being taken out of supply temporarily. "Frozen," if we're to stay with the chemistry metaphors. I think what trips people up, including myself, is that the profits are indirect. We're not getting profits in USD and distributing it amongst ourselves. We're manipulating the supply of the stock to pay stockholders. The share buyback analogy is complicated and sort of skirts around what's actually happening. This is the business plan as I understand it:

1) Bitshares pays shareholders by increasing shareholder equity.
2) Bitshares increases shareholder equity by increasing the price of BTS.
3) Bitshares increases the price of BTS by enticing people to remove BTS from supply (either burning or freezing it) in exchange for leverage, stability, betting, etc.
4) The more participation there is in these activities, the more BTS that will be removed from supply.

Yep.  That's about how it works.  Remember there's a finite amount of BTS available for these things -- only what people are willing to put into them, which is of course less than the full market cap because some people just want to sit on their BTS or have decent amounts of BTS readily available for trading, voting or whatever.

So if the demand for these activities exceeds supply, the people who want BitAssets or whatever will start a bidding war for BTS.  If the price of BTS goes up and shorts start to win, in the long run they'll have incentive to re-short because their existing short can only win so much.

118
DevShares / Re: Creating a bitpay Insight-like server
« on: January 30, 2015, 03:04:07 pm »
Where can we find the source code for the mobile wallet thin client?

Our current plan for mobile is to build the Qt light wallet as a mobile app.  The source is available at https://github.com/BitShares/bitshares/tree/develop/libraries/light_wallet

Please keep in mind this is a very early developer version.  It is still undergoing heavy development, is not documented, and I recommend using it only on testnet until it is more mature.

we would very much like to start working on this.

We always welcome community contributions.

We would appreciate any help and guidance too!

Core developers are fairly active on Skype, forum and github.

119
DevShares / Re: Creating a bitpay Insight-like server
« on: January 30, 2015, 02:54:06 pm »
Our RPC is much more advanced than bitcoind.  In particular the original bitshares GUI wallet is actually an Angular powered web application which can run in the browser.  All the GUI actions are implemented by RPC calls to the command line client.  The native application is a fairly simple Qt application which creates a webkit HTML / JS window and loads the web wallet.

jcalfee is working on implementing enough crypto for a wallet in the browser:  https://github.com/BitShares/BitShares-JS

nathanhourt is working on implementing a light wallet which is a native Qt application without needing a full local copy of the blockchain.  This is in the latest commits on develop branch.

120
General Discussion / Re: Changes to Cover Rules - Eliminate 5% fee
« on: January 28, 2015, 11:03:00 pm »
I'm trying to keep up  with the bid ask rules,  We're getting an average of 1% yield right now.  There were expectations that this would be 5% floor that was the minimum.

I don't believe a rate floor was ever implemented.  The question is, what happens when the "natural" price is below +5% but the "nominal" price can't fall that low because of the rate floor?  In that case I think you'll see shorts demanding a premium above the feed in order to short.  I was going to say this would disrupt the peg, but on further consideration I think the effect would only be about one-twelfth of 5% (since shorts expire in a month and 5% is an APR).

Pages: 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 ... 34