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

Pages: 1 2 3 4 5 6 7 8 [9] 10 11 12 13 14 15 16 ... 20
OpenLedger / Re: Bit-X vs. BitX
« on: July 09, 2015, 08:36:30 pm »
And don't forget that you have. (latam exchange)  (open source btc exchange)


I just wanted to point out that perfect privacy is not this. Perfect privacy would be a transaction which never hit the blockchain, but this is an unsolved problem (due to double spend), as far as I know.

Razvan Dragomirescu from Othercoin has a nice solution to this problem.

Basically you exchange privates key (that you dont know) in a secure way using Smartarcds and remote attestation.

General Discussion / Re: Max Wright Video @ Decentral Vancouver
« on: July 01, 2015, 12:38:06 pm »
+5% +5% +5%

Remember that you can run your private testnet now if you want to start testing things.

General Discussion / Re: Blinded Signature Schemes
« on: June 30, 2015, 01:00:52 am »
I remember Oleg Andreev working on an ECC blind signatures scheme.

It seems he has a working implementation based on obj-c. 

I don't understand.
This means that bitAssets (bitUSD, bitCNY, etc) will be seen as if they were created by the delegates and the delegates have to fill the transactions fee pool manually by converting the bitUSD to BTS?

Also, if the transactions fees goes to the reserve pool where are delegates taking the bitUSD from?

:/ don't getting it

This is a good question. There is a development Skype group but depending on your questions it might be better to have them on the forum for others to see.

We don't really have a development subforum but Projects (,90.0.html) might be the closest. Depending on how many questions you have maybe it's viable to make a BitShares/Graphene core development questions thread there?

Anyone else have any ideas?

I think its a great idea, we need something like "Development and technical discussion" subforum of BTT. 

Technical Support / Re: Privacy (developers click me!)
« on: June 10, 2015, 04:56:24 pm »
A privacy solution is in the works the likes of which is inconceivable to the crypto community at present.   That is all I have to say about that.

 +5% +5% +5%

This is huge^3. :)
You are citing @fuzzy here .. aren't you? :P
Too much hangouts listening :P

It seems that every parameter of the chain can be modified based on a proposal.
Number of delegates (committee), number of witnesses, pay rate, etc. 

There is an operation
Code: [Select]
struct global_parameters_update_operation
      asset fee;
      chain_parameters new_parameters;

That is included into a proposal (proposed_ops)

Code: [Select]
struct proposal_create_operation
       account_id_type    fee_paying_account;
       asset              fee;
       vector<op_wrapper> proposed_ops;
       time_point_sec     expiration_time;
       optional<uint32_t> review_period_seconds;

That can modify every aspect of the chain if accepted.

Code: [Select]
struct chain_parameters
      fee_schedule_type       current_fees; ///< current schedule of fees, indexed by @ref fee_type
      uint32_t                witness_pay_percent_of_accumulated  = GRAPHENE_DEFAULT_WITNESS_PAY_PERCENT_OF_ACCUMULATED; ///< percentage of accumulated fees in core asset to pay to witnesses for block production
      uint8_t                 block_interval                      = GRAPHENE_DEFAULT_BLOCK_INTERVAL; ///< interval in seconds between blocks
      uint32_t                maintenance_interval                = GRAPHENE_DEFAULT_MAINTENANCE_INTERVAL; ///< interval in sections between blockchain maintenance events
      uint32_t                maximum_transaction_size            = GRAPHENE_DEFAULT_MAX_TRANSACTION_SIZE; ///< maximum allowable size in bytes for a transaction
      uint32_t                maximum_block_size                  = GRAPHENE_DEFAULT_MAX_BLOCK_SIZE; ///< maximum allowable size in bytes for a block
      uint32_t                maximum_undo_history                = GRAPHENE_DEFAULT_MAX_UNDO_HISTORY; ///< maximum number of undo states to keep in RAM
      uint32_t                maximum_time_until_expiration       = GRAPHENE_DEFAULT_MAX_TIME_UNTIL_EXPIRATION; ///< maximum lifetime in seconds for transactions to be valid, before expiring
      uint32_t                maximum_proposal_lifetime           = GRAPHENE_DEFAULT_MAX_PROPOSAL_LIFETIME_SEC; ///< maximum lifetime in seconds for proposed transactions to be kept, before expiring
      uint32_t                genesis_proposal_review_period      = GRAPHENE_DEFAULT_GENESIS_PROPOSAL_REVIEW_PERIOD_SEC; ///< minimum time in seconds that a proposed transaction requiring genesis authority may not be signed, prior to expiration
      uint8_t                 maximum_asset_whitelist_authorities = GRAPHENE_DEFAULT_MAX_ASSET_WHITELIST_AUTHORITIES; ///< maximum number of accounts which an asset may list as authorities for its whitelist OR blacklist
      uint8_t                 maximum_asset_feed_publishers       = GRAPHENE_DEFAULT_MAX_ASSET_FEED_PUBLISHERS; ///< the maximum number of feed publishers for a given asset
      uint16_t                maximum_witness_count               = GRAPHENE_DEFAULT_MAX_WITNESSES; ///< maximum number of active witnesses
      uint16_t                maximum_committee_count             = GRAPHENE_DEFAULT_MAX_COMMITTEE; ///< maximum number of active delegates
      uint16_t                maximum_authority_membership        = GRAPHENE_DEFAULT_MAX_AUTHORITY_MEMBERSHIP; ///< largest number of keys/accounts an authority can have
      uint16_t                burn_percent_of_fee                 = GRAPHENE_DEFAULT_BURN_PERCENT_OF_FEE; ///< the percentage of every fee that is taken out of circulation
      uint16_t                witness_percent_of_fee              = GRAPHENE_DEFAULT_WITNESS_PERCENT; ///< percent of revenue paid to witnesses
      uint32_t                cashback_vesting_period_seconds     = GRAPHENE_DEFAULT_CASHBACK_VESTING_PERIOD_SEC; ///< time after cashback rewards are accrued before they become liquid
      uint16_t                max_bulk_discount_percent_of_fee    = GRAPHENE_DEFAULT_MAX_BULK_DISCOUNT_PERCENT; ///< the maximum percentage discount for bulk discounts
      share_type              bulk_discount_threshold_min         = GRAPHENE_DEFAULT_BULK_DISCOUNT_THRESHOLD_MIN; ///< the minimum amount of fees paid to qualify for bulk discounts
      share_type              bulk_discount_threshold_max         = GRAPHENE_DEFAULT_BULK_DISCOUNT_THRESHOLD_MAX; ///< the amount of fees paid to qualify for the max bulk discount percent
      bool                    count_non_prime_votes               = true; ///< set to false to restrict voting privlegages to prime accounts
      bool                    allow_non_prime_whitelists          = false; ///< true if non-prime accounts may set whitelists and blacklists; false otherwise
      share_type              witness_pay_per_block               = GRAPHENE_DEFAULT_WITNESS_PAY_PER_BLOCK; ///< CORE to be allocated to witnesses (per block)
            share_type              worker_budget_per_day               = GRAPHENE_DEFAULT_WORKER_BUDGET_PER_DAY; ///< CORE to be allocated to workers (per day)

Power to the shareholder!

Thinking out loud.
If the community (shareholders) thinks that is better to lower/raise some fee, or to have more witnesses or whatever, they will vote a delegate (or convince any active delegate) to propose that change for later approval.

This is huge^3. :)

Is this correct ?

delegates ->
   * elected by shareholders (how many can be elected?)
   * have control of the genesis account (1.3.0)
     so they can => [adjust tx fees, ... , ?]
     (they publish a proposal and shareholders have time to vote them out if they don't like the change)

witnesses ->
   * elected by shareholders (no fixed number, no more 101 hardcoded)
   * block signers (aka: miners)
   * all get the same payment based on what delegates decide is fair for maintain the node (time+materials)

workers ->
   * elected by shareholders
refund-workers ->
   * elected by shareholders
   * return their pay to the reserve pool

No downvote for delegates
No downvote for witnesses
No downvote for workers (?)
No downvote for refund-workers (?)

Technical Support / Re: Running witness node
« on: June 09, 2015, 10:17:12 pm »
Out of curiosity, why are the witness IDs dot-delimited?

The github readme has some answers,

look for What is the meaning of a.b.c numbers?

Technical Support / Re: Running witness node
« on: June 09, 2015, 09:38:48 pm »
Excellent, everything is working now.

Based on

typedef object_id< protocol_ids, account_object_type, account_object> account_id_type;

1.2.X => keys
1.3.X => account
1.4.X => asset
1.7.X => witness 

Looking at the tx generated by
transfer "1.3.11" "1.3.1" 100 CORE "memo" true

  "ref_block_num": 832,
  "ref_block_prefix": 1233679879,
  "relative_expiration": 3,
  "operations": [[
        "fee": {
          "amount": 0,
          "asset_id": "1.4.0"
        "from": "1.3.11",
        "to": "1.3.1",
        "amount": {
          "amount": 10000000,
          "asset_id": "1.4.0"
        "memo": {
          "from": "1.2.1",
          "to": "1.2.0",
          "nonce": "11962994495084021359",
          "message": "001e77e19727022f7d12e3571bf30c4b"
  "signatures": [[

It has only one operation (transfer_operation), that is a deposit+withdraw combination from the 0.9.X version.
That is signed by the key 1.2.1 which is the only authority that 1.3.11 has for active.

{"id":1, "method":"call", "params":[0,"get_accounts",[["1.3.11"]]]}

Wow this is excellent ... even if i should be screaming for the amount of code we need to throw away :)

Technical Support / Re: Running witness node
« on: June 09, 2015, 08:20:29 pm »
Thanks svk, now its producing blocks.
Do you know which private keys are the witnesses using to sign the blocks?

another question:

When i run the cli_client after i get the "new" prompt i set set_password "123" and i get null as response.
Then when i run the cli_client again and try to unlock by doing unlock "123"" i get.

{"s":"error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt"}

Technical Support / Running witness node
« on: June 09, 2015, 07:48:34 pm »
While we wait for the official testnet, anyone is trying to run the code posted yesterday?

After compiling and running witness_node im getting.

No witnesses configured! Please add witness IDs and private keys to configuration.

So i edit the config.ini (there is no config.json as github says)
and set

witness-id = "1.2.0"

since the privkey is already configured for this witness. (is this reasoning ok??)
private-key = ["1.2.0","aeebad4a796fcc2e15dc4c6061b45ed9b373f26adfc798ca7d2d8cc58182718e"]

Code: [Select]
10 assert_exception: Assert Exception
fc::to_uint64( s.substr( 0, first_dot ) ) == SpaceID && fc::to_uint64( s.substr( first_dot+1, second_dot-first_dot-1 ) ) == TypeID:
    th_a  object_id.hpp:182 from_variant

    th_a  object_id.hpp:184 from_variant

If i set the witness id to witness-id = "1.7.0"
The node starts ....

Any hints?

Code: [Select]
2375001ms th_a       witness.cpp:129               operator()           ] Not producing block because production is disabled.
2380000ms th_a       witness.cpp:171               block_production_loo ] slot: 435756 scheduled_witness: 1.7.2 scheduled_time: 2015-06-09T19:39:40 now: 2015-06-09T19:39:40
2380001ms th_a       witness.cpp:129               operator()           ] Not producing block because production is disabled.
2385000ms th_a       witness.cpp:171               block_production_loo ] slot: 435757 scheduled_witness: 1.7.3 scheduled_time: 2015-06-09T19:39:45 now: 2015-06-09T19:39:45
2385000ms th_a       witness.cpp:129               operator()           ] Not producing block because production is disabled.
2390001ms th_a       witness.cpp:171               block_production_loo ] slot: 435758 scheduled_witness: 1.7.4 scheduled_time: 2015-06-09T19:39:50 now: 2015-06-09T19:39:50
2390001ms th_a       witness.cpp:129               operator()           ] Not producing block because production is disabled.
2395000ms th_a       witness.cpp:171               block_production_loo ] slot: 435759 scheduled_witness: 1.7.7 scheduled_time: 2015-06-09T19:39:55 now: 2015-06-09T19:39:55
2395000ms th_a       witness.cpp:129               operator()           ] Not producing block because production is disabled.

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