Author

Topic: BTCD is no more - page 460. (Read 1328490 times)

hero member
Activity: 910
Merit: 503
July 22, 2014, 05:16:02 AM
It was looking like "privacyServer -> client encrypted UDP channel - transmits but error decrypting" was a tricky memory trashing issue, so I was going to call it a night, but turned out it was just a simple control flow issue, so:

privacyServer -> client encrypted UDP channel - transmits but error decrypting works

Now I will test the doubly encrypted message, but from my acct to privacyServer back to my acct. Not exactly useful, but will test out the software paths. It will probably not work, and then I will call it a night

James

OK, that was spooky. It seemed to just work! The first time, so I think this is good place to stop for today. Low level comms all encrypted and even a single hop onion routed doubly encrypted packet came through:

QUEUEALLMESSAGES.({"requestType":"sendmessage","dest":"8989816935121514892","msg":"test","time":1406023635}) size.0
QUEUE MESSAGES from NXT.8989816935121514892 (test) size.1

I am sure there will be some edge cases, but those only possible to find under heavier load than just me testing.

Finally, tomorrow, order matching can be started

James

Enjoy your well deserved rest man, the speed by which you deliver is mindblowing.
legendary
Activity: 1176
Merit: 1134
July 22, 2014, 05:10:10 AM
It was looking like "privacyServer -> client encrypted UDP channel - transmits but error decrypting" was a tricky memory trashing issue, so I was going to call it a night, but turned out it was just a simple control flow issue, so:

privacyServer -> client encrypted UDP channel - transmits but error decrypting works

Now I will test the doubly encrypted message, but from my acct to privacyServer back to my acct. Not exactly useful, but will test out the software paths. It will probably not work, and then I will call it a night

James

OK, that was spooky. It seemed to just work! The first time, so I think this is good place to stop for today. Low level comms all encrypted and even a single hop onion routed doubly encrypted packet came through:

QUEUEALLMESSAGES.({"requestType":"sendmessage","dest":"8989816935121514892","msg":"test","time":1406023635}) size.0
QUEUE MESSAGES from NXT.8989816935121514892 (test) size.1

I am sure there will be some edge cases, but those only possible to find under heavier load than just me testing.

Finally, tomorrow, order matching can be started

James
legendary
Activity: 1176
Merit: 1134
July 22, 2014, 05:06:39 AM
I'm loving this shit, it's seriously interesting Shocked! I also loved the IRC chat you had and would like to participate in testing and running a privacyServer! I'll be watching for the info when you're ready! (never done such a thing before but I hope it's not that complicated to learn)
Also james, what are your NXT AE related to this? I'd like to purchase some too Grin
InstantDEX is the most direct asset that is publicly traded now. NXTprivacy and Privatebet are still private assets not for public, only for whales who buy big gobs of assets

James
legendary
Activity: 1176
Merit: 1134
July 22, 2014, 05:05:22 AM
It was looking like "privacyServer -> client encrypted UDP channel - transmits but error decrypting" was a tricky memory trashing issue, so I was going to call it a night, but turned out it was just a simple control flow issue, so:

privacyServer -> client encrypted UDP channel - transmits but error decrypting works

Now I will test the doubly encrypted message, but from my acct to privacyServer back to my acct. Not exactly useful, but will test out the software paths. It will probably not work, and then I will call it a night

James
hero member
Activity: 623
Merit: 500
July 22, 2014, 04:51:07 AM
I'm loving this shit, it's seriously interesting Shocked! I also loved the IRC chat you had and would like to participate in testing and running a privacyServer! I'll be watching for the info when you're ready! (never done such a thing before but I hope it's not that complicated to learn)
Also james, what are your NXT AE related to this? I'd like to purchase some too Grin
sr. member
Activity: 338
Merit: 250
July 22, 2014, 04:09:32 AM
Boy was I wrong about this one...
Luckily I trusted James and Hodled! (although just 2000 BTCD, that's all I could afford)

The volume has picked up quite nicely. Good call on this one James  Wink
legendary
Activity: 1176
Merit: 1134
July 22, 2014, 04:05:04 AM
Holding my btcd like mad. Just withdrew all from bittrex, I was planning on day trading but seeing the potential here I won't risk it. James my man, you seriously rock.
thanks!
I try to do my best to make sure people that believe in me, end up making money.

James
hero member
Activity: 966
Merit: 550
July 22, 2014, 04:01:26 AM
Holding my btcd like mad. Just withdrew all from bittrex, I was planning on day trading but seeing the potential here I won't risk it. James my man, you seriously rock.
full member
Activity: 224
Merit: 100
goog
July 22, 2014, 03:52:44 AM
This coin's cray.

 Grin Grin,Miss the train
member
Activity: 89
Merit: 10
July 22, 2014, 03:49:12 AM
This coin's cray.
legendary
Activity: 1176
Merit: 1134
July 22, 2014, 03:33:13 AM
I just thought of a small leak of info
If I allow different length messages, then an attacker could deduce the type of message you are sending by tracking the size of the packets. Not sure how big of a problem this is. The problem with fixed sized messages is that it will waste a fair amount of bandwidth.

Ah, maybe this is one of the differences in privacy levels!
Yes, I like that. At lower levels of privacy, such small info leakage is accepted,but at higher levels of privacy, all messages will be of fixed size

James
legendary
Activity: 1176
Merit: 1134
July 22, 2014, 03:22:49 AM
Hmm also having issues building pNXT but they are complications with packages in Ubuntu.

Code:
Building dependency tree      
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libboost-all-dev : Depends: libboost-dev but it is not going to be installed
                    Depends: libboost-atomic-dev but it is not going to be installed
                    Depends: libboost-chrono-dev but it is not going to be installed
                    Depends: libboost-context-dev but it is not going to be installed
                    Depends: libboost-date-time-dev but it is not going to be installed
                    Depends: libboost-exception-dev but it is not going to be installed
                    Depends: libboost-filesystem-dev but it is not going to be installed
                    Depends: libboost-graph-dev but it is not going to be installed
                    Depends: libboost-graph-parallel-dev but it is not going to be installed
                    Depends: libboost-iostreams-dev but it is not going to be installed
                    Depends: libboost-locale-dev but it is not going to be installed
                    Depends: libboost-math-dev but it is not going to be installed
                    Depends: libboost-mpi-dev but it is not going to be installed
                    Depends: libboost-mpi-python-dev but it is not going to be installed
                    Depends: libboost-program-options-dev but it is not going to be installed
                    Depends: libboost-python-dev but it is not going to be installed
                    Depends: libboost-random-dev but it is not going to be installed
                    Depends: libboost-regex-dev but it is not going to be installed
                    Depends: libboost-serialization-dev but it is not going to be installed
                    Depends: libboost-signals-dev but it is not going to be installed
                    Depends: libboost-system-dev but it is not going to be installed
                    Depends: libboost-test-dev but it is not going to be installed
                    Depends: libboost-thread-dev but it is not going to be installed
                    Depends: libboost-timer-dev but it is not going to be installed
                    Depends: libboost-wave-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
I hate boost even more. Sorry I cant help, I got lucky. I think I installed boost from boost.org, the built in Ubuntu is usually out of date

On a happier note, I am 80% debugged! At least in my one off test cases. Of course more rigorous testing could well find some edge cases I miss, but gotta get these "easy" cases working first.
So decent progress today. The price going crazy was a bit distracting, I really need to close the market pages when coding!

client -> privacyServer selection (non-encrypted) - works
client -> privacyServer encrypted UDP channel - works
client -> privacyServer encrypted TCP channel - works
privacyServer -> client non-encrypted handshake - works
privacyServer -> client encrypted UDP channel - transmits but error decrypting
privacyServer -> client encrypted TCP channel - untested (actually currently this path is not used)
client -> privacyServer -> another client via two layer onion routing - untested

I was thinking about each privacyServer keeping a directory of clients that it is responsible for. Just the public acct # and the public key. However now I am leaning toward just broadcasting any client -> client comms that are not connected via the same privacyServer. This would add bandwidth, but it eliminates a potential attack vector. I cant think of how an attacker can use the directory of public addresses and keys, but if there is no directory, then I think it is one less piece of data that is available. The less data to be correlated, the better.

So the logic will be:
client selects privacyServer. Now most commands are routed through the privacyServer. API calls like getOrderbooks, placeBid, etc. These just go to the privacyServer and it handles it. OK, so that's the easy stuff. The hard part is what to do when you want to communicate with someone else. Let us assume that the privacyServer can magically know how to communicate to everyone, but we dont want other people to be able to snoop and find out that you are.

Is this even possible? Well, this is where the fact that we trust the privacyServer comes in really handy.

Say A wants to send a message to B without letting anybody except the privacyServer know and the only thing the privacyServer will know is that A send something to B, but even the privacyServer wont know WHAT was sent.

A first makes the message then tokenizes it with a timestamp. This both proves that A made the message and at what time. It prevents not only spoofing, but also replay attacks. A replay attack is where the attacker makes a copy of a valid message and rebroadcasts it. Maybe it doesnt do anything bad, but it could certainly confuse things, so I like to timestamp, tokenize and then encrypt. OK, so here is one problem I need B's public key to encrypt the message to him. So I need to magically get that somehow, maybe from a query to the server or simply processing broadcasts of the public keys. Either with pros/cons, I will decide later on specifics for that.

OK, so now we have a time validated, account validated and encrypted message to B. Only the fact that it is addressed to B is possible to be determined by getting this packet.

So can we send that? Well, not quite. What if the attacker has taps into the major internet routers? You dont want to be sending stuff in the clear (unencrypted). That would allow the attacker to know that A is sending something to B. So, we add another layer of encryption by re-encrypting the packet so that only the privacyServer can decode it. Now the attacker that is monitoring all internet packets will only see that you sent something to the privacyServer, but you send everything through the privacyServer, so it really doesnt divulge much information.

If you are with me so far, we now look at what the privacyServer gets. It is an encrypted packet that it is able to decode and it sees that what it gets is another encrypted packet that is addressed to B. So, it then "just" sends it to the privacyServer that B selected, or broadcasts it to all nodes. Now anybody that intercepts this packet will only know that it came from the privacyServer and not A.

So, B finally gets the packet, is able to decrypt it and gets the message from A.

Now that I write this, I do think it is better for the privacyServers to keep a directory of all accts/publickeys and then each client can query the privacyServer for the public key. There is much less info divulged by doing this as each acct can broadcast to everyone its public key when it comes online. So there is no correlation possible and the queries about B's publickey is done under encryption, so no info leaked.

It helps me think about things by writing these long emails. I hope I didnt bore you with wall of text. If anybody can see ANY flaws in this logic, please let me know ASAP. just describing this has not been easy, imagine coding and debugging it!
I hope you can see that once there is this encryption network in place, then all sorts of things become possible, all while remaining private. Businesses can conduct business using a public address, but its privacyServer will route everything to private addresses that only it knows about. This will allow businesses to conduct business without letting their competitors know all their income and expenses and even from whom.

So if you followed this so far, you can see why I am not so concerned about the exact anon algo as any of them will fit nicely into this system, they can even be combined. For those of you waiting for a selloff, I apologize.

James

@Azeh: I think the description in this post is pretty useful to start getting people understanding how privacyServers create privacy, hopefully it is useful for marketing and especially making pretty charts.
hero member
Activity: 490
Merit: 504
July 22, 2014, 03:17:10 AM
I think BitcoinDark is too much Bitcoin. Let's use DarkNotes and it will help to understand the connection between the coin and the Cryptonote technology: https://cryptonote.org/inside.php
hero member
Activity: 490
Merit: 504
hero member
Activity: 630
Merit: 500
July 22, 2014, 02:52:04 AM
Look what I found on Twitter: https://twitter.com/CryptoTherapist/status/491482611714621442 Smiley
That guy is right, someone should make Bitcoindark accepted here banners Smiley (I would but my PS skills suck)

mymenace has shown some awesome work for XXXCoin banners and infographics.

The premine holder should contact him directly and offer a bounty... as his work is top notch.

https://bitcointalksearch.org/user/mymenace-114706
member
Activity: 67
Merit: 10
July 22, 2014, 02:40:51 AM
Hello!! I'm a beginner and I would like to ask few questions because I can't find answers. BTCD is a kind of freshness in cryptocurrency and it's very interesting, that's why I want to know. I was mining untill POW phase end. And can anyone explain to me:

1). What exactly POW phase is?
2). Can we still mine BTCD ? Or will we be able in the future? Because there's info about official pool in the main BTCD thread but there is no our coin. Can anyone explain how it works?

I'll be very grateful for answers Smiley

Hi FeiLong!

1. PoW phase was the temporary period of time when BTCD could be mined. Now that it is over and PoS phase is in, you can only generate new coins by leaving your wallet running and letting it 'stake'.

2. We will never be able to mine BTCD again, it's actually quite rare. Only a little over 1 million coins exist. The pools on the main page are for 'multipools' which mine other coins and pay out in BTCD they buy on the exchanges.

Thank You for answer ! So if I understood right, we can gain some coins on multipools but we gain BTCD only by exchanges made by pool?

To gain coins, you can either

1. Leave your wallet unlocked and running on your computer. Your coins will 'stake' and gain interest (~5%/year)
2. Point your miners to a multipool (suggest dark.xpool.ca) and they will buy BTCD and pay you with them
3. Buy BTCD yourself

 Smiley

Thanks Cloudboy for all the answers Smiley
hero member
Activity: 966
Merit: 550
July 22, 2014, 02:30:48 AM
Look what I found on Twitter: https://twitter.com/CryptoTherapist/status/491482611714621442 Smiley
That guy is right, someone should make Bitcoindark accepted here banners Smiley (I would but my PS skills suck)
sr. member
Activity: 336
Merit: 250
July 22, 2014, 02:08:59 AM
Hmm also having issues building pNXT but they are complications with packages in Ubuntu.

Code:
Building dependency tree      
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libboost-all-dev : Depends: libboost-dev but it is not going to be installed
                    Depends: libboost-atomic-dev but it is not going to be installed
                    Depends: libboost-chrono-dev but it is not going to be installed
                    Depends: libboost-context-dev but it is not going to be installed
                    Depends: libboost-date-time-dev but it is not going to be installed
                    Depends: libboost-exception-dev but it is not going to be installed
                    Depends: libboost-filesystem-dev but it is not going to be installed
                    Depends: libboost-graph-dev but it is not going to be installed
                    Depends: libboost-graph-parallel-dev but it is not going to be installed
                    Depends: libboost-iostreams-dev but it is not going to be installed
                    Depends: libboost-locale-dev but it is not going to be installed
                    Depends: libboost-math-dev but it is not going to be installed
                    Depends: libboost-mpi-dev but it is not going to be installed
                    Depends: libboost-mpi-python-dev but it is not going to be installed
                    Depends: libboost-program-options-dev but it is not going to be installed
                    Depends: libboost-python-dev but it is not going to be installed
                    Depends: libboost-random-dev but it is not going to be installed
                    Depends: libboost-regex-dev but it is not going to be installed
                    Depends: libboost-serialization-dev but it is not going to be installed
                    Depends: libboost-signals-dev but it is not going to be installed
                    Depends: libboost-system-dev but it is not going to be installed
                    Depends: libboost-test-dev but it is not going to be installed
                    Depends: libboost-thread-dev but it is not going to be installed
                    Depends: libboost-timer-dev but it is not going to be installed
                    Depends: libboost-wave-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
legendary
Activity: 1610
Merit: 1000
Well hello there!
July 22, 2014, 02:08:03 AM
This coin is looking more and more promising with each passing day
sr. member
Activity: 336
Merit: 250
July 22, 2014, 01:53:52 AM
how can these people just keep dumping......

trying to get the price down :\ not working at all.
Jump to: