Pages:
Author

Topic: AI Coin Development Diary - page 16. (Read 49310 times)

full member
Activity: 207
Merit: 100
April 27, 2014, 03:38:06 PM
#24
How does that help when the other 100 super nodes are controlling what blocks are formed.  This is not a distributed consensus that I'm satisfied with.

I think you misunderstand that consensus still comes from everyone on the network. The reason there are delegates is because specialization and centralization lead to greater efficiency as we can see given that block production goes from 10min with bitcoin mining (dpow) to 10-30sec with dpos. Think of it through the lens of more traditional governing structures. we could have a fully democratic government in the united states but that would be terribly inefficient since it would take way to long to collect the votes of all citizens on any given issue. not to mention not everyone knows enough or cares enough about each issue, so we would never be able to get 100% of ppl to vote any way. These are the problems that plague peercoin. as the dpos whitepaper elucidates:

Quote
Peercoin is a hybrid coin and is thus partial centralized by the proof of work. Like Bitcoin it also has mining pools. Compared to Bitcoin the Peercoin is certainly more decentralized; however, because proof of stake mining requires users to keep their computers on and wallets unlocked, only a small percentage of the shareholders participate in any kind of mining.

peercoin has the same centralization as bitcoin due to pow mining pools (dpow) and it has low participation rates in pos mining which causes it to be to inefficient to provide security/consensus to the network. this is the underlying reason for this hybrid model, proof of stake mining essentially constitutes a fully democratic governing structure that requires human participation. just as with any democracy the incentives are not there to have 100% participation. furthermore the incentives are even more skewed in this model because people can make disproportionately more with pow mining than with pow stake mining (i believe at the current rate inflation it is something like 9:1) .

the problem with the representative democracy is that we vote every four years so the representatives are not directly accountable to their constituents. of course if you want to get reelected then you will attempt to act in your constituents best interests, but there lies another problem in the fact that the representatives job is so complicated and misunderstood by people that they do not always know if a representative has fully acted in their best interests.

in delegated proof of stake you vote for your own representative (it is important to understand that this still use transactions as proof of stake - you cast your vote through transactions). if your representative is in the top 100 delegates that means that he is one of the top 100 most trusted nodes on the network. the delegates job is simple, he must produce blocks in a timely manner and include all valid transactions in those blocks. if a delegate does not do these things everyone on the network can easily detect that the representatives is not acting in everyones best interest. the client will automatically adjust your vote setting to another more trustworthy delegate. you do not necessarily have to vote ( make a transaction) to change the delegates status. assuming that this is a healthy network and there are several hundred transactions per block if the delegate does not do his job those transactions will automatically have down votes for this delegate so that he is effectively fired on the spot.

dpos puts together the best aspects of decentralization (collectivism) with the best aspects of centralization (specialization). decentralization for the purpose of decentralization is not a way to organize society or a network. the truth is that an organization is most decentralized when there are few if any barriers to access for all positions that govern it. competition decides whether or not someone holds a position. the delegates term in dpos is limited not by arbitrary term limits but by his own conduct and whether or not that conduct serves that better good.
full member
Activity: 207
Merit: 100
April 27, 2014, 02:12:18 PM
#23
  • The reward distribution algorithm does not have to be strictly in proportion to the offered bitcoin stake, rather it could and should be distributed in part to the super peers in return for substantial bandwidth and data security costs that they incur. Full node operators should receive sufficient reward to accommodate their expenses validating and replicating the blockchain, whose transactions grow at 3.2x annually, far in excess of Moore's Law cost reductions. The remaining large portion of the block creation reward, I propose to distribute in a manner which disproportionately rewards smaller stake holders, and perhaps somehow those wallet-owners not running full-nodes. The manner of distribution should should somehow dispel "the rich get richer".

Why is there a need to inflate the number of currency units by giving them to existing holders?

(I know the question is fundamental but still warrants to be answered.)

there isn't, that causes unecessary network bloat. instead you burn the transaction fees, which acts as an implicit dividend or increase of stake for all stakeholders.
hero member
Activity: 699
Merit: 501
Coinpanion.io - Copy Successful Crypto Traders
April 27, 2014, 12:45:21 PM
#22
As I said in the other thread, this delegation scheme is the least appealing way to do PoS due to its centralization and reliance on people rather than protocols.

