Author Topic: CFSGOLD buyback is resumed with 30% haircut. bter's BTC IOU coming later  (Read 4310 times)

0 Members and 1 Guest are viewing this topic.


Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
Nice. Now I suggest offering a small bounty for someone (pc seems like the ideal candidate) to improve the blockchain_generate_snapshot command to work with any asset type as described here:
Finally, you need to generate the map in the first place. It would nice if there was blockchain_generate_snapshot command that worked for any asset rather than just BTS. I'd imagine that it shouldn't be too difficult to create such a command. It seems like one could just copy the chain_database::generate_snapshot function and make some tweaks to support any non-BTS asset (it wouldn't need to worry about delegate pay balances, vesting balances, short order balances, or collateral balances, but it should be careful to pay attention to both asks and bids to not miss any markets that are trading the asset). One thing to wonder about is what would happen to assets protected by multisig or stored in escrow? I guess worst case scenario you tell your UIA holders to not hold the UIA in any multisig or escrow at the time of the pre-announced snapshot. Although it would be better if wallet_asset_issue_to_addresses allowed for reconstructing multisig withdraw conditions (then the snapshot generation tool would be augmented to support recording multisig balances and escrows could be treated as a 2-of-3 multisig).

And then all that is left after that is to:
  • Create a new data directory (which I will refer to as $NEW_DATA_DIR) and copy the existing chain folder into it (or rather just the chain/raw_chain folder). Run the BitShares client with "bitshares_client --data-dir $NEW_DATA_DIR --rebuild-index --stop-before-block 2000001" and wait until it rebuilds the index up to block 2000000 (can I get confirmation from devs, particularly theoretical, that this will do what I think it will do). Then once at block 2000000 (verify with get_info), use the new blockchain_generate_snapshot command to generate the snapshot to an output file. After the snapshot output file is generated and copied to a safe place, the client can be closed and the new data directory can be deleted.
  • Go back to the wallet that has the issuer of your CFSAssets and create a new sharedrop asset (let's call it CFSGOLD.B).
  • Write a small script that reads the snapshot output file and generates the allocation map for the new sharedrop asset (with appropriate scaling of values), then breaks up this map into disjoint pieces that are each of a reasonable size so that the resulting transactions are not too large in size (it would be nice if devs could let us know what the optimal max for the number of unique keys in the each map should be), and for each of these disjoint maps m, it uses the RPC (connected to the wallet of the issuer of the CFSGOLD.B asset) to call wallet_asset_issue_to_addresses CFSGOLD.B m. Do dry runs that print out the sequence of disjoint maps and publish them for everyone to verify it is accurate.
  • And finally when you are ready to actually distribute the sharedrop asset, run the script for real on the snapshot output file produced from the first step. And make sure you have enough BTS in the issuer account to cover all the necessary transaction fees (at least 0.1 BTS * number of disjoint maps).

Offline Rune

  • Hero Member
  • *****
  • Posts: 1120
    • View Profile
Hey everyone

As I've written before, we unfortunately had about 30% of our CFS asset funds as BTC the moment the bter hack happened. As a result these BTC have been converted into BTC-B, an IOU that is meant to be redeeemable for real BTC in the future, based on bter's income on trading fees.

We've now opened the buyback of CFSGOLD at the price of 0.7 bitgold per CFSGOLD, so people can get their share of the free bitgold back. We're also going to distribute the bter IOUs once they start paying out - if they pay out in full it should mean that all investors will have received approximately the full amount of what they put into CFSGOLD, not accounting for exchange rate swings in the gold and btc price. We will distribute this BTC based on a snapshot of CFSGOLD holders at block number 2000000, so remember to not delete the accounts you have that held CFSGOLD until the IOU has been paid out, or you will lose the funds.

The hack was really bad for bitshares and especially bad for cryptohedge, but I'm glad that we got most of our money back and I'm optimistic that the bter IOU will also pay out some amount of money, perhaps even the full amount.