jed (OP)
Full Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 182
Merit: 107
Jed McCaleb
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 27, 2011, 03:44:53 PM |
|
So I've been thinking... bitcoin mining seems like such an unfortunate side effect of the system since it is so wasteful. It will be a bit obscene how much will be spent mining if the network ever gets large. It would be cool to come up with a bitcoin that doesn't need miners.
There are several issues but I’ll ignore how coins are distributed and focus on the central problem of creating some way to trust the central ledger*. Currently this is what mining solves. The network trusts the ledger with the most mining done on it. So now to trust bitcoin you have to trust that >50% of the current mining power is "good". And actually the way the network has evolved with pools we are actually trusting that every large pool operator is “good” since even if the pool isn’t over 50% the operator could have non-pool mining going on bringing the total over 50% or two pools could collude to defraud the network etc. Also if say some government decides to wreck the network it wouldn’t be that expensive for them to do so. (This is all discussed in other threads so no need to go into this here) My point is that although the current network uses mining as a way to solve the trust issue it really doesn’t since you still must trust the large pool operators.
My idea is to make this issue of trust explicit.
Let’s say a node has a public key that the client generates for them. There is no connection between this key and a wallet key. It just allows you to be sure you are talking to the node you think you are.
So when you run a node you choose which other nodes you trust. So you could say “I trust my 3 friends’ nodes, Gavin’s node, and these 5 businesses’ nodes.” This trust just means that you believe these people will never participate in a double spend attack or otherwise manipulate the ledger. The ledger would basically be like the current bitcoin block chain but it would also have a list of what nodes believe the current ledger to be valid. <hash of current ledger signed by node’s public key> (This list doesn’t have to be complete. Nodes can just collect this list as needed. They could even just ask the nodes they trust if they think the current ledger is valid since those are the only ones they care about)
Transactions are still sent to all nodes connected to the network. There would be a network wide timestamp. Transactions would only be accepted if they were within a certain time period of the network timestamp. So you would need to wait maybe 10min before you could fully trust a given transaction. After this waiting period you could be sure those coins weren’t double spent.
If a node ever encounters two conflicting ledgers it would just go with the one that was validated by more nodes that it trusts.
So there should always be a consensus among the trusted members of the network.
There would be a way to look up particular nodes in the network and ask them questions. (I’m imagining this whole thing running on Kademlia, a DHT)
So obviously this is still vague because I haven't had time to work out all the details. I’m hoping someone else will be inspired.
ok rip into it!
*(I guess you could try to come up a way to get rid of the central ledger but I have a feeling that might not be possible)
|
|
|
|
BitterTea
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 27, 2011, 03:58:43 PM |
|
One thing to keep in mind, I think, is that mining is in its infancy. The majority of network computing power comes from giant power sucking video cards, because that's what happens to be useful and on hand. ArtForz's ASICs are (IIRC) 6x more power efficient than 5970s, and that's just the work of one man.
Additionally, in the future miners might be mining against any number of block chains simultaneously, distributing the energy and monetary cost of mining across multiple systems, Bitcoin being just one of them.
I'm not saying there's no place for a trust network, either in place of mining or in addition to it (maybe "I trust these nodes would never engage in an attack on the network"), but I think it's important to keep in mind that the future will most likely look nothing like the present.
|
|
|
|
MoonShadow
Legendary
Offline
Activity: 1708
Merit: 1010
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 27, 2011, 04:02:11 PM |
|
So I've been thinking... bitcoin mining seems like such an unfortunate side effect of the system since it is so wasteful. )
I stopped reading right here. Bitcoin is not wasteful, even now. It's several orders of magnitude more energy efficient than the fiat currency systems in use around the world.
|
"The powers of financial capitalism had another far-reaching aim, nothing less than to create a world system of financial control in private hands able to dominate the political system of each country and the economy of the world as a whole. This system was to be controlled in a feudalist fashion by the central banks of the world acting in concert, by secret agreements arrived at in frequent meetings and conferences. The apex of the systems was to be the Bank for International Settlements in Basel, Switzerland, a private bank owned and controlled by the world's central banks which were themselves private corporations. Each central bank...sought to dominate its government by its ability to control Treasury loans, to manipulate foreign exchanges, to influence the level of economic activity in the country, and to influence cooperative politicians by subsequent economic rewards in the business world."
- Carroll Quigley, CFR member, mentor to Bill Clinton, from 'Tragedy And Hope'
|
|
|
jed (OP)
Full Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 182
Merit: 107
Jed McCaleb
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 27, 2011, 04:06:25 PM Last edit: May 27, 2011, 04:21:24 PM by jed |
|
I'm not saying there's no place for a trust network, either in place of mining or in addition to it (maybe "I trust these nodes would never engage in an attack on the network"), but I think it's important to keep in mind that the future will most likely look nothing like the present. I would argue that it will be even more consolidated. There will just be a few large mining operations and some big pools. This makes the issue of trust even worse. Bitcoin is not wasteful, even now. It's several orders of magnitude more energy efficient than the fiat currency systems in use around the world. Just because it is less wasteful than another wasteful thing doesn't make it not wasteful. You are basically saying: "The model-T is much faster than the horse. There can't be anything faster!"
|
|
|
|
jed (OP)
Full Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 182
Merit: 107
Jed McCaleb
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 27, 2011, 04:07:55 PM |
|
BitterTea: It also doesn't mater how energy efficient the card is. They will just use more cards to mine then.
|
|
|
|
goatpig
Legendary
Offline
Activity: 3724
Merit: 1360
Armory Developer
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 27, 2011, 04:12:22 PM |
|
P2P can't work with a simple one node one vote system. Anyone can swarm the network with corrupt nodes that will trust each other. This is like comparing pragmatism with truth. The fact that a lot of people pretend something is true doesn't make it true. Keep in mind that it is much cheaper to set up a node than to provide hashing power.
The second problem and one of the main advantages of the block chain that you are missing, is that proof of work secures the earlier work as the chain expands. You are only focusing on the concept of validating transactions while avoiding double spending. In your system, I can attack the block chain by corrupting earlier parts of it, this isn't possible with the proof of work system that we use, because the cumulation of that work makes deeper blocks exponentially harder to attack.
|
|
|
|
BitterTea
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 27, 2011, 04:14:29 PM |
|
I would argue that it will be even more consolidated. There will just be a few large mining operations and some big pools. This makes the issue of trust even worse. That's conjecture. Maybe in the future every person has a solar powered Bitcoin Box with a hardware encrypted key storage mechanism and an energy efficient ASIC doing hashes. We'll only know when that time comes. Also, as creighto has mentioned many times, merchants will have a stake in securing the network as well. BitterTea: It also doesn't mater how energy efficient the card is. They will just use more cards to mine then.
The amount of economical mining activity is a function of the generation subsidy size, purchasing power of a bitcoin, and energy costs. Anyway, security against double spending isn't the only function of mining, it also serves to distribute the currency initially. Unless you have another method to do so, mining is still a reality until all 21 million coins are distributed.
|
|
|
|
jed (OP)
Full Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 182
Merit: 107
Jed McCaleb
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 27, 2011, 04:25:28 PM |
|
goatpig: This isn't one node one vote. You only trust the nodes you trust. If someone sets up a million nodes that all trust each other you don't really care.
You can't change the ledger in any illegitimate way without the current pool of trusted nodes noticing and rejecting your change.
|
|
|
|
Raulo
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 27, 2011, 04:31:44 PM |
|
I stopped reading right here. Bitcoin is not wasteful, even now. It's several orders of magnitude more energy efficient than the fiat currency systems in use around the world.
I would like to see numbers that prove it. The current network consumes 2MW of power constantly assuming (on average) 2MH/s/W. It's about 2 million USD per year. Of course that's not much compared to the money used for fiat money flow but for a 45 million USD money supply it's a lot. And then you have a few million of USD in equipment that based on Moore law will be worth a fraction of the current value in 12-18 months. When you add human work (building and maintaining miners), you have a lot of cost for the amount of money supply that is handled by a small bank. At the very best, Bitcoin is as efficient as the fiat currency system dollar per dollar and likely less efficient. P.S I know about the cost of bailouts but Bitcoin is yet to start handling loans. And it were loans not money transfers and money flow that needed a bailout.
|
1HAoJag4C3XtAmQJAhE9FTAAJWFcrvpdLM
|
|
|
goatpig
Legendary
Offline
Activity: 3724
Merit: 1360
Armory Developer
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 27, 2011, 04:54:40 PM |
|
goatpig: This isn't one node one vote.
Sure it is. Your web of trust system only establishes a list of whose vote you are acknowledging in your decision of which actions on the block chain is valid or not. You still need a system to define which votes are bogus within the web of trust, unless you start from the premise that it can't be corrupted to begin with, which boils down to 2 possibilities: 1) The web of trust is closed to the public. Entry is only made possible upon vouching, decisions are all considered correct, which all boils down to handing control over the most trusted node in the system, or a group of them that will never dissent. As such, you have lost decentralization, and your network is thin, and xenophobic. Not good for business. 2) You are delusional. If you assume your web of trust can be corrupted, then you need a mechanism to detect corrupt votes. In your outlined system, I discern 2 ways to do so: 1) 1 vote, 1 node. Vulnerable to swarms 2) votes are weighted by trust of the emitter. Inviting representative democracy into the system, worst case scenario would be complete centralization of the system, as the trustee group can reject actions from anyone at a whim. You only trust the nodes you trust. If someone sets up a million nodes that all trust each other you don't really care. Doesn't work like this. If that gigantic group's action affects the value of the same commodity by being part of the network, your wealth is effectively in the palm of their hands. There can't be several trust groups within the same network because they both affect the face value of your commodity. If entry in the network is submitted to the rules of the trust group, same problems as above apply. You can't change the ledger in any illegitimate way without the current pool of trusted nodes noticing and rejecting your change. Effectively centralizing the decision making once again. The same trustee group that watches over block chain corruption can corrupt it to its benefit. Also your system lacks a mechanism to discern which chain is the valid chain. Lacking such feature, a swarm can support a fake chain and screw over anytime.
|
|
|
|
jed (OP)
Full Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 182
Merit: 107
Jed McCaleb
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 27, 2011, 05:18:24 PM |
|
goatpig: I think you aren't exactly understanding the proposal. You have a list of nodes that you trust. These guys are the only ones who's vote you listen to. The idea is that if there are enough people you trust online it can't be compromised. A good amount of nodes you trust will be online at any given time. So they will see first hand if transactions should be added to the ledger or not. You are not relying on who they are trusting in turn if that is what your issue is. You still need a system to define which votes are bogus within the web of trust People publish their node's public key you can add it to your client if you want. There are enough people even on this forum I would add. Keep in mind that you don't really have to trust them. You just have to trust that >50% of them wont be working together for some nefarious purpose. Doesn't work like this. If that gigantic group's action affects the value of the same commodity by being part of the network, your wealth is effectively in the palm of their hands. There can't be several trust groups within the same network because they both affect the face value of your commodity. If entry in the network is submitted to the rules of the trust group, same problems as above apply. This scenario wouldn't be two competing ledgers it would be a ledger that is trusted by 99% of the legit nodes and a ledger held by a million fake nodes that no one trusts. You aren't the only one that wouldn't believe their BS ledger. No one legit would. So they aren't really a "part of the network." It is the same thing going on right now with bitcoin we are all implicitly saying we trust deepbit, artforz etc. In the new system you would just add them to the your list of trusted nodes if you wanted. If you still don't see how it would work could you please describe a specific attack that would compromise it? BitterTea: Anyway, security against double spending isn't the only function of mining, it also serves to distribute the currency initially. Unless you have another method to do so, mining is still a reality until all 21 million coins are distributed. Yeah I have a method but I want to make sure there are no holes in this first.
|
|
|
|
Mike Hearn
Legendary
Offline
Activity: 1526
Merit: 1129
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 27, 2011, 05:45:36 PM |
|
It sounds somewhat like Ripple.
Satoshis original design goal was a system with no trust at all .... you just had to have confidence that "honest nodes" control most of the hash power, but beyond that you don't have to do any setup or trust anyone in particular.
Your proposed system is quite different, and relies heavily on trust networks. It would be quite hard for somebody who just found out about it via reading Forbes or whatever to get involved because they wouldn't be likely to know anyone who they could configure their software to trust.
I'm not saying it's a bad design, just that it has very different tradeoffs to Bitcoin.
|
|
|
|
0x6763
Newbie
Offline
Activity: 24
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 27, 2011, 05:54:53 PM |
|
What is and is not considered waste is in the eye of the beholder.
|
|
|
|
jed (OP)
Full Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 182
Merit: 107
Jed McCaleb
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 27, 2011, 05:55:33 PM |
|
Mike Hearn: A new person could run the client fine. You don't have to enter in anyone that you trust to use it. You only need trust to resolve issues when there are two competing ledgers. And that should be a very rare event. Satoshis original design goal was a system with no trust at all Yeah I know but that isn't actually how it turned out. Like I mention above we actually are trusting the big miners and also trusting that some government or corporation doesn't stick in X million of hashing power and compromise the network. I feel like this system is actually more secure. I actually don't think it has different trade offs. Is there some other advantage to the current bitcoin that I'm missing?
|
|
|
|
Mike Hearn
Legendary
Offline
Activity: 1526
Merit: 1129
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 27, 2011, 06:03:04 PM |
|
If I don't have to choose who I trust then how do I know what I see on the screen reflects the same reality other people see? In particular, if I want to become a merchant, how do I stop somebody from connecting to my node and feeding it fictional transactions that show me being a millionaire?
Currently I don't really have to trust any miners. According to the bitcoinwatch site, no pool has even 40% right now, and in the long run I expect mega-pools to be even less common. If somebody were to reverse a transaction everyone would see it and then I might re-evaluate, but currently I can connect any random node, download the chain and be absolutely sure I'm on the same page as everyone else.
|
|
|
|
kjj
Legendary
Offline
Activity: 1302
Merit: 1026
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 27, 2011, 06:17:37 PM |
|
You would need not just 50% of the world's hashing power, but closer to 95%+ of it if you wanted to pull off any meaningful BTC scam. That means you would need twenty times more hashing power than the rest of the world combined.
|
17Np17BSrpnHCZ2pgtiMNnhjnsWJ2TMqq8 I routinely ignore posters with paid advertising in their sigs. You should too.
|
|
|
jed (OP)
Full Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 182
Merit: 107
Jed McCaleb
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 27, 2011, 07:01:13 PM |
|
Mike Hearn: If I don't have to choose who I trust then how do I know what I see on the screen reflects the same reality other people see? In particular, if I want to become a merchant, how do I stop somebody from connecting to my node and feeding it fictional transactions that show me being a millionaire? If you want to become a merchant yes you should enter in some nodes that you trust. If you are just a random person checking out the software then there is some bootstrapping process (like there is for bitcoin) that gets you connected to the network. At that point everyone you connect to will tell you the hash of the current ledger. If you notice a discrepancy then yes you will have to jump through some hoops. Come to the forum and ask for a list of trusted nodes or something. But again this level of trust is very low. You could pick 100 random forum users and be fine. Currently I don't really have to trust any miners. According to the bitcoinwatch site, no pool has even 40% right now, and in the long run I expect mega-pools to be even less common. You don't have to trust a particular miner but you do have to trust that artforz and deepbit aren't conspiring. Which is analogous to having to trust that more than 50 of the random forum users you picked to trust aren't working together. kjj: You would need not just 50% of the world's hashing power, but closer to 95%+ of it if you wanted to pull off any meaningful BTC scam. I don't think so. You can steal the vast majority of blocks from then on by storing up blocks you generate and release them only when someone else also solves one. Not sure if you consider that meaningful or not. (There was some long ago thread about this that I can't find now) You could double spend by getting one block ahead of the good network and then just stay ahead until you are ready to drop your one block longer chain.
|
|
|
|
imanikin
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 27, 2011, 07:14:58 PM |
|
I would argue that it will be even more consolidated. There will just be a few large mining operations and some big pools. This makes the issue of trust even worse.
Just because it is less wasteful than another wasteful thing doesn't make it not wasteful. You are basically saying: "The model-T is much faster than the horse. There can't be anything faster!"
+1 & MajorRespect x 10^~ to jed for reviving this topic! No matter how power efficient the ArtForz farms will be, they will continue to create more and more environmental pollution simply to do complex busywork. Worse than that: they will continue to centralize the control and wealth in the fairytale world of "decentralized Bitcoin" around the biggest concentrations of greed, just as the current banking systems do... I also for once agree with BitterTea that "...the future will most likely look nothing like the present." If something like what jed is proposing is unworkable, i think the future is with a block chain or whatever chain that comes with an API into which any entity can throw its large computational problems. In addition to the relatively trivial tasks of "processing financial transactions" and creating the money supply, such a system might reward the p2p nodes at a variable, difficulty-based rate for solving the milestones of the computational problems constantly being fed into the API from any entity that needs the computing power. It might be kind of like Folding@Home for profit, and not just focused on a single problem. It would be a complex system, but so is the modern monetary system, or a modern computer compared to an abacus, or an ArtForz farm of optimized abacuses that we have now... ![Cheesy](https://bitcointalk.org/Smileys/default/cheesy.gif) At least such a mining system would work on useful problems, rather than just harnessing greed to create a controversial, pseudo-decentralized monetary system, along with so much heat and electrical power plant emissions... ![Grin](https://bitcointalk.org/Smileys/default/grin.gif) So Big-Up-Yo-Self to jed and to all who wish to fundamentally improve on the wastefulness of the Bitcoin system! ![Cheesy](https://bitcointalk.org/Smileys/default/cheesy.gif)
|
|
|
|
BitterTea
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 27, 2011, 07:53:53 PM |
|
So Big-Up-Yo-Self to jed and to all who wish to fundamentally improve on the wastefulness of the Bitcoin system! It is not wasteful, it is maybe less efficient than other solutions. Do you consider gold or diamond mining (above that necessary for industrial use) wasteful?
|
|
|
|
imanikin
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
May 27, 2011, 08:23:52 PM |
|
It is not wasteful, it is maybe less efficient than other solutions.
Do you consider gold or diamond mining (above that necessary for industrial use) wasteful?
No thanks, Dude! ![Grin](https://bitcointalk.org/Smileys/default/grin.gif) I am not going to load up an important thread like this with the noise of debating Madison-Avenue euphemisms, just so i can become a "Hero Member" with Superglobalistic Moderator on top... ![Cheesy](https://bitcointalk.org/Smileys/default/cheesy.gif) We all know what and which way the GPU fan winds are blowing... ![Wink](https://bitcointalk.org/Smileys/default/wink.gif)
|
|
|
|
|