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 ... 7 8 9 10 11 12 13 [14] 15 16 17 18 19 20 21 ... 81
196
look at this <<Death and Bitcoin>>
 https://letstalkbitcoin.com/blog/post/death-and-bitcoin

do we have more graceful method to resolve this at Bitshares 2.0?

Use the withdrawal permissions with a start date 1 year into the future and really high withdrawal limit that your beneficiaries are authorized to withdraw from. Then once a year (before the start date is reached) update the withdrawal permissions to push it forward another year into the future. You can also create multiple ones (or at least I hope you can) that are staggered (say by two weeks), each with their own authorization on who can withdraw. That way you can have fallbacks in case some of your beneficiaries are also dead or otherwise incapacitated, in which each beneficiary in the queue has a two week opportunity to claim the inheritance before it moves on to the next in line. The last fallback could, for example, be a withdrawal permission that your favorite charity has authorization to withdraw from.

197
32:22: fuzzy : How will wallet host be compensated?

32:59: bytemaster : Wallet host will end up registered the most users and will be compensated by the referral program.

I worry about the referral program being used as the only funding method for wallet hosts. I presume a user can always take their identity with them and go to another wallet host. A user will likely to keep their account and associated metadata (web-of-trust, reputation) for life. But it is silly to think they will use the wallet provided by the same wallet provider for life, or perhaps even for more than a year. However, the wallet host that first signs up that user will be the one to get 80% of all the fees that account pays for life (or 80% of the lifetime member upgrade fee). What happens if a user signs up with one wallet provider, uses it for a few months and then switches to another wallet provider that the user uses for years? All of the transactions during those years will have 80% of their fees still go to the original wallet provider even though they are no longer the ones provide the service the user uses or investing in the development of the wallet to keep the user using their wallet. The incentives are broken.

This is why I suspect that wallet providers will still need to create (and only accept) transactions that also pay an additional small fee to the provider with each transaction (like the LightWallet did) as a better aligned revenue source. This is a little troubling because the fees are already pretty high for the sake of funding the referral program (although I guess the stakeholders can always reduce it). But if my suspicions are true, the high fees of the referral program will only be used to compensate marketers bringing in the new users (which is fine and what the purpose of the referral program should be) but not as a long-term solution for funding wallet providers.

198
But I can imagine it might be possible to create UIAs on the bitShares block-chain that are backed by BTC, LTC, NXT, you-name it, as long as there are ways to minimise counter-party risk through appropriate operations like multi-sig, escrow or the like. To be honest I don't know if side-chains help with that or not, I'm naive in that area, though I've asked the question before.

Yes, UIA gateway assets (like GATEBTC) + the new privatized BitAssets should make this possible. The only question is if the trust can be decentralized out to many parties to keep the counterparty risk is low enough for people to use it for more than just a means of quickly getting value in an out of the system to/from assets without counterparty risk. On the BitShares side, the new multisig features provide a lot of flexibility for managing the UIA properly (e.g. not diluting its value). The limiting factor is on the Bitcoin side. It doesn't make sense to have more decentralization on the BitShares side than on the Bitcoin side when the UIA could become worthless if the reserve is stolen. Ignoring advances in ECDSA threshold signatures (and assuming Bitcoin does not adopt new cryptography like EdDSA or radically increase the limits on their scripts), we are currently limited to an M-of-15 multisig for the BTC reserve backing the gateway UIA. You want M to be large to reduce the risk of compromise but obviously not too large that it dramatically increases the risk that the reserve holders get locked out of access to the reserve because some of them become unresponsive or disappear. Not sure what would be the ideal value for M, but the main question is if a well selected group of 15 individuals/organizations can be trusted to not collude to steal a potentially huge reserve. If not, very few people would trust holding the BTC-backed UIA for long term or holding BitAssets that derive their value from such UIA.

By the way, I agree with others in this thread that side-chains are not the way to go (for technical reasons, e.g. PoW) to bring BTC tokens into the BitShares blockchain.

By the way starspirit, I don't see how the BitAssets backed by a mix of collateral types would be fungible unless a fixed mix ratio was specified as part of the BitAsset definition that all shorts of that privatized BitAsset had to satisfy. And in that case, I would imagine the only practical way to short new BitAssets with mixed backing collateral into existence would be through a self-short. The logic for margin calls would also get more complicated with mixed collateral.

199
My recommendation:

1) create a new account (not necessarily registered)
2) dump the owner_key via wallet_dump_account_private_key <account name> "owner_key"
3) create a new address for it via wallet_address_create <accountname>
4) dump address private key via wallet_dump_private_key <address>
5) move some funds to that address
6) repeat 3 and 5 for the rest of your funds

Do you know if sending funds to an address like that is indistinguishable at the blockchain level from sending funds from a registered TITAN account to another registered TITAN account? Otherwise, one couldn't plausibly argue they are just sending funds "normally" to other people rather than distributing their own funds to addresses they control, thus compromising the entire point of the exercise. Of course that assumes people actually believe that you would even be sending such a huge fraction of your total balance to other people in exchange for goods and services over a period of a couple months even though such behavior was totally unusual for that balance in the prior months before the BitShares 2.0 announcement. In other words, privacy on a blockchain is really hard.

Edit:
I think the better solution would be to register many randomly named accounts using the faucet. Then move some large fraction to a centralized exchange (although you are exposed to counterparty risk during this time) and over a period of a couple weeks distribute a randomly valued (but still rounded close to a nice number) amount of the stake on the centralized exchange to one of the randomly named accounts registered less than a couple days ago. Then at randomly spaced intervals (not too long so that you can fit all of them in the few weeks you will do this process) repeat with another amount with a new randomly named account registered at the faucet. Perhaps the next month you then repeat again with another bulk transfer to a centralized exchange from your main BitShares account (you may avoid doing that all at once initially, despite the better privacy, for the sake of reducing counterparty risk) and repeat again with a new set of randomly named accounts until you are left with some amount on the centralized exchange that is less than some threshold (say less than 1000 BTS for example) which you would just leave on that exchange (or convert into some other asset over a period of at least a week through the exchange before withdrawing).

The hope is that at the blockchain level it appears as if you sold most of your stake (perhaps in opposition to the privacy changes with BitShares 2.0) and other new people bought that stake from centralized exchanges and joined the BitShares community. Of course, since they are random names we probably know it is just an existing member redistributing their funds. But that shouldn't matter as long as other community members are more or less following the same procedure during this same period. Then it becomes very difficult if not impossible to distinguish which subset of these randomly named accounts belong to which original BitShares named account. Finally, although the centralized exchanges will be able to track the association between these accounts, at least it won't be publicly available to the world and hopefully the exchanges will have no desire to exploit that knowledge.

Once again, privacy on a blockchain is ridiculously hard and it is not clear whether the above is worth the effort. Especially when you consider you can easily screw up after the migration and link your accounts together (say through voting patterns). Confidential transactions (optionally along with CoinJoin) would really help us here, and I can't wait to see what privacy solutions bytemaster and crew are coming up with for the future. Actually, confidential transactions (while useful in increasing privacy by hiding balances of stored BitAssets) would likely be a problem for BTS stake because of voting. I don't see how it would be possible to aggregate votes without exposing the plain-text value of BTS stake to the public. Perhaps BitBTS (separating out BTS value from BTS voting power) could help here.

200
Well first all these numbers including the total supply can be changed with hard forks if there is enough shareholder approval. But let's consider what is possible without hard forks. Also, let's assume another change to increase total supply above 3.7 billion BTS is so undesirable that we would "never" hard fork to do it. If the rate at which BTS is pulled from the reserve pool follows the same hard-coded rules of the current BitShares system (5 BTS/sec and halving every 4 years), then there is effectively no difference from a dilution standpoint. However, if a majority of the delegates are able to change this number, then that is a different system than what we currently have. Dynamically adjusting the number makes it much easier for a large enough quorum of stakeholders to effectively retroactively reclaim funds that we earlier "burned" (but still never exceeding the 3.7 billion BTS hard limit, assuming no hard fork). But I don't think that is necessarily a bad thing. I would like clarification on whether the rate that is pulled from the reserve pool is set by delegates or hard coded (or maybe it is set by delegates but with a hard-coded upper limit?).

Regarding the bond market, I have some other concerns actually, but I rather just wait until more information is provided. Personally, I consider it a work-in-progress that will likely be greatly improved over time. I'm just glad that it is being considered a priority though.

