Author Topic: BitShares X Status Update  (Read 261108 times)

0 Members and 1 Guest are viewing this topic.

Offline yidaidaxia

  • Full Member
  • ***
  • Posts: 179
    • View Profile
+5%

And as I mentioned, I think we need to have the white papers updated before test chain(which might become real) starts.

Today I made more progress on the block generation and validation algorithm.   The wallet has successfully mined a few blocks and the difficulty goes up when there is not enough Proof of Stake. 

Tomorrow I will do the following:
1) Select inputs from your wallet oldest-first so that your transactions can be validated as quickly as possible and contribute the most to securing the chain.
2) Automatically generate transactions to yourself if it will generate enough CDD to reduce the difficulty to the minimum amount.

In response to the question about eliminating mining, I have concluded that ripple-style consensus would have more downsides than straight up POS mining.  Namely, even with 100 nodes people would call it centralized.   I will probably work on a consensus based system in the future, but the POS mining is easier now.

Unlike NXT most of the transactions fees are paid as dividends and only a small portion paid to miners.   Also unlike NXT, everyone is contributing to the security of the network when they make a transaction.

To my understanding, at least in the MVP, the Ripple style consensus and the neural network style positive feedback loop is abandoned. Am I wrong?

If it is true and you have already made the decision, I suppose a more clear and official announcement needs to be made.
PTS: PmUT7H6e7Hvp9WtKtxphK8AMeRndnow2S8   /   BTC: 1KsJzs8zYppVHBp7CbyvQAYrEAWXEcNvmp   /   BTSX: yidaidaxia (暂用)
新浪微博: yidaidaxia_郝晓曦 QQ:36191175试手补天

Offline coolspeed

  • Hero Member
  • *****
  • Posts: 536
    • View Profile
    • My Blog
Today I made more progress on the block generation and validation algorithm.   The wallet has successfully mined a few blocks and the difficulty goes up when there is not enough Proof of Stake. 

Tomorrow I will do the following:
1) Select inputs from your wallet oldest-first so that your transactions can be validated as quickly as possible and contribute the most to securing the chain.
2) Automatically generate transactions to yourself if it will generate enough CDD to reduce the difficulty to the minimum amount.

In response to the question about eliminating mining, I have concluded that ripple-style consensus would have more downsides than straight up POS mining.  Namely, even with 100 nodes people would call it centralized.   I will probably work on a consensus based system in the future, but the POS mining is easier now.

Unlike NXT most of the transactions fees are paid as dividends and only a small portion paid to miners.   Also unlike NXT, everyone is contributing to the security of the network when they make a transaction.

To my understanding, at least in the MVP, the Ripple style consensus and the neural network style positive feedback loop is abandoned. Am I wrong?

If it is true and you have already made the decision, I suppose a more clear and official announcement needs to be made.
« Last Edit: February 02, 2014, 10:24:41 am by coolspeed »
Please vote for  delegate.coolspeed    dac.coolspeed
BTS account: coolspeed
Sina Weibo:@coolspeed

Offline her0

  • Sr. Member
  • ****
  • Posts: 258
    • View Profile
If someone would like to volunteer to distribute test BTS while I am off line let me know so I can give you a wad.
BTS: GNMjoe397TTM59G8qWJshAs9Z3i

Offline crazybit

Today I made more progress on the block generation and validation algorithm.   The wallet has successfully mined a few blocks and the difficulty goes up when there is not enough Proof of Stake. 

Tomorrow I will do the following:
1) Select inputs from your wallet oldest-first so that your transactions can be validated as quickly as possible and contribute the most to securing the chain.
2) Automatically generate transactions to yourself if it will generate enough CDD to reduce the difficulty to the minimum amount.

In response to the question about eliminating mining, I have concluded that ripple-style consensus would have more downsides than straight up POS mining.  Namely, even with 100 nodes people would call it centralized.   I will probably work on a consensus based system in the future, but the POS mining is easier now.

Unlike NXT most of the transactions fees are paid as dividends and only a small portion paid to miners.   Also unlike NXT, everyone is contributing to the security of the network when they make a transaction.
the update bts wallet client unable to connect to bitshares network now, need any special setting?