You as a stakeholder are free to choose who trust and you are free to run a super peer so i don't think this kind of centralization is a problem.
donator
Activity: 1722
Merit: 1036
April 27, 2014, 08:27:15 AM
#21
  • The reward distribution algorithm does not have to be strictly in proportion to the offered bitcoin stake, rather it could and should be distributed in part to the super peers in return for substantial bandwidth and data security costs that they incur. Full node operators should receive sufficient reward to accommodate their expenses validating and replicating the blockchain, whose transactions grow at 3.2x annually, far in excess of Moore's Law cost reductions. The remaining large portion of the block creation reward, I propose to distribute in a manner which disproportionately rewards smaller stake holders, and perhaps somehow those wallet-owners not running full-nodes. The manner of distribution should should somehow dispel "the rich get richer".

Why is there a need to inflate the number of currency units by giving them to existing holders?

(I know the question is fundamental but still warrants to be answered.)
hero member
Activity: 699
Merit: 501
Coinpanion.io - Copy Successful Crypto Traders
April 27, 2014, 02:34:49 AM
#20
I have not the skills to contribute to this discussion but as an investor i'm watching this very closely since i firmly believe that some kind of working PoS is the future of cryptocurrencies.
I also think that bitcoin PoW will show serious weaknesses in the future beside the fact that it is a waste of energy.
SlipperySlope the solution you proposed is very interesting please keep working on it, if you find a strong and efficent way to achieve consensus using PoS i think 99% of the job is done, distribution is not really a problem as many people think.
hero member
Activity: 686
Merit: 501
Stephen Reed
April 27, 2014, 01:50:30 AM
#19
the manual process is choosing your delegate, although this can be automated so that the client simply choose one of the delegates with the best reputation. the real automation lies in using transaction as proof of stake, because it does not require that someone volunteer their stake and private key.

i think the voting process should be automated within the client, because the job that these delegates have to do is very simple - produce a block when it is your turn, include all confirmed transactions. this is not something that many would be diligent in observing, but is easily detectable by the client. 

Thanks for clarifying your point.
full member
Activity: 207
Merit: 100
April 27, 2014, 01:37:42 AM
#18
the manual process is choosing your delegate, although this can be automated so that the client simply choose one of the delegates with the best reputation. the real automation lies in using transaction as proof of stake, because it does not require that someone volunteer their stake and private key.

i think the voting process should be automated within the client, because the job that these delegates have to do is very simple - produce a block when it is your turn, include all confirmed transactions. this is not something that many would be diligent in observing, but is easily detectable by the client. 
hero member
Activity: 686
Merit: 501
Stephen Reed
April 27, 2014, 01:31:08 AM
#17
Who chooses the 100 nodes

each transaction has an implicit proof of stake and therefore an implicit vote towards the security of the network. everyone in the network votes for there own delegates. this is a process that is automated in the client but is easily manually adjusted. essentially the most reliable nodes will be voted to the top 100 and if they ever fail to do their job (fail to produce a block when it is their turn or do not include all confirmed transaction in their produced block) the are immediately fired since the client registers such actions and can switch votes or vote against a delegate.

Thanks for an idea how to automate it. I was thinking that clients enroll with a pool, and possibly change to a different pool, manually using their judgement as is the case today with regard to miners and their pools. Perhaps this aspect of trustworthiness does not have to be defined algorithmically.
full member
Activity: 207
Merit: 100
April 27, 2014, 01:26:05 AM
#16
Who chooses the 100 nodes

each transaction has an implicit proof of stake and therefore an implicit vote towards the security of the network. everyone in the network votes for there own delegates. this is a process that is automated in the client but is easily manually adjusted. essentially the most reliable nodes will be voted to the top 100 and if they ever fail to do their job (fail to produce a block when it is their turn or do not include all confirmed transaction in their produced block) the are immediately fired since the client registers such actions and can switch votes or vote against a delegate.
hero member
Activity: 686
Merit: 501
Stephen Reed
April 27, 2014, 01:23:37 AM
#15
also transactions as proof of stake (tapos) is different than delegated proof of stake (dpos) although dpos uses the same consensus of proof of stake through coin days destroy from transactions.

esssentially using transaction as proof of stake allows you to come to consensus through pos and block production can be determined in any fashion you see fit. the original tapos paper uses mining for block production, but dpos makes block production faster

I believe you mean https://bitcointalksearch.org/topic/m.3793765, which is the first thread I could find on the topic. I will study the whitepaper.

Thanks for the tip. I am open to all improvements.
full member
Activity: 207
Merit: 100
April 27, 2014, 01:16:18 AM
#14
also transactions as proof of stake (tapos) is different than delegated proof of stake (dpos) although dpos uses the same consensus of proof of stake through coin days destroy from transactions.

esssentially using transaction as proof of stake allows you to come to consensus through pos and block production can be determined in any fashion you see fit. the original tapos paper uses mining for block production, but dpos makes block production faster
full member
Activity: 207
Merit: 100
April 27, 2014, 01:12:03 AM
#13
can someone please explain to me why using transactions as proof of stake does not work to solve the problems that you are attempting to address

Coin age as I describe it above is a to-myself transaction. If this is not what you mean, then please clarify.

you destroy coin age through transactions. it doesnt have to be to yourself. peer coin uses the "to-myself transaction" as proof of stake substitute to mining. this however, is a manual process whereas using coin age (or days) from transaction is essentially automatic.
hero member
Activity: 686
Merit: 501
Stephen Reed
April 27, 2014, 12:49:58 AM
#12
"Somehow" ?  I think it's a critical piece you need to figure out.

Well, the first thought that comes to mind is to distribute the open source code, in the Java language, for operating a compliant pool. I would create a reference pool if I cannot sign on at least one existing Bitcoin mining pool. New pools would join the super-peer network In the same manner that Bitcoin Core clients connect to the existing network via a built-in set of IP addresses - I think,

Bitcoin pools, and altcoin pools today are advertised by their promoters, and joined by clients on the basis of human judgement. I would retain that working aspect of the status quo.
hero member
Activity: 686
Merit: 501
Stephen Reed
April 26, 2014, 11:51:58 PM
#11
Who chooses the 100 nodes

Somehow they form up and compete. To be fair, pools could have other pools as clients without losing the super-peer topology benefits.

The nodes are mining pools that, like today, advertise and solicit clients. The 100 is arbitrary. It is a simple a round number larger than the effective number of nodes that control bitcoin mining today. Slightly more decentralized than today. The idea is to have a high bandwidth Bitcoin network backbone to handle every one of the worlds financial transactions plus all the machine-to-machine transactions coming with the Internet-of-things.
hero member
Activity: 686
Merit: 501
Stephen Reed
April 26, 2014, 11:29:28 PM
#10
can someone please explain to me why using transactions as proof of stake does not work to solve the problems that you are attempting to address

Coin age as I describe it above is a to-myself transaction. If this is not what you mean, then please clarify.
full member
Activity: 207
Merit: 100
April 26, 2014, 10:54:20 PM
#9
can someone please explain to me why using transactions as proof of stake does not work to solve the problems that you are attempting to address
hero member
Activity: 686
Merit: 501
Stephen Reed
April 26, 2014, 10:44:54 PM
#8
A Bitcoin Super-Peer Network

Andytoshi, a participant in the bitcoin developers mail list advised me to solve the problem of distributed consensus. While thinking about this problem, advice given to me by others in this forum came to mind. I will attempt to solve Bitcoin proof-of-stake by solving a simpler and larger problem, revisiting the thoughts of Satoshi, in light of how Bitcoin has come to operate.

Satoshi quit commenting on this forum about the time that slush started the first mining pool. Satoshi's defining paper had no provision for pools,
 yet in the recent four-day period, a mere 68 public and private pools mined all the bitcoin . . ..



https://blockchain.info/pools?timespan=4days

. . . out of a total 7,650 full nodes, and 2.6 million online wallets reported by Blockchain.info and Coinbase.

https://getaddr.bitnodes.io/

Today's Bitcoin network is different than what Satoshi may have envisioned in his defining paper, but it works.

I believe that the Satoshi Social Contract, between developers and users, accommodates a variety of network topologies and responsibilities.

To overcome the problem of how to provide distributed consensus about which version of the blockchain is correct, I propose to build a blockchain that does not fork. The coin-creating responsibility is assigned to one agent, rotated round robin every 10 minutes among the 100 largest trustworthy such agents.



A super-peer network of 100 or less pools use Chord technology to form a robust ring. A mining-permit token is advanced around the ring every 10 minutes. The pool with the token creates the new block and via solicited proof-of-stake shares, distributes the block creation reward to its clients, and to the other super-peers in the ring in proportion to their reported proof-of-stake shares. The proof-of-stake shares are to-myself transactions with a 10 minute age, in which the transaction amount in bitcoin is input into the reward distribution algorithm executed by the super-peer. Proof-of-stake shares are thus analogous to proof-of-work shares submitted to a pool today by client hashers.

Here is a diagram of Chord ring topology. These are the closely connected super-peers - the 100 pools - of the proposed Bitcoin proof-of-stake network  . . .



I seek two sorts of critiques, (1) if this does not work then how could it be modified to work? (2) what are the likely attacks? I also want to be sure these ideas are clearly stated.

If the idea maybe could work then it has these advantages over the current Bitcoin network, beyond the efficiency argument of proof-of-stake vs. existing money-consuming proof-of-work . . .

  • A single instance of bitcoind is deterministically chosen to create the new block - there are no redundant block creation attempts, no forked blockchains, no orphans and no waste.
  • Internet bandwidth usage is greatly reduced in a topology where client blockchain validating and maintaining full-nodes communicate with a single pool, and potentially with a set of backup pools. High bandwidth and high availability channels between pools reflect the status quo with how Bitcoin works today.
  • Human judgement of pool trustworthiness removes the need to algorithmically provide it - again this is the status quo.
  • Because new transactions can reach a pool in one hop, and reach the pool creating the new block in one more hop, network latency is reduced, potentially allowing a reduction of confirmation times, and reducing the possibility of double-spend versus the current Bitcoin network.
  • The reward distribution algorithm does not have to be strictly in proportion to the offered bitcoin stake, rather it could and should be distributed in part to the super peers in return for substantial bandwidth and data security costs that they incur. Full node operators should receive sufficient reward to accommodate their expenses validating and replicating the blockchain, whose transactions grow at 3.2x annually, far in excess of Moore's Law cost reductions. The remaining large portion of the block creation reward, I propose to distribute in a manner which disproportionately rewards smaller stake holders, and perhaps somehow those wallet-owners not running full-nodes. The manner of distribution should should somehow dispel "the rich get richer".

Your thoughts?
hero member
Activity: 686
Merit: 501
Stephen Reed
April 26, 2014, 08:45:10 PM
#7
Will the initial distribution of wealth in Bitcoin-PoS be exactly as per the unspent outputs in the bitcoin blockchain at a certain point in time in the future, or will you consider redistribution of wealth if you find popular support for it?

I would keep the blockchain as is. The best case for redistribution to add to Satoshi's social contract would be to make permanent the up-to-now unspent coins that Satoshi mined while alpha testing the live chain. Put this up for debate and see if Satoshi surfaces to comment. He could easily have disposed of, or overwritten, the private keys as they were used to create his stash of 980,000 according to http://bitslog.wordpress.com/2013/04/24/satoshi-s-fortune-a-more-accurate-figure/.
legendary
Activity: 1162
Merit: 1007
April 26, 2014, 02:43:25 PM
#6
Will the initial distribution of wealth in Bitcoin-PoS be exactly as per the unspent outputs in the bitcoin blockchain at a certain point in time in the future, or will you consider redistribution of wealth if you find popular support for it?

sr. member
Activity: 354
Merit: 250
April 26, 2014, 05:13:39 AM
#5
I would argue that you can't break the 21,000,000 coin guarantee and still have Bitcoin so the inflationary model of PPC is out. Instead I'd suggest a hard fork to a hybrid POW/POS system with target block times of 2 minutes. POW blocks would still target 10 minute block times and receive the block rewards + transaction fees. POS blocks would target 2.5 minute block times and receive any transaction fees included in their block. This solution continues to reward those who have invested millions in Bitcoin specific hardware while encouraging Bitcoin holders with any significant stake to run nodes.
Pages:
Jump to: