Pages:
Author

Topic: [ANN] BitEN - bitcoin erlang node - page 3. (Read 6877 times)

full member
Activity: 196
Merit: 116
Entrepreneur, coder, hacker, pundit, humanist.
March 27, 2013, 11:12:06 PM
#49
Writing clients that are capable of relaying tons of verified messages and helping the network is great.  But this doesnt actually do that.  Making a few outbound connections and listening for tons of inbound connections is hugely useful for the network, the opposite is just a DoS.

You're the CI/jenkins tester for bitcoind, right? Thanks for that, it's a very important contribution.

I am surprised you would discourage code contributions in other languages when the current network is so dangerously mono-culture and susceptible to major problems because of bugs. It seems to me that bitcoind does a fine job DoS-ing itself every now and then, and that fact that there are no alternative clients may have something to do with it.

Insular attitudes make insular code which makes fragile and brittle code.


hero member
Activity: 755
Merit: 515
March 27, 2013, 10:27:56 PM
#48
Writing clients that are capable of relaying tons of verified messages and helping the network is great.  But this doesnt actually do that.  Making a few outbound connections and listening for tons of inbound connections is hugely useful for the network, the opposite is just a DoS.
Dont be confused, add some basic anti-DoS verification and change one or two constants to limit the maximum outbound connection count and this would be a really awesome project, as-is, however....
full member
Activity: 196
Merit: 116
Entrepreneur, coder, hacker, pundit, humanist.
March 27, 2013, 10:21:01 PM
#47
So...this is some kind of way to try to DoS bitcoin?
It connects to tons of nodes, eating listening sockets on them all, without listening to add more to the pool.
Does it relay things? It would appear that it relays unchecked objects, so anyone can use a node of this to amplify its bandwidth when attacking the network.

It should be run on testnet, ok. But DoS? Come on!

This is working bitcoin code in a language that scales massively and you're looking the gift horse in the mouth.

If someone wants to DoS bitcoin, there are far easier ways to do it, all of which won't succeed or do much for long. None that involve this much coding effort.

hero member
Activity: 755
Merit: 515
March 27, 2013, 09:35:06 PM
#46
So...this is some kind of way to try to DoS bitcoin?
It connects to tons of nodes, eating listening sockets on them all, without listening to add more to the pool.
Does it relay things? It would appear that it relays unchecked objects, so anyone can use a node of this to amplify its bandwidth when attacking the network.
legendary
Activity: 4690
Merit: 1276
March 27, 2013, 08:11:32 PM
#45
Interested.  Sorry for the spam, but I would rather have thread updates as replied vs. watchlist.
jr. member
Activity: 42
Merit: 11
March 27, 2013, 07:30:02 PM
#44
Start time..2013.03.27 22:50:33 UTC
Cur time....2013.03.27 23:29:55 UTC
Connects:...3281
Connected:..1199
Accepted:...24
Answers:....1197
Cur peers...1001
Relayed TX:.204155
Mempool:
 inv table..49
 req table..20
 tx table...571
 peer table.49
 check inv..0.0003 s
 clean inv..0.0002 s
 clean req..0.0001 s
 clean tx...0.0005 s
Errors:
 timeout:...1612
 refused:...289
 unreach:...167
 other:.....5

No signs of lags, etc. This is on my low-end VPS with 256 MB RAM without swap.
jr. member
Activity: 42
Merit: 11
March 27, 2013, 07:01:53 PM
#43
I think I fixed it.
Please test. Pull latest version, recompile, then:
Code:
git clone git://github.com/vinoski/erlsha2.git
cd erlsha2
rebar compile
cd /path/to/biten
erl -pa ebin -pa /path/to/erlsha2/ebin
application:start(sasl).
application:start(biten).
Later I'll add copy of erlsha2 library to my repository.
full member
Activity: 196
Merit: 116
Entrepreneur, coder, hacker, pundit, humanist.
March 27, 2013, 05:51:57 PM
#42
Do not think he will be impressed - it's my first "real" OTP project. I hope it will be able to run more than 24h without problems - right now after 2-3 hours it terminates.

He is impressed when people know about and try to use erlangOTP. Heck, I'm impressed too.

Working code. That's all that matters. The rest is only a matter of time. Thank goodness Linus didn't say: It's only a floppy driver a screen driver and a kernel that keeps crashin, I'd better not show it to anyone until it's "ready". I downloaded that "piece of shit" in 1993 on 210 floppy disks. I hear Linux turned out ok.
legendary
Activity: 1050
Merit: 1000
You are WRONG!
March 27, 2013, 05:17:25 PM
#41
Code:
5> Start time..2013.03.27 20:44:01 UTC
Cur time....2013.03.27 21:18:05 UTC
Connects:...61110
Connected:..433
Accepted:...1
Answers:....433
Cur peers...320
Relayed TX:.37001
Mempool:
 exception: exit:{timeout,{gen_server,call,[mempool,get_stats]}}
Errors:
 timeout:...24231
 refused:...3412
 unreach:...1873
 other:.....30466
legendary
Activity: 1050
Merit: 1000
You are WRONG!
March 27, 2013, 04:46:59 PM
#40
Quote
same here, it just dies...
Can you show output of
stat:print()  ~5 min and ~30 min after start?
Code:
Start time..2013.03.27 20:44:01 UTC
ok
Cur time....2013.03.27 20:45:22 UTC
Connects:...2190
4> Connected:..149
Accepted:...0
Answers:....149
Cur peers...131
Relayed TX:.482
Mempool:
 inv table..111
 req table..10
 tx table...119
 peer table.111
 check inv..0.0168 s
 clean inv..0.0005 s
 clean req..0.0001 s
 clean tx...0.0006 s
Errors:
 timeout:...167
 refused:...160
 unreach:...91
 other:.....762
the next will come in 30 min
jr. member
Activity: 42
Merit: 11
March 27, 2013, 04:28:30 PM
#39
Quote
same here, it just dies...
Can you show output of
stat:print()  ~5 min and ~30 min after start?
legendary
Activity: 1050
Merit: 1000
You are WRONG!
March 27, 2013, 04:09:07 PM
#38
Do not think he will be impressed - it's my first "real" OTP project. I hope it will be able to run more than 24h without problems - right now after 2-3 hours it terminates.
same here, it just dies... Sad
jr. member
Activity: 42
Merit: 11
March 27, 2013, 03:56:48 PM
#37
Do not think he will be impressed - it's my first "real" OTP project. I hope it will be able to run more than 24h without problems - right now after 2-3 hours it terminates.
full member
Activity: 196
Merit: 116
Entrepreneur, coder, hacker, pundit, humanist.
March 27, 2013, 05:35:08 AM
#36

$ git clone git://github.com/r-willis/biten.git




ON IT!

I'm meeting a real ErlangOTP *expert* (phds, patents, the whole 9)  next week who recently got interested in bitcoin. Perfect timing to introduce your code...
legendary
Activity: 1050
Merit: 1000
You are WRONG!
March 25, 2013, 04:35:42 PM
#35
Good luck with your exams.
thank you Smiley

Quote
It seems like there are some malicious nodes on the network, which send thousands of inv messages. As biten have no anti-DoS features, it causes memory exhaustion and erlang VM termination. I hope to push quick-fix today.
they are not malicious, just stress testing the network. Wink
jr. member
Activity: 42
Merit: 11
March 25, 2013, 01:20:22 PM
#34
Good luck with your exams.
It seems like there are some malicious nodes on the network, which send thousands of inv messages. As biten have no anti-DoS features, it causes memory exhaustion and erlang VM termination. I hope to push quick-fix today.

P.S. I decided to drop extra "T" from name, so it's biten.

EDIT: pushed some fixes and improvements.
Next: download block headers and organize them into trees.
legendary
Activity: 1050
Merit: 1000
You are WRONG!
March 25, 2013, 12:45:38 PM
#33
So, anyone tried it? Does it even work for you?
no, i have exams. if i begin playing with bitten, i gonna fail them...
jr. member
Activity: 42
Merit: 11
March 25, 2013, 12:32:26 PM
#32
So, anyone tried it? Does it even work for you?
legendary
Activity: 1050
Merit: 1000
You are WRONG!
March 25, 2013, 05:43:28 AM
#31
You should check twitcoin.net also implemented a bitcoin wallet in erlang
no it does not, in only interfaces with bitcoind
jr. member
Activity: 42
Merit: 11
March 25, 2013, 04:02:55 AM
#30
Thanks for the link, I'll check it.
Pages:
Jump to: