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 - arhag

Pages: 1 2 3 4 5 6 7 8 [9] 10 11 12 13 14 15 16 ... 81
121
Asking us to port their library to JS is a major effort that is easily a month of work for someone who understands it all.   Throw in learning and reverse engineering and it could take 3 months to get it right.

I agree that it is a non-trivial effort to port the crypto library to JS, but you absolutely should not have to reverse engineer and reimplement it! Like I said before, just use emscripten to convert Blockstream's code into asm.js. Then you just need to write the Javascript interface/wrapper to use that converted code.

122
General Discussion / Re: My pitch to the Overstock CEO
« on: June 25, 2015, 11:53:04 pm »
@luckybit
If Overstock wants to own the blockchain, then it is not in competition with BitShares (a decentralized blockchain). Cryptonomex can provide them with the technology and expertise to help them do that. If Overstock is not satisfied with that and wants to own the team and IP as well... well I have to hope that it will be out of their budget. I'm assuming and hoping that the Cryptonomex team is motivated to make a decentralized blockchain (i.e. BitShares) a success rather than only being able to spend their talents on yet another centralized solution (plus the potential for financial reward could be much greater assuming they are sufficiently invested in BTS). Thus, it would take a very high price to sell out; far more expensive than Overstock would be willing to pay for this side project that they are interested in that has nothing to do with their core business.

123
Random Discussion / Re: Chrome is listening to you right now...
« on: June 25, 2015, 11:19:36 pm »
This is hyperbolic.

First, Chrome is closed-sourced so it can in theory be doing all kinds of things even worse than listening in.

Second, Chromium, the open-source browser that Chrome is based on, shows that the binary blob that does this listening in is in its own sandbox with a well-defined interface to the rest of the world. That interface can enable connection to the microphone if the hot word option is enabled in the browser, which is by default disabled. All of those facts can be verified by studying the interface because Chromium is open source.

Now, downloading and running binary blobs as part of an open source program may go against the spirit of open source. But the truth is that all browsers have been doing something close to this for a while now anyway. That Javascript code that the browser downloads and runs in a secure sandbox is in theory open source, but the reality is that it is usually minified and obfuscated (comments removed, variables renamed). How much more useful is that "code" in that form to an auditor / hacker than an assembly dump of the binary executable (and there can be other sophisticated tools to convert it back into C code, granted with nonsense variable names, no comments, and other oddities)?

The reality is that the modern browser is a software platform just like the OS. And I would argue that running any closed-source software on your OS is analogous to running these binary blobs in the browser, except in practice it is even worse because a modern browser has better sandboxing enforced than today's desktop OSes (mobile OSes, like iOS and Android, are much better on this front). So unless you are an open source purist [1] and every single piece of software in the stack running on your system from the user-facing applications to the kernel is open source (and I doubt the firmware to make your hardware devices work is open source), then I find objections to binary blobs running in the browser platform in secure sandboxes with well-defined open-source interfaces to be a bit hypocritical.


Edit: Anyway, apparently they now disabled it for the default build of Chromium (https://code.google.com/p/chromium/issues/detail?id=500922#c31). And I assume this will be the build configuration that will be used for official binaries provided from the repositories of popular Linux distros. Obviously Chrome (which is not open source) will be unaffected by this change.

[1] And before anyone complains, I know the difference between open source and free software. I realize Stallman would be a free software purist. But by definition free (libre) software is a superset of open source software, thus a free software purist would also necessarily be an open source purist.

124
General Discussion / Re: My pitch to the Overstock CEO
« on: June 25, 2015, 10:32:37 pm »
There won't be any more yield on BitAssets soon, so let's stop advertising that.

Also no reward without risk. I assume they weren't holding altcoins for their use in transactions but rather for speculation. They took a bet hoping for a gain, but instead got a loss. Holding BitUSD for this purpose makes no sense since there is no upside potential (relative to USD). The only reason they would have to hold (some) BitUSD is if they could pay their employees and suppliers with it (and enough people were buying their stuff using BitUSD).

The real pitch to Overstock should be getting them to dual list their stock as a compliant UIA on the BitShares exchange rather than trying to build their own.

125
General Discussion / Re: BitLicense
« on: June 25, 2015, 10:12:04 pm »
So long as there are no legal restrictions on further development etc

And the costs are not too high to cripple development speed (due to lack of funds) by the nascent Cryptonomex.

And I thought Cryptonomex is only doing software development and consulting. Why should there be any need for a BitLicense in that case? If Cryptonomex does have greater plans that go beyond pure software development that may require such a license, wouldn't it be better to split that role off into another company to protect the development side of things?

126
Technical Support / Re: BitShares 2.0 SmartCoin
« on: June 25, 2015, 09:36:24 pm »
Yep, privacy is needed before mainstream. Most future users will be so apathetic that they won't care if "the government" says traceable-bts is ok but bans privacy features. (Not sure how they'd do it, but why leave it to chance?)
I think that the horse has to have bolted out the door with a full set of armour, else get ridden by the long dick of the law once they catch it later.

I'm not sure I get what you are saying here. If the government decides to ban the privacy features, does it make much of a difference to regular users whether the privacy tech is already implemented or not? (And it won't be hard for anyone, much less a state actor, to detect when an account is using the privacy features. And if the government only permits whitelisted accounts, that also means it won't be hard for them to detect when a person is using the privacy features.)

Or are you saying that by having the privacy tech implemented from the get go, the government will become habituated to it and be less likely to consider banning it than if the system becomes a success and then we finally decide to implement the privacy tech?

Anyway, it seems the confidential transaction stuff (blinded values) will be implemented on BitShares 2.0 soon after launch. All the heavy work has already been done by the guys at Blockstream. And while this is much needed and will be a great improvement in privacy, the big concern is if this is good enough (unlikely IMO). By itself it won't protect the metadata of who is transferring money to whom (it only hides the amounts). Users who want to use funds for market operations, smart contracts, or voting will need to reveal the plain-text amounts. That fact plus blockchain analysis means that a lot of financial data is still likely to leak to sophisticated adversaries (and I fear even Confidential Transactions + CoinJoin won't be enough to prevent this). I think we will still be figuring out more and more clever ways to improve privacy years from now, and it will never be perfect.

127
The delegates will have to sell this BitUSD on the market to get BTS and then continue to fund the reserve pool.     This is not an ideal situation because it takes the delegates 2 weeks to take any action.  So I was proposing to automate the process of selling the BitUSD and funding the fee pool.

Automation would be ideal. Couldn't the transaction include operations to do the conversion via the market? For example, a fill-or-kill limit order asking for exactly the amount of BTS needed (in exchange for the BitAsset) to pay the transaction fee, where the proceeds from that immediately go to pay the fee. If the liquidity of the market suddenly becomes really bad since the transaction was created such that the full conversion cannot happen within the price limit, then the transaction becomes invalid. If the nodes reject transactions that would not be able to satisfy the fee with the state of the market at the end of the previous block (despite the risk of false positives), it could reduce the amount of invalid transactions that need to be processed in the inner single-threaded engine at the cost that users might need to be willing to accept a slightly higher limit price to get their transaction processed.

The clients could automatically modify any transactions that deal only with BitAssets to add this fill-or-kill limit order operation to pay the fee and make the process entirely transparent to the user. If the user had plain-text BTS in the account (and the client settings were set to prefer it, which would be the default), the client would prefer using BTS directly since it would make the transaction slightly cheaper. Otherwise, it would all still work without the user having to worry about manually converting the BitAssets to BTS.

Furthermore, this could be used as an alternative to the fee pools of privatized BitAssets and UIAs assuming the BTS/{BitAsset,UIA} market had sufficient liquidity. The client could even automatically calculate whether the fee pool conversion ratio set by the issuers was likely to be cheaper or more expensive compared to fill-or-kill limit order method and choose appropriately.


128
I've thought about this a bit. There is a lot that can be done with the technology to provide users with cheap and convenient access to wonderful financial contracts and systems (as well as other fancy digital services) with some amount of privacy, while still providing the regulators better and more efficient control and regulation than they probably could have imagined possible. I just hope that they don't realize the possibility of this "win-win" anytime soon and start demanding it through law. The problem (and why it is not truly a "win-win" for people like us in this forum) is that implementing all of that will take a global decentralized system and divide it into a bunch of silos for each jurisdiction (keep in mind these could be virtual silos existing on the same global blockchain). This goes against the blockchain spirit of a global system that transcends these arbitrary divisions of nations and their respective governments.

One could in theory create accounts that exist outside the silos, but then they are forced to only interact with other people outside the silos. Considering that the vast majority of users would likely stay in the silos because the government they live in would have strict punishments for stepping out of the silos they create unless through very strict approved methods (and it wouldn't be that difficult for the government to get sufficient proof that one of their citizens is attempting to secretly interacting outside their silo), there might not be much available for those around the world daring (or desperate) enough to step outside the silos.

So the pessimist/realist in me sees all this blockchain tech providing a more efficient and convenient way of operating business as usual (although even in this pessimistic view I still see improvements like more financial transparency and less ability for private organization to break their own rules, and also I see the blockchain voting advances providing significant improvement to the status quo). The optimist in me sees the efficiency improvements that the new tech provides as leverage to get governments to compromise a little on regulations (because they may believe that the very nature of the tech requires the compromise for the sake of getting access to the greater efficiency it provides).

129
How did bitshares ever let Roger Ver  sweep down and poach this project?

The answer to that is easy: Bitcoin maximalism.

The real question is why aren't we able to convince Augur to use our platform rather than the much slower Ethereum (plus we already have BitUSD working while they are still working on eDollar).

Why would you want Augur on your platform?   What makes you so sure Augur have the right talent when of all the groundwork was from Paul?

I would love it if Paul wanted to build a prediction market system for BitShares. I'm not holding my breath though. He seems to really dislike BitShares and pretty much any other system that could potentially compete with Bitcoin.

The Augur team seems less antagonistic against altcoins considering they're currently building their technology on Ethereum and also they are coin-agnostic as far as which coins their platform will support for betting.

Nevertheless, I predict the BitShares devs will have to end up doing the prediction market work all by themselves.

130
Technical Support / Re: Membership levels and sub-accounts
« on: June 25, 2015, 02:18:24 am »
Personally, I think any account should be able to pay to register new accounts, even if they can't receive any rewards for it.

Agreed. Surely that is an easy tweak. If Alice's account is not a lifetime member and it wants to register the account Bob, then the registrant of Bob's account is set to the registrant of Alice's account and the referrer of Bob's account is also set to referrer of Alice's account.

Nevermind. Apparently, that is how it already works.
The terms and conditions are kind of confusing here: https://bitshares.org/referral-program-terms-and-conditions/

Quote
Any User can also be a Registrar by create an account for a friend; however, their friends account will be configured to have the same Registrar and Referrer settings as the User. There are no referrer rewards for regular Users.
So free users can create and register new accounts. 
Thanks Xeldal.


I also think sub-accounts should inherit lifetime membership from the base account.  As it is now this is going to be far messier and more confusing than it needs to be.

Why do we have sub-accounts again? I don't quite understand the purpose of it. Apparently, in the new system there will only be one level of child accounts that will be delimited by a slash (/) not a dot. The dot will no longer have the semantics of a parent-child relationship. I'm wondering if it doesn't make sense to go all the way and just get rid of the slash and parent-child idea entirely.

It would simplify a lot. For example, what happens to the child account names when the parent account name is transferred or renamed? How do name relationships correlate to account ownership relationships. Honestly, I am not clear about that in BitShares 0.x with account names that are tied to the owner key. It only gets more confusing in BitShares 2.0. Dynamic account permissions allow for flexible and sensible ownership relationships between accounts that anyone can examine by looking at the blockchain. If the only purpose of child account names was as a proxy for those ownership relationships, then it no longer serves that purpose in BitShares 2.0.

If the purpose of child account names is as a tag modifying an account so that people who send funds to a tagged account will actually send it to another account other than the main account (for accounting or security purposes), then I can think of a more elegant way of structuring that. The slash can be repurposed for that role (again only one level deep). However, it would not be part of an account's name. There would be a map from tags (satisfying the same naming rules as regular account names, although perhaps we could allow it to start with a digit) to account IDs that is stored with the account (the account owner can modify that map at any time). For example, I may have two accounts: one with ID 100 and another with ID 101. Account ID 100 might have an account name "arhag" and account ID 101 might be nameless. Account 100 would have a map {"checking": 100, "savings": 101}. If someone sends funds to "arhag" or "arhag/checking" (or "100" or "100/checking"), their client would send the funds to account 100. If someone sends funds to "arhag/savings" (or "100/savings" or "101"), their client would send the funds to account 101.

131
https://github.com/cryptonomex/graphene/issues/83

I'm confused by this. Does this mean that network BitAssets do not require a fee pool and the BitAsset fees are automatically converted into BTS via the markets to pay the reserve pool?

The easiest thing for us to implement is to have the network manage the BitAssets just like private BitAssets.  This would require the issuer to update the BitAsset's core_exchange_rate property and to fund the fee pool.  In this case the issuer would be the "delegates" account.

Okay. So that leads me back to my previous questions:
Where do the paid BitUSD transaction fees go to after they are automatically exchanged for BTS from the fee pool?
...
Do [the delegates] have the ability to place orders in the [BitUSD/BTS] market funded from that [BitUSD transaction fee] pool where the [BTS] proceeds automatically go into another pool collectively managed by the same group (or even directly into the fee pool)?

Also, is this not asking too much of the unpaid delegates? Are they also the ones who need to set the price feeds for the non-private BitAssets? Aren't operations that require 24/7 online servers more appropriate for witnesses? Or perhaps delegates could delegate the responsibilities (submitting price feeds and converting BitAsset collected fees into BTS to top off the fee pools) over BitAssets to other parties? And maybe a worker proposal is used to compensate these parties?

132
Technical Support / Re: How much are fees on Smartcoins?
« on: June 24, 2015, 11:45:42 pm »
I think they need to be high enough such that when converted to BTS at the "fee pool price ratio" they meet the transaction fee requirements. I believe issuers of UIAs and privatized BitAssets get to set the "fee pool price ratio" to whatever they want (although I assume they would set it to the market exchange rate between the asset and BTS). As for network BitAssets, according to this it seems like it is determined from the price feeds directly.

I appreciate any clarification from the devs if I got any of this wrong.

133
https://github.com/cryptonomex/graphene/issues/83

I'm confused by this. Does this mean that network BitAssets do not require a fee pool and the BitAsset fees are automatically converted into BTS via the markets to pay the reserve pool?

134
General Discussion / Re: Privatized Smartcoin questions
« on: June 24, 2015, 06:01:12 pm »
  • Will it be possible for the Private Smartcoin (PSC) creator to specify which assets can be used for collateralization?

I'm curious. Do you mean to say that a single PSC asset would be backed by multiple different types of collateral? So that someone holding the PSC could choose to redeem any of the collateral types they want from the margin positions?

  • Could the price feed for each collateral be set as the last trading price of that asset/PSC pair on the decentralized exchange? That way you only need an initializer and then the price feed becomes blockchain endogenous.

Would such a self-referential price feed really even work? I can understand perhaps only specifying one price feed (between the PSC and one of the collateral types) and having the other ones mathematically determined using the price at which the different collateral asset pairs are trading at on the DEX (assuming you believe the volume of the DEX markets for those trading pairs greatly overwhelms that of any other external market). But I would imagine there would be serious issues if you didn't specify any price feed at all (unless the price feed was a mathematical function of some other price feed(s) already existing in the system that you trusted, e.g. a price feed defined to be the product of a USD/BTS price feed and a EUR/USD price feed).


If the above is possible than PSC creators/providers would have exclusively a certification authority function rather than an information providing function.

This could also be achieved by just separating out the roles of the PSC managers and price feed providers. The PSC creator could specify a price feed provider already existing on the blockchain (I suppose in theory it could be the price from a particular DEX market, assuming you avoid the self-reference issue). They could change the source with some delay (e.g. a 2-week delay) to allow people to settle out of it if they didn't like the change (maybe there would need to be a way to allow a super majority of the shorts the option to trigger a force settlement whenever the creator called for a change in the price feed provider, since there is no other mechanism to guarantee enough liquidity in the market for the shorts to settle their debts). Other than that, the PSC creator wouldn't be responsible for providing price feeds. That role would belong to the price feed provider. Obviously, some profit sharing mechanism needs to also be devised to incentivize the price feed providers to properly do their job.

135
BitUSD should have its fee pool kept topped off by workers/delegates/witnesses/ automatic market actions.

Where do the paid BitUSD transaction fees go to after they are automatically exchange with BTS from the fee pool? Who controls that account? I imagine in the case of privatized BitAssets it is the creator/manager. But what about regular (public) BitAssets? Do the witnesses collectively control those funds? The delegates? Do they have the ability to place orders in the market funded from that pool where the proceeds automatically go into another pool collectively managed by the same group (or even directly into the fee pool)?

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