Regarding the high transaction fees, I believe different operations can have different fees set by the delegates (is that correct?). If so, my concerns about the fees is greatly reduced. I think that certain operations like updating an account's votes and placing and cancelling limit orders should have very low fees (in fact, I think we could just get away with making cancelling orders free without worrying about spam issues). We shouldn't penalize people who update their votes because they help keep the system secure and running properly. And high fees on placing and cancelling limit orders hurts bots which will hurt market makers and thus liquidity. I would rather have very low fixed fees on placing market orders and have percentage fees on the matched volume instead (but still at a lower rate than our centralized exchange competitors). But I am fine with all other operations (including transferring assets from one account to another) having the higher fixed fees for the sake of the referral system.

201
There are downvotes for delegates and workers .. just not for witnesses

There are downvotes for delegates? Can you link me to source for that?


So, I was thinking prior to any other complicated aggregation methods for workers, the worker voting system could instead use an additional signed byte along with each worker proposal ID in order to represent the extent to which the stakeholder wants to use their stake to vote for or against a worker proposal. So this would be more like range voting. A stakeholder could vote with 100% of their stake for a worker proposal or 100% against it (or anything in between with approximately 0.78% granularity), and similarly for all other worker proposals the stakeholder cared to vote for. The idea is that simply changing their votes with a single transaction is an easier and cheaper operation than making multiple accounts and splitting their stake between those accounts to achieve the same results.

The reason one might want to do this is because the stakeholder might prefer a worker ranking of A, B, then C, but the global ranking is A, C, then B. If there is only budget for the top two workers and B and C are close in ranking, it will be in the stakeholders advantage to change their vote to A and B only (taking away their vote for C, or perhaps even voting against C if downvoting is allowed) thus perhaps changing the global ranking to A, B, then C. The stakeholders might be repeatedly updating their votes playing games like this (at least it adds up fees to the network), but it will be much easier for stakeholders to get closer to their true preferences with the range voting modification I discussed above, rather than trying to hack it by splitting their stake among multiple accounts voting for different subsets.

Ideally, it would be nice to come up with a vote aggregation system that makes games like the one described in the above paragraph unnecessary. One could then just set their preferred ranking as part of their vote on the blockchain and the blockchain would effectively automatically adjust how much of the stakeholder's stake it uses to vote for or against worker proposals to try to get the global ranking as close to each of the stakeholders' recorded preferences as is possible given the constraints on the voting system. However, even if we were to come up with such an elegant vote system, it might not be computationally feasible (or just not desirable) to do the aggregation frequently enough so that vote updates do not have undesirably long delays before being reflected in the global worker rankings. So the range voting modification above would be good enough in that case.

202
I'm wondering what will be the practical hard limits on the number of delegates, witnesses, and worker proposals that an account can vote for.

I also worry that managing the worker proposals will be a little challenging. The order of the workers is very, very important in terms of who actually gets funding. But the voting process does not allow a user to represent the ranking they would like via their slate selection. Approval voting is great for the delegates and witnesses where the actual order is not as important (as long as you are in the top N), but I am wondering if there is potentially a better voting system for aggregating stakeholders' preferences for worker proposal rankings into a single global ranked list of worker proposals.

Also, I think it would be a huge improvement if worker proposals could specify daily payment in units of some BitAsset and the blockchain could use the daily moving average of the price feed of that BitAsset to dynamically calculate the amount of BTS to add to their account for that day (assuming the budget allows of course).

203
Technical Support / Re: Announcing BitShares 2.0
« on: June 09, 2015, 04:07:29 am »
We do bring it down every other night to write out the state to disk to help contain transaction log size.

Now that I think about it, the witness nodes don't even need to go down. A separate node running in parallel could just successfully exit once per day to keep a daily serialization of database state to disk. It being offline when the witness node needs to sign blocks is irrelevant since the witness node would not need to exit. Then if the witness node crashes, the administrator can move the recent snapshot state from the disk of the other node to the witness node and just replay from there. So yeah, there is no need for the live periodic state dumps.

204
Technical Support / Re: Announcing BitShares 2.0
« on: June 09, 2015, 03:51:02 am »
Wow, great work. Can't wait until it's released.

A few things I was pleasantly surprised to hear:
  • The new blockchain processing architecture changes (and corresponding performance improvements) sound really amazing.
  • The new permission/authorization system is also really great.
  • Transferable account names!
  • Finally the recognition that maintenance collateral is all that matters to support the peg. I assume this means shorts will be able to adjust collateral levels up and down as long as it satisfies the maintenance collateral limit, and actual partial covering is possible. Also, I would like to hear more about what a forced margin call is like in the new BitAsset system.
  • Actual limit orders! No WYAIWYG.
  • Bringing back TaPOS for added security (though it is optional).

I'm a little sad to hear that even the minimal existing barriers (in the form of TITAN) to prevent people from getting your transaction history and balance amounts will be removed (even though to someone sufficiently motivated they weren't actually protecting anyone's privacy), but I guess I expected that and it does provide a lot of other benefits. I just wish we can have some other tools later to help manage our privacy better.

One thing I am a little concerned with is if the fact that unique IDs are used rather than hashes means there are more vulnerabilities for successful attacks from a fake blockchain attack. If someone is able to fork everyone over to a new blockchain history with changes in that last 10 blocks or so could they possibly somehow cause someone elses transaction that was meant to send someone else funds send the attacker the funds instead if the attacker is able to "take over" the ID number the transaction was referring to? I guess I would need to actually understand how this new BitShares 2.0 blockchain engine works before I can better articulate this concern. Perhaps TaPOS where the transaction refers to a recent block on the correct chain could help prevent any potential attacks like that (if such attacks even exist)?

Another thing I was thinking about while reading about the changes was how the state is committed to disk only on exit. I understand that it stores the blocks to disk as it receives them so that it can always recover the database state from scratch if necessary. But I don't see why it couldn't periodically commit the database state to disk so that if it fails it doesn't need to replay from the last time the program successfully exited (which may be a long time ago). In fact, if memory usage is so low, I think it would be cool to use just double the memory by using some memory page copy-on-write system to take a snapshot of the memory state while continuing to evolve the other copy, and then asynchronously serializing the snapshot copy to disk. Then when that serialization is done, the memory of the snapshot copy can be freed from RAM to repeat the process over again by taking a snapshot of the evolved copy. In fact, maybe the serialization can be delayed by some period to ensure that the time limit for chain reorganization has passed and so that you know you (almost never) would need replay the blockchain from any committed state older the most recent one, which is probably less than 5 hours old.

Then there are the few things I would have really liked to see if we were going to have such a huge change that requires a complicated migration strategy, even though I of course didn't actually expect to see them. The biggest would be a way of repeatedly and asynchronously committing a snapshot of the state (one that could be agreed upon via the consensus protocol) to a single cryptographic hash that could be committed and approved by all the witnesses as part of their responsibilities. This could allow users to quickly bootstrap to the current state of the database using a copy of a recent serialized snapshot state (which would be less than a day old) and a trusted hash of a recent block. I know that the new engine should speed up replay dramatically, but this would also allow the node to not need to download the entire blockchain either (and they may be constrained by bandwidth more so than CPU speed) as long as they didn't care about transaction history. And in the long term, one of the old snapshot states (that everyone for sure agreed was valid) could effectively act as the new genesis state and allow for blockchain pruning to save disk space. Furthermore, if the commitment of the state snapshot to a single hash was done intelligently, it could allow anyone to provide small proofs of the existence of objects in the database state at the time of the snapshot, where the verifier only needs to trust that the majority of witnesses at the time they committed the hash of the state snapshot to the blockchain did not collude to provide a false proof. This could allow lightweight clients and hosted wallets to (independent of further participation by witnesses) provide the user extra assurance that their view of the database is correct (even if that extra assurance is delayed by a few hours).

Finally, I hope you guys haven't given up on the following:
  • Hosting the web-based GUI interface locally. I of course would expect to be able to run a full node and have the web-based code running in my browser to connect the local daemon running on my local machine. But I would also like to be able to run a lightweight setup where the browser-based GUI securely connects to a trusted public server instead even if I am serving the browser code locally rather than from some other server. I don't want the only official lightweight GUI setup for using BitShares to require us to hope that a MITM attack (likely made possible with compromised certificate authorities) hasn't replaced the browser code with a version that phones home private keys. For regular users, I hope this also means that you are still working on a Chrome web app packaging the browser-based GUI to reduce the chances of a MITM attack.
  • Will you still be working on the mobile QML wallet? Will the new web-based GUI be responsive and adaptive enough to be used on mobile? Even if so, I can't imagine that it could be as capable as an app specifically designed for the mobile platforms (Android and iOS). Will you not focus on this and instead allow third parties (e.g. ElMato's LimeWallet) to build the mobile-optimized BitShares clients?

205
Stakeholder Proposals / Re: Paid Workers Proposal for Review
« on: May 03, 2015, 02:53:14 pm »
I've described the paid worker solution that I would like to see in this post. I think we should just let the management of project/worker payment be delegated to the elected delegates. The shareholders should make their desires/opinions official known to the delegates via a non-binding proposal system on the blockchain. The delegates are trusted to carry through with the shareholder wishes (in a responsible way), and if they fail to do so they will be voted out. I think giving this responsibility to the delegates rather than the shareholders (essentially adding that level of indirection) should hopefully make the workers feel like they are less likely to get the rug pulled from underneath them due to some chaotic irrational/emotional response from the masses. The delegates essentially act as a check on the shareholders. However, they ultimately answer to the shareholders because they can be easily voted out and replaced by new delegates that will consider shareholder opinion more.

There are also safeguards preventing delegates from just spending as much on a worker as they want (beyond just the hard dilution limit) such as the dilution budget collectively available to them (that they don't necessarily need to all spend) by virtue of being elected with some budget request (which could only be adjusted up by getting a new version of their delegate elected by shareholders) and the fact that a super majority of the delegates need to agree to any change to the worker pay list. One other thing I would add to my linked proposal is that the recipient account in the worker pay list could either be a vesting type or a non-vesting type. The vesting type would have an additional parameter in the tuple defining the vesting period that the recipient needs to wait until they can access the accumulated funds held under their name.

Edit: By the way, if it wasn't clear, the approach described above allows the super majority of the delegates to implement any policy for funding projects (including the one in your post BM). The idea is that the policy isn't encoded as code in the blockchain, and therefore is more dynamic. The non-binding proposal system can allow shareholders to vote for and against any project with a start and end date, for example, and the delegates are responsible for carrying out that policy. It is sort of like the difference between the Turing complete scripts on Ethereum vs smart contracts implemented using a super majority multisig of executors and actually executing the deterministic code off-chain (like Open Transactions' Voting Pools, or Codius smart contracts, or maybe future BitShares smart contracts(?)). 

206
I think hard forks should be few and far between so everyone can rely on a stable platform rather than a moving target.

Agreed, but that is very different than "our LAST hard fork".

Also, as long as the API for Turing complete smart contacts (or DApps, etc.) does not change with the hard fork, I see no problem with having hard forks as frequently as once a year (if there is something worth to update that is). Changes of that nature would not affect any of the work other developers have done to build on top of BitShares but could provide much needed improvements to the protocol.

207
When we announce the roadmap will be included... but it will only have 1 item on it and that is turing complete smart contracts which will be our LAST hard fork.

That's a ridiculous statement. Unless by "our LAST hard fork" you mean the last one done with a hard fork block number decided by the core devs in an update to the client instead of through a decentralized hard fork voting mechanism built into the blockchain protocol.

I can think of so many improvements to the BitShares protocol for the future which simply cannot be replicated with Turing complete smart contracts (and some are more than just improvements to the consensus protocol). The LAST hard fork of BitShares will occur when BitShares is on a steep downward path to insignificance and obsolescence. Until then hard forks are how the protocol improves and stays relevant against the competition (of course not too frequently as it matures). Even protocols critical to the Internet infrastructure need to be updated from time to time (e.g. IPv4 to IPv6).

208
General Discussion / Re: A Toast to Toast
« on: April 21, 2015, 01:43:08 am »
You can find that information here: http://whatarenotes.info/

Under "NOTES VALUE":

Quote
One of the differences between the current BitShares blockchain and the upcoming BitShares Music blockchain is that the BitAsset market engine will be removed. BitShares Music will serve as a distributed, on blockchain, market for all UIAs. This includes both artist tokens and USD pegged IOUs created and issued out by gateways that protect all users and artists from volatility.

Gateways provide the on and off ramp to/from fiat_USD to crypto_USD.

Those that fear counterparty risk from the gateways (you must trust the gateways to redeem the IOU_USD for a real USD) can move their funds into BitAssets, like BitUSD, BitCNY or even BitGOLD, on the BitShares blockchain since BitAssets are free from counterparty risk.

Under "UPCOMING WALLET":

Quote
Moonstone.io will be integrated seamlessly within PeerTracks from day one. Moonstone allows for low trust crypto-to-crypto exchange between multiple different blockchains. This will provide much needed initial liquidity for BitShares Music. Initial crypto pairs available on Moonstone include:

    Bitcoin
    BitShares (Including all UIA and BitAssets like BitUSD and BitCNY)
    BitShares Music (including all artist tokens and gateway IOUs)
    BitShares Play

Moonstone provides a simple exchange interface for both markets within the corresponding blockchains and in between blockchains.

Hope that helps.

Thanks.

I can understand Moonstone providing some ACCT functionality for trading between assets of different blockchains. But I was surprised to learn that BitUSD on the Music blockchain has essentially been replaced by IOU_USD (I guess I missed that change). But I think the claim that those who want to be free from counterparty risk should just hold BitAssets on the BitShares blockchain is a little misleading. I don't think you will be able to use the BitUSD on the BitShares blockchain to buy music directly. You would need to do a two-step process. First do ACCT of the BitUSD with the IOU_USD and then use the IOU_USD to buy the music on the Music blockchain. This is because I imagine the blockchain mechanisms (having some percentage of purchasing funds go towards to the artist and some to NOTE holders) require that the purchase operation be done on the Music blockchain with tokens that exist on the blockchain (which BitUSD does not).

Also, although apparently Moonstone will allow you to do ACCT of BitUSD on the BitShares blockchain with artist tokens on the Music blockchain (therefore only needing one step, not two, if your goal is simply to get the artist tokens), it is still not the same as trading on a DEX. A DEX allows you to place your orders without the couterparty of the trade known a priori and just wait until it is automatically matched and filled by the blockchain with no further effort necessary from you. ACCT don't quite have those nice properties. My guess is that Moonstone will not try to use ACCT between two different parties but will rather act as the sole liquidity provider for Moonstone client users that want to (conveniently) trade between assets of the blockchains listed above. So you may not necessary get the best deal available, but that is the cost the user must pay for convenience.

The other thing I am wondering is whether Peertracks actually expects to have a fiat gateway available by the time they launch? Are they going to go through all that regulatory process to provide the USD gateway? And what about initially providing a multisig BitUSD gateway (since that doesn't have regulatory issues) if getting the fiat gateway online ends up adding too many delays to the initial release?

209
General Discussion / Re: A Toast to Toast
« on: April 20, 2015, 11:49:19 pm »
Basically, a new DAC is launching to focus on entertainment startups that want to leverage the functionality of BitShares. This DAC won't have market pegged assets and will function autonomously from BitShares. Multi-currency wallets such as moonstone will act as the bridge between multiple chains, so one can still trade between artistcoins issued on the Entertainment DAC and bitUSD issued on BitShares.

Citation needed.

not sure on the minute mark...
https://soundcloud.com/beyond-bitcoin-hangouts/beyond-bitcoin-music-dev-hangout-03-27-2015-s3

Thanks. I listened to this hangout before and don't remember the bolded conclusions above. I will listen to it again.

Although, I would appreciate it if bitsapphire could just confirm whether it is true or not and save me time.

Edit: I only skimmed through it (it would be so nice if there were transcripts), but I am pretty sure those claims were not made in that hangout.

210
General Discussion / Re: A Toast to Toast
« on: April 20, 2015, 11:43:50 pm »
Basically, a new DAC is launching to focus on entertainment startups that want to leverage the functionality of BitShares. This DAC won't have market pegged assets and will function autonomously from BitShares. Multi-currency wallets such as moonstone will act as the bridge between multiple chains, so one can still trade between artistcoins issued on the Entertainment DAC and bitUSD issued on BitShares.

Citation needed.

Pages: 1 ... 7 8 9 10 11 12 13 [14] 15 16 17 18 19 20 21 ... 81