Pages:
Author

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

jr. member
Activity: 42
Merit: 11
March 20, 2013, 04:08:00 PM
#9
If you think so, I can implement routing and release code. Let's stress-test network.
I think on 8Gb (right now, without optimisations) machine daemon can connect to every connectable node in network (I estimate it's around 60k peers) + some incoming connections.
legendary
Activity: 1050
Merit: 1000
You are WRONG!
March 20, 2013, 03:59:45 PM
#8
i don't think so... the satoshi client have some ban system, if your node began to send malformed txs they would just disconnect from your node.
Of course it has, but it but before it kicks in, you can spend several megs of some someone's bandwidth. Multiply by some thousands peers, and by number of servers (whatever it is). I just not very comfortable with this.
and you should not be, but its still safe to experiment, the bitcoin network is robust(at least the satoshi client is...)

i am also devloping a bitcoin client, pycoin. although i have not done much lately on it.
jr. member
Activity: 42
Merit: 11
March 20, 2013, 03:56:24 PM
#7
i don't think so... the satoshi client have some ban system, if your node began to send malformed txs they would just disconnect from your node.
Of course it has, but it but before it kicks in, you can spend several megs of some someone's bandwidth. Multiply by some thousands peers, and by number of servers (whatever it is). I just not very comfortable with this.
Keep up, but be prepared for a very long trip.
Yes, I read your thread about bitsofproof. I hope it will be interesting journey.
hero member
Activity: 836
Merit: 1030
bits of proof
March 20, 2013, 03:16:21 PM
#6
Now it's in the early stage of development. I'm trying to implement protocol not looking into bitcoind source, ...

From this I can tell that this must be really early stage. Keep up, but be prepared for a very long trip.
Unfortunately documentation available is very far from being sufficient input for an implementation, and in Bitcoin world there is no half-way compatibility.
legendary
Activity: 1050
Merit: 1000
You are WRONG!
March 20, 2013, 02:56:39 PM
#5
But if it does not verify transactions/blocks it relays, I effectively becomes threat to network, as if there is many such nodes, spammers can use them to amplify their abilities to flood nodes with malformed/fraudulent transactions.  
i don't think so... the satoshi client have some ban system, if your node began to send malformed txs they would just disconnect from your node.
jr. member
Activity: 42
Merit: 11
March 20, 2013, 02:48:44 PM
#4
please make the source public, og remove [ANN] from the thread subject... i was expecting to see awesome code, but was disappointed.
You are right, so [ANN] gone for now.
Code is in no way awesome now. It's a bunch of loosely connected modules and processes. Current code is proof-of-concept that you can make "very-well-connected" node on low-end virtual server. Right now I'm converting code to OTP (Erlang framework for robust, industrial-grade applications).
I'd expect code release in a week or two.
Why I (we) want node with many peers? Because it greatly reduces network "diameter", reduces propagation times, helping miners and makes many attacks not feasible.
But if it does not verify transactions/blocks it relays, I effectively becomes threat to network, as if there is many such nodes, spammers can use them to amplify their abilities to flood nodes with malformed/fraudulent transactions.  
legendary
Activity: 1050
Merit: 1000
You are WRONG!
March 20, 2013, 02:33:23 PM
#3
please make the source public, og remove [ANN] from the thread subject... i was expecting to see awesome code, but was disappointed.
legendary
Activity: 1498
Merit: 1000
March 20, 2013, 02:30:03 PM
#2
Any chance you going to put it on gihub?
jr. member
Activity: 42
Merit: 11
March 20, 2013, 02:28:09 PM
#1
Hello all!
For some time I was working on bitcoin daemon implementation in erlang.
Now it's in the early stage of development. I'm trying to implement protocol not looking into bitcoind source, but using specification from https://en.bitcoin.it/wiki (found one bug so far), original paper and looking at the protocol messages which I get from peers.

My goal is to make scalable bitcoin daemon, capable of serving many thousands of peers on relatively low-end servers.
At current state it's capable of connecting and parsing messages from 3000+ peers on 256M RAM VPS without swap. It does not do much besides protocol parsing and peer discovery now, but it's only several days old. Chances are that it connected to your machine - check for /ebtcd:0.0.1/ user-agent in logs.
Short term pans: accept incoming connections, announce own address via addr message.
Mid term plans: add validation and routing (test on testnet), release source under open license (AGPL sounds good).
Long term: full-featured daemon.

P.S. In case someone wants to encourage me with some BTC, I set up donation adress:
1GVmS56pvVL7YZA7YqMBXmaDedCoputKuJ

UPD:
git clone git://github.com/r-willis/biten.git
Pages:
Jump to: