Author

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

legendary
Activity: 1176
Merit: 1134
August 15, 2014, 09:04:04 PM
There seems to be a lot of confusion about the usage of NXT. I guess most of you are not analyzing the libjl777 source code?

OK, I will describe how much of NXT is used for Teleport. I am sort of lazy when it comes to things that I have already got working and since I have tokenization using NXT acct working, I still use that as a method to prevent spoofing. What this means is that whenever a message is sent, I the NXT API generateToken function that generates a token based on that message (and time) and this allows me to use the NXT API function decodeToken.

These two functions are just using curve25519 locally to create a signature, at least I think that is how it is doing it. Anyway if I wasnt so lazy I could write my own tokenizing function and removed this NXT usage.

Nxt developers need to ensure backwards compatibility.  It's kinda a mess right now with the changing API, as you're very well aware.  Anyway, this is how tokenization works in Nxt:



It's pretty straight-forward.
I am pretty sure I have the C code to a 25519 signing somewhere, but it is not a priority to eliminate NXT dependencies as I need it for AE tradings

nice charts!
maybe you can do some for the DarkPaper?
sr. member
Activity: 490
Merit: 250
I don't really come from outer space.
August 15, 2014, 08:42:35 PM
There seems to be a lot of confusion about the usage of NXT. I guess most of you are not analyzing the libjl777 source code?

OK, I will describe how much of NXT is used for Teleport. I am sort of lazy when it comes to things that I have already got working and since I have tokenization using NXT acct working, I still use that as a method to prevent spoofing. What this means is that whenever a message is sent, I the NXT API generateToken function that generates a token based on that message (and time) and this allows me to use the NXT API function decodeToken.

These two functions are just using curve25519 locally to create a signature, at least I think that is how it is doing it. Anyway if I wasnt so lazy I could write my own tokenizing function and removed this NXT usage.

Nxt developers need to ensure backwards compatibility.  It's kinda a mess right now with the changing API, as you're very well aware.  Anyway, this is how tokenization works in Nxt:



It's pretty straight-forward.
legendary
Activity: 1736
Merit: 1001
August 15, 2014, 05:26:10 PM

P.S. I hope somebody is tracking these useful API posts so to make possible easy creating of programmer's guide

Nice. Very clear.
legendary
Activity: 1176
Merit: 1134
August 15, 2014, 04:24:32 PM
Thanks for the clarification james. Your right, as you said, and I said, I wasn't reading the code. I thought you were teleporting on the NXT block chain. Let's hope NXT doesn't change their API for the parts you are using. Wink
ha ha ha
they already changed the API for getAccount, I am used to it

Here are some Teleport API:


The first JSON function you need to call is getpubaddrs.

"{\"requestType\":\"getpubaddrs\"}"

this will return JSON I will leave out backslashes:

[{entry},{entry}...]

where each entry is:

{"srvipaddr":"","srvNXTaddr":"","pubkey":"","pubBTCD":"","pubNXT":"","pubBTC":""}

any of the pubCOIN addrs can be used to send a message to that node. The pubkey is the actual session specific half of the keypair for that node. Probably dont need it, but nice to have it confirmed that it propagated the right values. Doing this command will update the database to the latest values and since the pubkeys are recreated for each session and any node can change what privacyServer they connect through at any time, I make it a separate command and doing this will also automatically publish your public info so the other side can contact you back.

You are probably wondering how does this info magically appear in all the nodes. During the init call, in the jl777.conf file or JSON, there is the "pubaddr" field for BTCD. This directly maps to the NXT addr and also BTC addr (though I am still working on doing the BTC mapping), and so just from one pubaddr for BTCD, all the info is available and it automatically will send a broadcast message calling the C++ entry point with the required info.

Once you have the srvpubaddr and the more importantly the srvipaddr, it becomes possible to send messages to the destination using:

{"requestType":"routemsg","dest":"","msg":"","numlayers":N}

The dest is any of the pubaddrs for your recipient, "msg" is any ascii message you want to send and N is the number of onion layers you want to use, currently max of 2 defaults to 2. Once contact is established, teleport becomes possible:

{"requestType":"teleport","dest":"","amount":float,"coin":"","minage":a,"M":m,"N":n}

minage a is the number of blocks for the youngest telepod to be used in the transporter, m and n are the multisig parameters n is max of 254. I find if I write the documentation before I code it up, often I find issues, so the above are what I will be coding today. If all goes well we will be able to test these basic low level commands and then we are off to the races.

James

P.S. I hope somebody is tracking these useful API posts so to make possible easy creating of programmer's guide
legendary
Activity: 1736
Merit: 1001
August 15, 2014, 04:02:10 PM
Thanks for the clarification james. Your right, as you said, and I said, I wasn't reading the code. I thought you were teleporting on the NXT block chain. Let's hope NXT doesn't change their API for the parts you are using. Wink
legendary
Activity: 1176
Merit: 1134
August 15, 2014, 03:55:19 PM
Nxt is done, should be time for btcd then rught?

Um no. And, this whole teleport thing works with NXT. So be careful what you wish for.


i know NXT is not gone but are you saying that without NXT there will be no teleport?

I don't believe that is the case. If I've understood correctly, Teleport will work within BTCD in its own right. However, there is a complete ecosystem for trading and cashing out telepods, which will rely on the infrastructure James has been building within NXT (NXTprivacy, tradebots, InstantDEX). I don't understand all of the pieces of the puzzle, though.

This was a bad day for NXT and a lot of people are understandably very unhappy about it. There was no good solution, only least-worst ones. For what it's worth, I think leaving the blockchain alone was the right course of action. Whether the hacker can be found and NXT returned remains to be seen.

EDIT: PilotofBTC, that rings a bell too, but I'm not sure.
Teleport does not use NXT blockchain at all, just a few NXT local functions
Teleport uses privacyServers and every BTCD node is a privacyServer, you know fully decentralized
Tradebots would use NXT blockchain for certain types of transactions, but it is possible to do direct wallet to wallet trades, so only would use the blockchains for the coins traded

I am making a system that distributes functionality to all the nodes and doing as much as possible on a direct peer to peer basis. I design things for minimal reliance on external services (I do not consider local API functions as an external service) so unless I make error in design, then even the collapse of some significant external service will be an inconvenience, not a disaster

I welcome any and all technical feedback so I can continue to improve the robustness of BTCD supernetwork

James
legendary
Activity: 1176
Merit: 1134
August 15, 2014, 03:29:56 PM
Don't know what the schedule is for publicity and the website. I'm away from Sunday until 3 September but happy to help with content when I'm back if you need it.
Of course, by 2 weeks' time just about anything could have happened and BTCD could already be a top 10 coin...
I've been working with our PR agency on the first press release and it became clear I need to write a Tradebotpaper describing how BTCD is the crypto whose Turing complete scripting language has the most programmers who already know the language. Literally millions of coders know C, and tradebots are written in C!

By using linked tradebots and some data synchronization functions, any corporation or group can deploy their own set of linked tradebots and they will maintain a private blockchain running independently. So, like the Internet can run any protocol, the BTCD supernetwork and linked tradebots can run any blockchain, custom programmed by anybody that knows C

I realized it got a bit too complicated and needed Tradebotpaper. Not sure how the pirates will deal with an arbitrary number of overlapped heterogeneous blockchains.

James

Cheesy
Glad you've still got a sense of humour after the day NXT just had.
It is bter that had a bad day, for NXT it avoided disaster by not rolling back the blockchain. 5% of coins is now concentrated back into a single person, so he is like a new full BTC founder via illegal means. This wont really affect NXT much, other than offer some nice low prices for buyers for the next week or so

James

P.S. I think you are one of few who finds "overlapped heterogeneous blockchains" funny Smiley
legendary
Activity: 1176
Merit: 1134
August 15, 2014, 03:27:27 PM
There seems to be a lot of confusion about the usage of NXT. I guess most of you are not analyzing the libjl777 source code?

OK, I will describe how much of NXT is used for Teleport. I am sort of lazy when it comes to things that I have already got working and since I have tokenization using NXT acct working, I still use that as a method to prevent spoofing. What this means is that whenever a message is sent, I the NXT API generateToken function that generates a token based on that message (and time) and this allows me to use the NXT API function decodeToken.

These two functions are just using curve25519 locally to create a signature, at least I think that is how it is doing it. Anyway if I wasnt so lazy I could write my own tokenizing function and removed this NXT usage. I also use my internal hash table that is keyed off of a NXT account number, which is conveniently 64bits. To map a BTCD address to NXT address requires using a third NXT API function getAccountId, this again is a local function that converts anything to a NXT address

Maybe there are some few other dependencies, but the above three are the only ones I can think of. So, this means I am not using the NXT blockchain for teleport at all. I am not using the NXT blockchain for privacyServer, remember BTCD is making its own supernetwork so it has to be independent of any other network.

I do use NXT blockchain to clear InstantDEX trades. If the NXT blockchain disappears, that would certainly not be good, but there is no danger of that. The market price of NXT is totally irrelevant and as long as there are enough NXT nodes to keep its blockchain going, then InstantDEX keeps going. Since BTCD nodes will also have a NXT node, this assures that InstantDEX is secure.

With a multimillion dollar loss, I doubt bter will survive, coincidentally I had just yesterday totally emptied my bter account. This means the #2 exchange will likely take over the bulk of the day to day trading for NXT. That #2 happens to be MGW which has been handling 50 BTC to 100 BTC per day of deposit/withdraws and similar trading activity. As you know I happen to have written MGW and InstantDEX will benefit from this.

I hope this answers any concerns about BTCD reliance on NXT. I have written more code than all of the NXT core, there is a LOT of functionality that is totally independent of NXT. I am just lazy and tend to keep using what is not broken

James
legendary
Activity: 1764
Merit: 1031
August 15, 2014, 03:08:19 PM
Don't know what the schedule is for publicity and the website. I'm away from Sunday until 3 September but happy to help with content when I'm back if you need it.
Of course, by 2 weeks' time just about anything could have happened and BTCD could already be a top 10 coin...
I've been working with our PR agency on the first press release and it became clear I need to write a Tradebotpaper describing how BTCD is the crypto whose Turing complete scripting language has the most programmers who already know the language. Literally millions of coders know C, and tradebots are written in C!

By using linked tradebots and some data synchronization functions, any corporation or group can deploy their own set of linked tradebots and they will maintain a private blockchain running independently. So, like the Internet can run any protocol, the BTCD supernetwork and linked tradebots can run any blockchain, custom programmed by anybody that knows C

I realized it got a bit too complicated and needed Tradebotpaper. Not sure how the pirates will deal with an arbitrary number of overlapped heterogeneous blockchains.

James

Cheesy
Glad you've still got a sense of humour after the day NXT just had.
hero member
Activity: 690
Merit: 501
August 15, 2014, 03:03:58 PM
Don't know what the schedule is for publicity and the website. I'm away from Sunday until 3 September but happy to help with content when I'm back if you need it.
Of course, by 2 weeks' time just about anything could have happened and BTCD could already be a top 10 coin...
I've been working with our PR agency on the first press release and it became clear I need to write a Tradebotpaper describing how BTCD is the crypto whose Turing complete scripting language has the most programmers who already know the language. Literally millions of coders know C, and tradebots are written in C!

By using linked tradebots and some data synchronization functions, any corporation or group can deploy their own set of linked tradebots and they will maintain a private blockchain running independently. So, like the Internet can run any protocol, the BTCD supernetwork and linked tradebots can run any blockchain, custom programmed by anybody that knows C

I realized it got a bit too complicated and needed Tradebotpaper. Not sure how the pirates will deal with an arbitrary number of overlapped heterogeneous blockchains.

James

Competitor to Ethereum  Grin Grin Grin
legendary
Activity: 1176
Merit: 1134
August 15, 2014, 03:01:55 PM
Don't know what the schedule is for publicity and the website. I'm away from Sunday until 3 September but happy to help with content when I'm back if you need it.
Of course, by 2 weeks' time just about anything could have happened and BTCD could already be a top 10 coin...
I've been working with our PR agency on the first press release and it became clear I need to write a Tradebotpaper describing how BTCD is the crypto whose Turing complete scripting language has the most programmers who already know the language. Literally millions of coders know C, and tradebots are written in C!

By using linked tradebots and some data synchronization functions, any corporation or group can deploy their own set of linked tradebots and they will maintain a private blockchain running independently. So, like the Internet can run any protocol, the BTCD supernetwork and linked tradebots can run any blockchain, custom programmed by anybody that knows C

I realized it got a bit too complicated and needed Tradebotpaper. Not sure how the pirates will deal with an arbitrary number of overlapped heterogeneous blockchains.

James
legendary
Activity: 1764
Merit: 1031
August 15, 2014, 01:50:15 PM
Nxt is done, should be time for btcd then rught?

Um no. And, this whole teleport thing works with NXT. So be careful what you wish for.


i know NXT is not gone but are you saying that without NXT there will be no teleport?

I don't believe that is the case. If I've understood correctly, Teleport will work within BTCD in its own right. However, there is a complete ecosystem for trading and cashing out telepods, which will rely on the infrastructure James has been building within NXT (NXTprivacy, tradebots, InstantDEX). I don't understand all of the pieces of the puzzle, though.

This was a bad day for NXT and a lot of people are understandably very unhappy about it. There was no good solution, only least-worst ones. For what it's worth, I think leaving the blockchain alone was the right course of action. Whether the hacker can be found and NXT returned remains to be seen.

EDIT: PilotofBTC, that rings a bell too, but I'm not sure.
legendary
Activity: 1736
Merit: 1001
August 15, 2014, 01:49:31 PM
Nxt is done, should be time for btcd then rught?

Um no. And, this whole teleport thing works with NXT. So be careful what you wish for.


i know NXT is not gone but are you saying that without NXT there will be no teleport?