Offline bytemaster

Today I made more progress on the block generation and validation algorithm.   The wallet has successfully mined a few blocks and the difficulty goes up when there is not enough Proof of Stake. 

Tomorrow I will do the following:
1) Select inputs from your wallet oldest-first so that your transactions can be validated as quickly as possible and contribute the most to securing the chain.
2) Automatically generate transactions to yourself if it will generate enough CDD to reduce the difficulty to the minimum amount.

In response to the question about eliminating mining, I have concluded that ripple-style consensus would have more downsides than straight up POS mining.  Namely, even with 100 nodes people would call it centralized.   I will probably work on a consensus based system in the future, but the POS mining is easier now.

Unlike NXT most of the transactions fees are paid as dividends and only a small portion paid to miners.   Also unlike NXT, everyone is contributing to the security of the network when they make a transaction. 

For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline santaclause102

  • Hero Member
  • *****
  • Posts: 2486
    • View Profile
Today I updated the proof of stake processing / calculation for blocks.
I also updated checks for block time stamps.
I restored the nonce + target difficulty settings
I implemented the algorithm to adjust the difficulty based upon total CDD

To summarize the latest changes with proof of stake I can say this:
If there are no CDD by a block then the difficulty is 1 million times harder than the 'target'.
As the CDD by a block approaches 1/4 the expected average the difficulty approaches the 'target'.
A miner that has some of their own CDD that they do not broadcast can get a mining advantage by destroying some of their own CDD to reduce difficulty.  Of course all miners/owners have equal advantage here and thus this creates demand to consume at least 1/4 the average CDD per block.

Miners that don't own any shares must wait until enough transactions are broadcast before they can start mining effectively.

End result: on average enough CDD is destroyed every block to provide greater security than bitcoin provides every block and it is near impossible to produce significant chains in secret.

Because a mining advantage exists based upon how many shares you own, solo mining is more likely than pool mining.  For pool mining to be effective, everyone would have to transfer their money to the pool operator. 

I believe that NO ONE would be able to mine the chain continuously without at least 25% of the share supply because if you owned any less you would run out of CDD and mining difficulty would hit 1M times your hash power.   We can thus conclude that someone with 1% of the shares would be unable to create a chain in secret longer than a few days assuming they also had 51% of the hashing power.

Overall I conclude the chain is more secure than BTC by an order of magnitude even though only a small fraction of the fees 1% are paid to miners for their efforts.

What's the deal with mining? I tough you eliminated it (as opposed to what nxt does; see your post here https://bitsharestalk.org/index.php?topic=1890.150) and stakeholders would be miners (POS).

Offline yidaidaxia

  • Full Member
  • ***
  • Posts: 179
    • View Profile
Bytemaster, appreciated for your effort on daily update w/ big progress on Bitshares X development. I'm really excited about it. One question: do you plan to update the white paper of Bitshares or/and POS recently? I think it makes sense to have this 2 documents updated before 2/28 Bitshares X public test/release then people could be clear about what's the detailed mechanism/logic of bitshares system operation. Thanks.

ok :) Why not decentralize this and give a material incentive to the nodes to be nodes? Without an incentive the biggest stakeholders or those with non-material goals would run nodes. But the system itself doesn't guarantee that nodes are run.

What makes you think those with non-material goals wouldn't be making so much more?   If we pay nodes to participate then everyone will want to be on the receiving side which means you need a fixed reward divided among all players.

Lets step back a second and reconsider everything... suppose you did something like this:

1) Use a mining algorithm like momentum where the difficulty is adjusted by square of the coin days destroyed by the block. 
2) Pay a very small percentage of the fees to the miner.
3) If two blocks are found at once, the one with the most CDD wins.

The consequences of this approach are as follows:
1) block times return to 5 minute intervals rather than seconds...
2) if there are no transactions CDD is 0 and difficulty is infinity... therefore variation in transaction volume will have a bigger impact on the difficulty adjustment than adding or removing miners.
3) centralization one block at a time returns... but if you allow everyone's CDD to factor in then someone excluding transactions is unlikely to win.  Thus the network errors on the side of including transactions rather than excluding them.
4) You end up increasing the expenses of operating the network (paying miners) and thus reducing the dividend.

I suspect that the mining reward can be as low as 1% of the transaction fees and it would be enough incentive for many people to mine in the background at some steady state.  Mining will always be profitable because if it were not people would stop mining.

Overall I think I like this... though I lament the performance cost.

This introduces a perverse incentive for nodes not to forward transactions... though I suspect the damage caused by this would be small..
PTS: PmUT7H6e7Hvp9WtKtxphK8AMeRndnow2S8   /   BTC: 1KsJzs8zYppVHBp7CbyvQAYrEAWXEcNvmp   /   BTSX: yidaidaxia (暂用)
新浪微博: yidaidaxia_郝晓曦 QQ:36191175试手补天

Offline bytemaster

Today I updated the proof of stake processing / calculation for blocks.
I also updated checks for block time stamps.
I restored the nonce + target difficulty settings
I implemented the algorithm to adjust the difficulty based upon total CDD

To summarize the latest changes with proof of stake I can say this:
If there are no CDD by a block then the difficulty is 1 million times harder than the 'target'.
As the CDD by a block approaches 1/4 the expected average the difficulty approaches the 'target'.
A miner that has some of their own CDD that they do not broadcast can get a mining advantage by destroying some of their own CDD to reduce difficulty.  Of course all miners/owners have equal advantage here and thus this creates demand to consume at least 1/4 the average CDD per block.

Miners that don't own any shares must wait until enough transactions are broadcast before they can start mining effectively.

End result: on average enough CDD is destroyed every block to provide greater security than bitcoin provides every block and it is near impossible to produce significant chains in secret.

Because a mining advantage exists based upon how many shares you own, solo mining is more likely than pool mining.  For pool mining to be effective, everyone would have to transfer their money to the pool operator. 

I believe that NO ONE would be able to mine the chain continuously without at least 25% of the share supply because if you owned any less you would run out of CDD and mining difficulty would hit 1M times your hash power.   We can thus conclude that someone with 1% of the shares would be unable to create a chain in secret longer than a few days assuming they also had 51% of the hashing power.

Overall I conclude the chain is more secure than BTC by an order of magnitude even though only a small fraction of the fees 1% are paid to miners for their efforts. 



For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline bytemaster

ok :) Why not decentralize this and give a material incentive to the nodes to be nodes? Without an incentive the biggest stakeholders or those with non-material goals would run nodes. But the system itself doesn't guarantee that nodes are run.

What makes you think those with non-material goals wouldn't be making so much more?   If we pay nodes to participate then everyone will want to be on the receiving side which means you need a fixed reward divided among all players.

Lets step back a second and reconsider everything... suppose you did something like this:

1) Use a mining algorithm like momentum where the difficulty is adjusted by square of the coin days destroyed by the block. 
2) Pay a very small percentage of the fees to the miner.
3) If two blocks are found at once, the one with the most CDD wins.

The consequences of this approach are as follows:
1) block times return to 5 minute intervals rather than seconds...
2) if there are no transactions CDD is 0 and difficulty is infinity... therefore variation in transaction volume will have a bigger impact on the difficulty adjustment than adding or removing miners.
3) centralization one block at a time returns... but if you allow everyone's CDD to factor in then someone excluding transactions is unlikely to win.  Thus the network errors on the side of including transactions rather than excluding them.
4) You end up increasing the expenses of operating the network (paying miners) and thus reducing the dividend.

I suspect that the mining reward can be as low as 1% of the transaction fees and it would be enough incentive for many people to mine in the background at some steady state.  Mining will always be profitable because if it were not people would stop mining.

Overall I think I like this... though I lament the performance cost.

This introduces a perverse incentive for nodes not to forward transactions... though I suspect the damage caused by this would be small..
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline bytemaster

ok :) Why not decentralize this and give a material incentive to the nodes to be nodes? Without an incentive the biggest stakeholders or those with non-material goals would run nodes. But the system itself doesn't guarantee that nodes are run.

What makes you think those with non-material goals wouldn't be making so much more?   If we pay nodes to participate then everyone will want to be on the receiving side which means you need a fixed reward divided among all players.

Lets step back a second and reconsider everything... suppose you did something like this:

1) Use a mining algorithm like momentum where the difficulty is adjusted by square of the coin days destroyed by the block. 
2) Pay a very small percentage of the fees to the miner.
3) If two blocks are found at once, the one with the most CDD wins.

The consequences of this approach are as follows:
1) block times return to 5 minute intervals rather than seconds...
2) if there are no transactions CDD is 0 and difficulty is infinity... therefore variation in transaction volume will have a bigger impact on the difficulty adjustment than adding or removing miners.
3) centralization one block at a time returns... but if you allow everyone's CDD to factor in then someone excluding transactions is unlikely to win.  Thus the network errors on the side of including transactions rather than excluding them.
4) You end up increasing the expenses of operating the network (paying miners) and thus reducing the dividend.

I suspect that the mining reward can be as low as 1% of the transaction fees and it would be enough incentive for many people to mine in the background at some steady state.  Mining will always be profitable because if it were not people would stop mining.

Overall I think I like this... though I lament the performance cost. 



For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline santaclause102

  • Hero Member
  • *****
  • Posts: 2486
    • View Profile
ok :) Why not decentralize this and give a material incentive to the nodes to be nodes? Without an incentive the biggest stakeholders or those with non-material goals would run nodes. But the system itself doesn't guarantee that nodes are run.

Offline bytemaster

What is the benefit of being a node?

Full nodes would normally pair with other services such as block explorers and web wallets.  By running a full node you have essentially been vetted by the community and by continuing to run a full node with integrity your reputation can grow and open up other doors.   

I imagine full nodes could offer services such as APIs for light-weight clients, etc.  So they profit indirectly rather than directly from running a full node.  An example would be a full node running a web service that tracks the status of all other nodes participating in the unity algorithm, their latency, and automatically flags any misbehaving nodes.   These extra services could earn ad revenue.

In the event that no one wants to run a full node the chain dies.  Everyone with a vested interest in the chain's longevity would want to prevent this from happening. 
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline santaclause102

  • Hero Member
  • *****
  • Posts: 2486
    • View Profile
What is the benefit of being a node?

Offline bytemaster

I would aim to get about 100 nodes on the UNL list hosted in countries around the world.
This sounds very centralized to me.
Even international banks would have more branches (I know thats comparing apples and oranges) but 100 nodes sounds scary little (even though it would be more decentralized than bitcoin). Why would there only be 100, are their barriers to becoming a node.

Already with my limited technical knowledge I feel I will not be able to support the network by becoming a node. Am I missing something there?

The number of nodes can grow to any number that can support the bandwidth and latency requirements.
What is your concern regarding centralization with 100 nodes?  What attack do you see being possible?
I would be concerned that someone who wants to abuse/damage the system would invest in setting up 101 nodes.

It isn't the number of nodes, it is the number of private keys.   Effectively you start out with a trusted group of 5 nodes which share a common UNL list (UNL list is a set of private keys).   These 5 people want to grow the group as large as possible to maximize the value of the currency and the security of the network.  So every time a new individual wants to join the group they are vetted as being unique and added to the group. 

By the time you get to 100 people the potential for collusion falls to 0, especially since the bad actors would have their signature on everything.     
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline MrJeans

  • Hero Member
  • *****
  • Posts: 599
    • View Profile
  • BitShares: mrjeans
I would aim to get about 100 nodes on the UNL list hosted in countries around the world.
This sounds very centralized to me.
Even international banks would have more branches (I know thats comparing apples and oranges) but 100 nodes sounds scary little (even though it would be more decentralized than bitcoin). Why would there only be 100, are their barriers to becoming a node.

Already with my limited technical knowledge I feel I will not be able to support the network by becoming a node. Am I missing something there?

The number of nodes can grow to any number that can support the bandwidth and latency requirements.
What is your concern regarding centralization with 100 nodes?  What attack do you see being possible?
I would be concerned that someone who wants to abuse/damage the system would invest in setting up 101 nodes.