Can't we easily solve this problem by convincing all honest nodes to reject 1tx blocks?
If this happens, the MM has to include at least one other tx to make any BTC at all. This will force him to engineer some sort of solution to verifying transactions (supposedly he isn't verifying now due to the cost of managing the blockchain). Either he will give up or he'll start including transactions.
thoughts?
What happens when no one sends a transaction, and there are none to include? Why couldn't the miner include 1 or 2 txns of his own in each block to pad it out to the required minimum? TL;DR, NO. Won't work. If you're going this route, as a node, you could look at the number of transactions (maybe add up their fees) you have collected yourself from the network and require a certain percentage of that to be included in order for a given block to be accepted by you, say 20% for example. So if you have accumulated 20 transactions, a block would have to include at least 4 of these in order for you to accept it. This would guarantee the block to contain at least some fresh transactions. I'm pretty sure this would have all kinds of implications and probably something prohibitive. It would certainly increase danger of chain-split.
|
|
|
... as it's that someone just discovered a massive breakthrough in software/hardware hashing and/or decided to invest massively in it.
I would like that a lot! Very interesting idea to dream about, 1 GH/s on a normal CPU. That dream only works if you're the only one, which apparently you are not. Doesn't matter how many PetaHashes we churn out on a CPU, the difficulty just eats the zeros.
|
|
|
If it's a botnet, perhaps it could be using an unknown SETI@Home/BOINC exploit or trojan?
Very clever. maybe someone @AMD managed to sneak in some clever firmware that can talk to an ethernet controller
|
|
|
Moreover, the idea that people would add hashing capacity in the face of a near monopolist is absurd. The opposite would almost certainly occur.
explain deepbits 42% in that light.
|
|
|
JP Morgan and Goldman Sachs probably wouldn't be very good at running a network that actually requires honest hardworking engineers. Lawyers and scam artists wouldn't be very good at defending against DoS attacks.
true, they would probably end up selling themselves short using customer funds.
|
|
|
And , the deflation/inflation is not happening everywhere at the same time to everybody, especially with today's production model, some of enterprises can sit on tons of cash while others might be suffering long unemployment, commodities can have fast price rise while IT products keeps drop in price
So the current "one size fit all" monetary policy (e.g. either easing or tightening from top to bottom), when it solve problem in one part of the system, it will create problem in another part of the system. If the new money flow can directly injected into certain area which needed money most, then the whole situation can be controlled with much more flexibility and efficiency, and the regain of confidence is much quicker
For example, instead of inject money to buying underwater mortgage assets and save banks, put the money to jobless insurance program and ensure all the jobless people will have at least 10 years of jobless insurance, then the total consumption power of the nation will not change by too much, thus the economy will be easier to back on track
Someone might argue that these money will just be consumed and not generate any profit but that is a misconception, these money will surely generate profit for many enterprises which sold their products to those jobless people. It does not matter HOW money enter the system, but it does matter WHERE it enter the system
You make a very good point! This is precisely why an aggregated view of the economy (like looking at GDP) says nothing (or at least not much) about the health of that economy. The GDP might grow, but what's growing might be all the wrong stuff (crassest example: the GDP growth coming from running a war, which is not producing wealth, but destroying it). I think this is a huge chunk of what's wrong with current monetary policies around the world. The policy-makers are actually blind as to the state of the economy they are trying to regulate. They're blindly pumping money into the economy (trusting some greed-driven criminal private investment bankers to decide where to put it) and then pointing to a 1% increase in GDP, saying: "everything on track, no need to worry, choose our party again next election". The economy itself sees its price-finding mechanisms totally distorted by the cheap money injections all over the place and doesn't function properly and as a result misallocates resources. The humongeous capital misallocations this produces will have to be cleaned out at some point. The longer it takes, the more hurtful this will be. A deflation will probably do the job just fine. After that it's probably hyperinflation, then new sound money (currency competition, bitcoin ftw!). Ergo my investment advice: during the possibly coming deflation, when you need cash, don't sell all your bitcoins.
|
|
|
"trust noone" is bullshit. grow some balls, trust some people and take risks. otherwise we're getting nowhere: everyone just sitting on his rotten pile. money must flow, otherwise it's not money.
An economy is people working together, having ideas, producing stuff, investing their money. How is that supposed to work if noone trusts anyone?
|
|
|
Second week paid. Thanks.
Thanks.
|
|
|
The above code doesn't work. Don't bother trying it out. break'ing isn't enough, we need to raise an exception to exit the thread. I've written something else that I have yet to test. I will report back how it went when I have tested it.
Thanks so much for your analysis and help so far, runeks. I think you are correct in saying we need to "decommission" those 2 threads on disconnect. I'm currently trying EDIT: looks good so far, seeing some "error: [Errno 32] Broken pipe" and it reconnects EDIT2: great, more "broken pipes", but still running (exeptionally long). So I figure with the help of runeks, I got the threading issues fixed. EDIT3: here's socketio.py snapshot of the current version: http://pastebin.com/b5CmTy8a, git is here (might change in the future): https://github.com/molecular/traidor/blob/master/socketio.py
|
|
|
in case of a monetary reform and/or a war and/or a new government real estate isn't the "best" of the options since you cannot move it, hide it... but it WILL BE TAXED!
oh how true. and in any of the precondition cases, the govt. needs lots of money, so the TAX WILL BE HIGH! EDIT: gee, I'm in a babbly mood today.
|
|
|
some of these questions and the scenarios derived from the answerse indeed supercede any and all technical analyses.
while these are all well considered and interesting to read, the private investor (such as myself) should look far beyond what any trader (also: such as myself) would consider in making decisions.
if it all goes "to shit" then you're far better off with austrian harmonics and maples as well as some 5g gold bars than with some piece of paper you boght or sold for immediate profit.
there are in fact (at least) TWO DIFFERENT ways and motivations to invest in Gold and Silver. OP is in one camp. I am in the other. Both investors have completely different motivations. Holding PMs physically is a completely different ballgame (considerung the premiums alone).
Disclosure: I own physical gold and silver. I am constantly replenishing and adding to my portfolio. I will continue to buy because I do not trust paper money and I do not trust paper receipts. I do also invest in stocks and bonds, but only short- and midterm.
I also do not trust anyone anymore, so, btc, PMs, cash and real estate are my preferred choices, I currently do not own only real estate it is the only thing of the above that has no allodial title to it http://en.wikipedia.org/wiki/Allodial_titlebut problem is that cash and PMs look too grim, and I "have to" exit the stock market soon cant put it all into btc why not? that might turn out to be the deal of your life.
|
|
|
Problem with Silver is people have no clue that its actual real money.
this statement is problematic, because it only is really money if enough people think so and/or use it as such. Silver has really been money and it might really be again, but quite frankly, while you can buy stuff with silver in many places, I would say it currently really isn't.
|
|
|
Most people do not know about or understand the futures manipulations in silver. If they did there would be a lot more buying of physical silver.
A lot of people understand, but these have already bought and are waiting for even lower prices to keep stacking. Thing is: The group of people that understand does not have much influx, so most members are in waiting mode hoping for a big smack-down.
|
|
|
Next step could be asking mtgox if they're receiving BTC from the blocks mined by MM...
spiccioli
Is that really a road we want to go down? I don't think so. And anyway: from a bitcoin perspective there are no "laws" against using a botnet to mine, are there? Neither are there any "laws" against tx-free blocks. The "laws" of bitcoin (bitcoin in terms of the blockchain) are the rules governing the blockchain implemented in the majority of the mining nodes. If anyone wants to go after the botnet operator/owner through legal system, they are free to do so, but don't count on mtgox disclosing info without a court requiring them to do so. molecular, I know he is not "breaking" bitcoin laws, but Eligius destroyed an alt chain just mining empty blocks. If MM keeps growing and he is not cashing coins than he is here to destroy bitcoin (I don't think he is hoarding for his retirement). If he is cashing then, maybe, he will stop growing at a certain point. I think MtGox, without telling us who he is, could at least tell us if those coins are cashed out or not. spiccioli. If this attack works (in the sense that it really is one and we fail to stop it) I want it to work now, not in 5 years when the harm is probably much more substantial (I mean harm to society, not harm to bitcoin itself) We better make bitcoin as solid as possible before we really depend on it. People like Luke-Jr and ArtForz attacking alt-chains is part of this hardening-process.
|
|
|
It's seems to me like a case of counterfeiting (even if it's not, actually). The point being that someone is already "printing" a large part of the monetary supply at almost no cost for him compared to legit miners.
"No Cost"?!? I think you're underestimating the cost of coding, acquiring, maintaining and "using up" a botnet. Botnets don't grow on trees.
|
|
|
you really want mtgox to tell publicly about their customers and to act like a bitcoin police? for me this would be a reason to leave bitcoin completely.
the major exchange doing stuff I don't like would not be a reason for me to abandon bitcoin at all. It might be a reason to abandon that exchange. I wouldn't even abandon bitcoin if there where no exchanges left. but i dont have a big problem with this miner anyway... its just interesting
Me neither, at least not yet. Let's see if the incentive structures of bitcoin work out. I doubt this miner is acting in ignorance to the fact that he might be hurting himself badly when mining well >50%. After all, pulling this off took quite a few resources (whatever these are). Criminal or not: Big fish ain't stupid.
|
|
|
Next step could be asking mtgox if they're receiving BTC from the blocks mined by MM...
spiccioli
Is that really a road we want to go down? BadBear, 90K USD/week can be sold on mtgox only, every other exchange can not handle such a high volume, so either we are concerned and we want to find out who he is or we can close this thread right now. spiccioli Why close the thread? We can still speculate and "play police".
|
|
|
Next step could be asking mtgox if they're receiving BTC from the blocks mined by MM...
spiccioli
Is that really a road we want to go down? I don't think so. And anyway: from a bitcoin perspective there are no "laws" against using a botnet to mine, are there? Neither are there any "laws" against tx-free blocks. The "laws" of bitcoin (bitcoin in terms of the blockchain) are the rules governing the blockchain implemented in the majority of the mining nodes. If anyone wants to go after the botnet operator/owner through legal system, they are free to do so, but don't count on mtgox disclosing info without a court requiring them to do so.
|
|
|
I'm still experiencing these errors with websocket_client unfortunately 08:06:59 4.81192 1.0 (4.81) 08:07:15 4.81174 0.55301041 (4.81) 08:07:25 4.81925 0.0616 (4.81) 08:07:26 4.81925 0.48723349 (4.81) 08:08:58 4.81174 16.57171689 (4.81) trade['price_currency'] != "USD" 08:08:58 4.81146 16.0 (4.81) 08:10:26 4.8 10.0 (4.81) 08:11:01 4.7999 3.0 (4.81) 08:11:25 4.79992 0.54994211 (4.81) trade['price_currency'] != "USD" 08:11:25 4.79992 5.0 (4.81) 08:11:30 4.78 0.27 (4.81) 08:11:30 4.78 2.0 (4.81) Exception in thread Thread-1: Traceback (most recent call last): File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner self.run() File "/usr/lib/python2.7/threading.py", line 505, in run self.__target(*self.__args, **self.__kwargs) File "/home/rune/Programming/scripts/bitcoin/mtgox_io.py", line 78, in thread_func msg = S.ws.recv() File "/home/rune/Programming/scripts/bitcoin/websocket_client.py", line 349, in recv b = self._recv(1) File "/home/rune/Programming/scripts/bitcoin/websocket_client.py", line 413, in _recv raise ConnectionClosedException() ConnectionClosedException
error sending keepalive socket.io, trying reconnect 08:13:00 4.7998 3.0 (4.81) Exception in thread Thread-3: Traceback (most recent call last): File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner self.run() File "/usr/lib/python2.7/threading.py", line 505, in run self.__target(*self.__args, **self.__kwargs) File "/home/rune/Programming/scripts/bitcoin/mtgox_io.py", line 78, in thread_func msg = S.ws.recv() File "/home/rune/Programming/scripts/bitcoin/websocket_client.py", line 349, in recv b = self._recv(1) File "/home/rune/Programming/scripts/bitcoin/websocket_client.py", line 413, in _recv raise ConnectionClosedException() ConnectionClosedException
error sending keepalive socket.io, trying reconnect trade['price_currency'] != "USD" 08:14:27 4.7999 2.0 (4.81) 08:15:52 4.7998 3.0 (4.81) 08:16:06 4.8 30.0 (4.80) 08:17:13 4.7998 4.0 (4.80) 08:19:12 4.79906 0.03358625 (4.80) trade['price_currency'] != "USD" 08:20:01 4.79001 1.48066947 (4.80) 08:20:37 4.79899 0.03190743 (4.80) 08:21:07 4.79894 1.22928907 (4.80) 08:21:38 4.79895 3.0 (4.80) 08:22:37 4.79895 2.80261836 (4.80) Exception in thread Thread-5: Traceback (most recent call last): File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner self.run() File "/usr/lib/python2.7/threading.py", line 505, in run self.__target(*self.__args, **self.__kwargs) File "/home/rune/Programming/scripts/bitcoin/mtgox_io.py", line 78, in thread_func msg = S.ws.recv() File "/home/rune/Programming/scripts/bitcoin/websocket_client.py", line 349, in recv b = self._recv(1) File "/home/rune/Programming/scripts/bitcoin/websocket_client.py", line 413, in _recv raise ConnectionClosedException() ConnectionClosedException
error sending keepalive socket.io, trying reconnect error sending keepalive socket.io, trying reconnect Exception in thread Thread-8: Traceback (most recent call last): File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner self.run() File "/usr/lib/python2.7/threading.py", line 505, in run self.__target(*self.__args, **self.__kwargs) File "/home/rune/Programming/scripts/bitcoin/mtgox_io.py", line 78, in thread_func msg = S.ws.recv() File "/home/rune/Programming/scripts/bitcoin/websocket_client.py", line 349, in recv b = self._recv(1) File "/home/rune/Programming/scripts/bitcoin/websocket_client.py", line 411, in _recv bytes = self.io_sock.recv(bufsize) File "/home/rune/Programming/scripts/bitcoin/websocket_client.py", line 161, in recv return self.ssl.read(bufsize) SSLError: [Errno 1] _ssl.c:1350: error:1408F096:SSL routines:SSL3_GET_RECORD:encrypted length too long
Exception in thread Thread-7: Traceback (most recent call last): File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner self.run() File "/usr/lib/python2.7/threading.py", line 505, in run self.__target(*self.__args, **self.__kwargs) File "/home/rune/Programming/scripts/bitcoin/mtgox_io.py", line 78, in thread_func msg = S.ws.recv() File "/home/rune/Programming/scripts/bitcoin/websocket_client.py", line 349, in recv b = self._recv(1) File "/home/rune/Programming/scripts/bitcoin/websocket_client.py", line 411, in _recv bytes = self.io_sock.recv(bufsize) File "/home/rune/Programming/scripts/bitcoin/websocket_client.py", line 161, in recv return self.ssl.read(bufsize) SSLError: [Errno 1] _ssl.c:1350: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
error sending keepalive socket.io, trying reconnect 08:24:08 4.79001 3.8303 (4.80)
First, a ConnectionClosedException exception is caught at the line "msg = S.ws.recv()" in thread_func. I assume this is because this call just hangs until either an error occurs or a message is received. Then the keepalive_func thread will detect it when trying to send a message, and it will try to reconnect. This succeeds (seemingly), but lasts little time before the connection is lost again, and the process starts over (as you can see from the log). At some point, the errors go from the ConnectionClosedException exception to SSL exceptions like "error:1408F096:SSL routines:SSL3_GET_RECORD:encrypted length too long", but these SSL errors seem to vary a lot. I would guess that the SSL Python module expects the wrong data, but Mt. Gox' server sends the right data, though I'm not sure about that. I'm experiencing this, too I also see problems with threads. I don't know if my thread creation/burial works corretly. When the thread_func() exits that thread should be dead and recycled or whatever, right? Or do I need to still join it? I tried to make reconnect more robust (at some point I get some "cannot create thread" exception and program exit), but so far failed. I don't know wether the ConnectionClosed and "SLL" errors are client side fault. Any insight welcome!It also looks like I'm receiving corrupted/incorrect data on the socket sometimes: 08:54:02 4.79 10.0 (*10.0) 08:54:08 4.79 9.9243215 (*19.9) 08:54:11 4.78991 96.0 (4.79) 08:54:12 4.78941 27.0 (4.79) 08:54:12 3.09251 17.0 (4.50) 08:54:12 4.78902 17.0 (4.50) 08:55:16 3.09251 16.65379914 (4.22) 08:55:16 4.78902 16.65379914 (4.22) 08:55:16 4.78272 1.086e-05 (4.22)
That's two trades at $3.09251/BTC happening in between trades at $4.78902/BTC... That shouldn't be possible. So, not sure what to do about this... seems something isn't right somewhere (duh!). You might be looking at differenct currencies? 3.09 could be EUR or GBP or something? I havent's seen weird stuff in the trade channel for a long time myself (filtering for USD). My depth stuff is still not syncing correctly and my depth table just gets cluttered with obviously old entries that are not removed after a while. I'm not sure wether this is due to websocket implementation or maybe I'm doing something wrong. Again, any insight? Please post.
|
|
|
I like this thread, has it all: nuclear physics, market analysis, geopolitics,... so how to build a rocket?
|
|
|
|