I admit I haven't look at any code, but from reading james' messages and his NXT Inside comments that teleport uses NXT Arbitrary Messages to do the teleporting. But, I could be wrong. My brain is fried from reading 40 pages about the BTER hack.
full member
Activity: 168
Merit: 100
August 15, 2014, 01:48:59 PM


(8/14)**Official BTCD Multipool Now Operating--Reliable, Profitable, Trustworthy**
Since there is only 2 multipools, you make it sound like mine is not, reliable, profitable or trustworthy which IMO it is as well.

Mind calling it simply the official multipool and leave the rest for the miners to decide.





------------------------------------------VVVVVVVVVVVVVVVV
That is not attack over your multipool, it just describes the official multipool, no one is forced to switch, if you want i can also in details explain why -Reliable, Profitable, Trustworthy

i agree members should choose.

I didn't think so but it gives the impression.

Sure, explanations are always  good. Just for clarity.

I don't see it as an attack.
I have tried both pools and I am happy with them.

Keep up the good work both of you  Cool

Thank you
hero member
Activity: 490
Merit: 500
0_0
August 15, 2014, 01:47:27 PM


(8/14)**Official BTCD Multipool Now Operating--Reliable, Profitable, Trustworthy**
Since there is only 2 multipools, you make it sound like mine is not, reliable, profitable or trustworthy which IMO it is as well.

Mind calling it simply the official multipool and leave the rest for the miners to decide.





------------------------------------------VVVVVVVVVVVVVVVV
That is not attack over your multipool, it just describes the official multipool, no one is forced to switch, if you want i can also in details explain why -Reliable, Profitable, Trustworthy

i agree members should choose.

I didn't think so but it gives the impression.

Sure, explanations are always  good. Just for clarity.

I don't see it as an attack.
I have tried both pools and I am happy with them.

Keep up the good work both of you  Cool
full member
Activity: 168
Merit: 100
August 15, 2014, 01:44:59 PM
Nxt is done, should be time for btcd then rught?

Um no. And, this whole teleport thing works with NXT. So be careful what you wish for.


i know NXT is not gone but are you saying that without NXT there will be no teleport?
legendary
Activity: 1736
Merit: 1001
August 15, 2014, 01:42:39 PM
Nxt is done, should be time for btcd then rught?

Um no. And, this whole teleport thing works with NXT. So be careful what you wish for.
full member
Activity: 168
Merit: 100
August 15, 2014, 01:40:23 PM


(8/14)**Official BTCD Multipool Now Operating--Reliable, Profitable, Trustworthy**
Since there is only 2 multipools, you make it sound like mine is not, reliable, profitable or trustworthy which IMO it is as well.

Mind calling it simply the official multipool and leave the rest for the miners to decide.





------------------------------------------VVVVVVVVVVVVVVVV
That is not attack over your multipool, it just describes the official multipool, no one is forced to switch, if you want i can also in details explain why -Reliable, Profitable, Trustworthy

i agree members should choose.

I didn't think so but it gives the impression.

Sure, explanations are always  good. Just for clarity.

Reliable: Stratums are from NiceHash, already established service verified by only god knows how much members.
Profitable: Well it is profitable, for me it turns to be 4x profitable then your pool on X11.
Trustworthy: Well its run on the official site so, so its not just some outside site that might go down as soon as its get good amounts.

BTW in (8/14)**Official BTCD Multipool Now Operating--Reliable, Profitable, Trustworthy** it never says more profitable than other pools so there is no problem with just explaining what official pool got, right?
legendary
Activity: 3556
Merit: 1126
August 15, 2014, 01:25:02 PM


(8/14)**Official BTCD Multipool Now Operating--Reliable, Profitable, Trustworthy**
Since there is only 2 multipools, you make it sound like mine is not, reliable, profitable or trustworthy which IMO it is as well.

Mind calling it simply the official multipool and leave the rest for the miners to decide.





------------------------------------------VVVVVVVVVVVVVVVV
That is not attack over your multipool, it just describes the official multipool, no one is forced to switch, if you want i can also in details explain why -Reliable, Profitable, Trustworthy

i agree members should choose.

I didn't think so but it gives the impression.

Sure, explanations are always  good. Just for clarity.
full member
Activity: 168
Merit: 100
August 15, 2014, 01:05:02 PM


(8/14)**Official BTCD Multipool Now Operating--Reliable, Profitable, Trustworthy**
Since there is only 2 multipools, you make it sound like mine is not, reliable, profitable or trustworthy which IMO it is as well.

Mind calling it simply the official multipool and leave the rest for the miners to decide.





------------------------------------------VVVVVVVVVVVVVVVV
That is not attack over your multipool, it just describes the official multipool, no one is forced to switch, if you want i can also in details explain why -Reliable, Profitable, Trustworthy

i agree members should choose.
Jump to: