Author

Topic: NXT :: descendant of Bitcoin - Updated Information - page 1164. (Read 2761626 times)

full member
Activity: 196
Merit: 100
One final note.  For the record, I am placing a backup copy of the password to the NXTcommunityfund into a stamped postal envelope addressed to James, and placing this envelope in my bank safe deposit box.  Just in case.  Because you never know...

You better be paying attention folks... there is more education in that statement than most of us got in school University!!!    Wink

It is said that humans are the only animal aware of their own mortality.  Most aren't.
sr. member
Activity: 460
Merit: 250
For now, riddle me this, Batman.  Say we do get 1000 TPS using binary instead of JSON on a 1 Megabit per second line (and everybody who used to forge NXT a smartphone or Raspberry are pissed cause they've been cut out of the picture as slowpoke slackers).  That implies each transaction is now 128 bytes so the NXT blockchain is growing at a minimum of a megabyte every 8 seconds.  This is a gigabyte every 8000 seconds or roughly every  2 hours 15 minutes.   That's a NXT blockchain that is growing 10 gigabytes PER DAY.  The Bitcoin blockchain is currenly called "bloated" and "hard to manage" at 16 gigabytes after FIVE YEARS.

So...what's the secret sauce to deal with NXT blockchain bloat of 10GB per day?  I've read that our mini-blockchain can be "pruned" altho I believe I've seen that's to be a future capability.  I also seem to recall that "pruning" would only need to be done annually.  I ALSO seem to recall (I'm doing a lot of recalling) that the whole pruning concept was to get rid of historical transaction data.  The pruning was to reset the blockchain in a cryptographically verifiable manner and say that "everybody's balances are now so-and-so at such-and-such a timestamp" and dump from the blockchain all of the historical transactions supporting that conclusion.  

1000TPS for NXT requires something bordering on Harry Potter level magic.  Is BCNext saying he's figured out how to PRUNE THE BLOCKCHAIN TO USER BALANCE INFO ONLY...IN REAL TIME?

+1

I would also like to see some elaboration about this. I have to sweep it under the carpet when I go to bed at night, and I'd like to know what I'm missing, unless it's up someone's sleeve for a very good reason, and even so...
sr. member
Activity: 364
Merit: 250
☕ NXT-4BTE-8Y4K-CDS2-6TB82
Uhm, what's the point of quoting papers from the 90's? Smiley

It's when all the *cool stuff happened*.  Tongue

I totally agree. Wink

sr. member
Activity: 490
Merit: 250
I don't really come from outer space.
Uhm, what's the point of quoting papers from the 90's? Smiley

It's when all the *cool stuff happened*.  Tongue

1.  For portability of representation of constants between architectures.
2.  Low working memory requirements.
3.  Fast to encode and decode.
4.  Simple to implement.
5.  The code for the encoding and decoding of integers is very small -- only a hand-full of bytes.

I still believe this is a case of extremely premature optimizations, but would answer anyway:

1. Endianness is trivial to deal with.
2. That is irrelevant to fixed/variable encoding.
3. Not doing it is even faster.
4. Not implementing it is even simpler.
5. The code for not doing it is exactly zero bytes.

I don't see it as an optimization, but an element in a data exchange format that we should consider if we want to support signing transactions on everything from a tiny 8051 based smart card to a huge rack-mount server and everything in-between.  The nice thing about this scheme is that, while endianness may be "trivial to deal with," we don't have to deal with it at all.

hero member
Activity: 714
Merit: 500
Crypti Community Manager
Can someone say to me what AM features minusbalancers client has? I can't find it.. And I don't want to install it, I like the webclient.

Encrypted and not encrypted messaging is accessible from the Account screen. It allows to send the Encrypted and Non-Encrypted messages. Encryption is performed transparently - no need to enter any pass codes or initialization vectors. I think it was stated in my contest entry. Should make some screenshots next time.
Which encryption algo is used?

Curve for the shared key, AES for the message encryption.
PS: This is publicly available info since the source is published.
Interesting. Thank you very much. Smiley

I don't have the time to follow everything. To much on my head.
hero member
Activity: 840
Merit: 1002
Simcoin Developer
Is BCNext saying he's figured out how to PRUNE THE BLOCKCHAIN TO USER BALANCE INFO ONLY...IN REAL TIME?

Why not? The difference between us and Bitcoin is that we don't actually have coins, only balances.

So exactly how much transactions you want to retain and how much to archive is somewhat arbitrary, you can do it monthly.

Also the 1000 TPS level is so sky high, we shouldn't even worry about it yet. Bitcoin is 4 years old and still works with its 7 TPS.
legendary
Activity: 868
Merit: 1000
Cryptotalk.org - Get paid for every post!
Announcing:  NEX

Visit the website at:  http://www.nexcoin.net  

Earn a stake in NEX by leaving you email and by referring more friends!

Thank you!
hero member
Activity: 490
Merit: 504
quest for Dutch people:
https://twitter.com/TheWhoNL/status/430025559209701377

Who is  Ron van Raften  and where did he support us as a long therm? Cheesy
newbie
Activity: 56
Merit: 0
Can someone say to me what AM features minusbalancers client has? I can't find it.. And I don't want to install it, I like the webclient.

Encrypted and not encrypted messaging is accessible from the Account screen. It allows to send the Encrypted and Non-Encrypted messages. Encryption is performed transparently - no need to enter any pass codes or initialization vectors. I think it was stated in my contest entry. Should make some screenshots next time.
Which encryption algo is used?

Curve for the shared key, AES for the message encryption.
PS: This is publicly available info since the source is published.
sr. member
Activity: 364
Merit: 250
☕ NXT-4BTE-8Y4K-CDS2-6TB82
Is it really necessary? How much is he gonna save, especially since he still rounds to bytes and doesn't use compression?

If we use compression, I recommend it be optional for a client.

[...]

I agree. It's yet another serialization.


I would extend this further:

Don't let use fight over the right compression or binary format.
Let's make it configurable, so
it can be off
or
slim can be on
or
lzw can be on
or etc. etc.

And after a while, we will see which way will become the most dominant format. And even newcomers could be easily introduced and tested by the clients.
legendary
Activity: 1540
Merit: 1016
Total Voters:  230  Shocked



Are we sure this thing is reliable?..
yes, we also had 200 votes in the coinmarket poll in 2 hours... here are many listeners...
Why not? I posted link4voting in vk.com/cryptonxt here http://vk.com/wall-64086699_61
hero member
Activity: 714
Merit: 500
Crypti Community Manager
Can someone say to me what AM features minusbalancers client has? I can't find it.. And I don't want to install it, I like the webclient.

Encrypted and not encrypted messaging is accessible from the Account screen. It allows to send the Encrypted and Non-Encrypted messages. Encryption is performed transparently - no need to enter any pass codes or initialization vectors. I think it was stated in my contest entry. Should make some screenshots next time.
Which encryption algo is used?
newbie
Activity: 56
Merit: 0
Can someone say to me what AM features minusbalancers client has? I can't find it.. And I don't want to install it, I like the webclient.

Encrypted and not encrypted messaging is accessible from the Account screen. It allows to send the Encrypted and Non-Encrypted messages. Encryption is performed transparently - no need to enter any pass codes or initialization vectors. I think it was stated in my contest entry. Should make some screenshots next time.

full member
Activity: 196
Merit: 100

Count me in.  

I've been thinking about this whole 1000 TPS thing and have a basic question.  If ANYBODY can be the node that generates a block, but a node with a low rate data link can't support 1000TPS, then are we saying that the NXT TPS chain is only as strong / fast as its weakest link?  
I am guessing any node that can't keep up will automatically become blacklisted and they fall forever behind. Such low bandwidth nodes will need to run slim clients. Not sure how they will be able to send NXT

James

So we start by telling people they can forge NXT based on their stake, then blacklist them forever if they can't meet a certain level of performance?

If this is true then we better stop telling people they can forge on their smartphones now, rather than later. Some promotional material may need to be changed to reflect a realistic cost of forging on a high TPS network.

+1.  Bingo.  This is exactly where I was headed with this chain of logic.  

You know, there is some serious downside to having this Step X plan that nobody but BCNext and JLP fully understands yet.  They keep hinting at conquer-the-world performance while the rest of us are down here struggling to write whitepapers and figure out how many Raspberries/VPSs/Odroids to get online to back it all up and there's just not enough knowledge or facts to do it efficiently from an engineering point of view or honestly from a marketing point of view.

Not trying to cut anybody down, just sayin.  I've got some serious questions coming in future posts about this whole 1000 TPS thing once I get caught up on 20 pages here.  

For now, riddle me this, Batman.  Say we do get 1000 TPS using binary instead of JSON on a 1 Megabit per second line (and everybody who used to forge NXT a smartphone or Raspberry are pissed cause they've been cut out of the picture as slowpoke slackers).  That implies each transaction is now 128 bytes so the NXT blockchain is growing at a minimum of a megabyte every 8 seconds.  This is a gigabyte every 8000 seconds or roughly every  2 hours 15 minutes.   That's a NXT blockchain that is growing 10 gigabytes PER DAY.  The Bitcoin blockchain is currenly called "bloated" and "hard to manage" at 16 gigabytes after FIVE YEARS.

So...what's the secret sauce to deal with NXT blockchain bloat of 10GB per day?  I've read that our mini-blockchain can be "pruned" altho I believe I've seen that's to be a future capability.  I also seem to recall that "pruning" would only need to be done annually.  I ALSO seem to recall (I'm doing a lot of recalling) that the whole pruning concept was to get rid of historical transaction data.  The pruning was to reset the blockchain in a cryptographically verifiable manner and say that "everybody's balances are now so-and-so at such-and-such a timestamp" and dump from the blockchain all of the historical transactions supporting that conclusion.  

1000TPS for NXT requires something bordering on Harry Potter level magic.  Is BCNext saying he's figured out how to PRUNE THE BLOCKCHAIN TO USER BALANCE INFO ONLY...IN REAL TIME?
hero member
Activity: 840
Merit: 1002
Simcoin Developer
Why not wait until the pain gets too strong and then see how we can mitigate them?

One plan to catching up with higher loads could be:
1) adding compression
2) switching to 'a low-level, hand-optimized binary format'
3) if we are lucky then compression layer will even be able to compress the binary format. We got it for free because of 1).
4) adjusting payload of high-level protocol and reducing number of requests

+1, I am out of this discussion Smiley
hero member
Activity: 490
Merit: 504
Total Voters:  230  Shocked



Are we sure this thing is reliable?..
yes, we also had 200 votes in the coinmarket poll in 2 hours... here are many listeners...
hero member
Activity: 840
Merit: 1002
Simcoin Developer
Uhm, what's the point of quoting papers from the 90's? Smiley

1.  For portability of representation of constants between architectures.
2.  Low working memory requirements.
3.  Fast to encode and decode.
4.  Simple to implement.
5.  The code for the encoding and decoding of integers is very small -- only a hand-full of bytes.

I still believe this is a case of extremely premature optimizations, but would answer anyway:

1. Endianness is trivial to deal with.
2. That is irrelevant to fixed/variable encoding.
3. Not doing it is even faster.
4. Not implementing it is even simpler.
5. The code for not doing it is exactly zero bytes.
sr. member
Activity: 897
Merit: 284
I've changed up the reference client installer again

It now searches for Java on your machine, and if it doesn't find it, it will download and install either x86 or x64, depending on your system. I also changed the Post Setup Launcher to actively ping http://127.0.0.1:7874/index.html to detect when the Nxt client comes online. It will then re-direct to https://127.0.0.1:7875. I had to use the unsecure port because the SSL Cert error prevents the browser from returning a 200 ok message which is what I use to determine if Nxt has loaded.

As stated before, there is no longer any need to remove an old client version before installing a new one. Simply download the new version and the installer will update it.

The "Folder is in use" error that showed up every now and then at the end of the install has also been fixed.

I'll use this for the next release from Jean-Luc, but I'm not going to go back and update my release of 0.5.11.

Please, PLEASE test this installer and give me your feedback on any errors. I have run it on Windows 7 x86 and x64, and Windows 8 x64 without issue. So far my overhead with things I've had to add to make this work (Jquery, PostSetupLauncher, .bat files, etc.) is about 144KB. The Uninstaller is another 719KB.

Nxt Installer 0.5.11 Web Setup BETA TEST: http://www.mediafire.com/download/uhu6m1u7upmn769/Nxt%200.5.11%20Web%20Setup%20BETA%20TEST.exe
SHA-256: 66A3037D7F9D4BCA806EA38F1E9BA0D5EFD59BBD98050EF603F0AF4A9A147698

DO you have a 1 click install available for a MAC?  If not, does anyone have a 1 click install for a mac?

I have some people that I want to introduce to nxt but all they have is a mac n I've never used a mac before...

Tai Zen

I dont. I haven't touched a Mac since 1998.

Look here, wesley has one. https://nextcoin.org/index.php/topic,708.0.html
member
Activity: 112
Merit: 10
I've changed up the reference client installer again

It now searches for Java on your machine, and if it doesn't find it, it will download and install either x86 or x64, depending on your system. I also changed the Post Setup Launcher to actively ping http://127.0.0.1:7874/index.html to detect when the Nxt client comes online. It will then re-direct to https://127.0.0.1:7875. I had to use the unsecure port because the SSL Cert error prevents the browser from returning a 200 ok message which is what I use to determine if Nxt has loaded.

As stated before, there is no longer any need to remove an old client version before installing a new one. Simply download the new version and the installer will update it.

The "Folder is in use" error that showed up every now and then at the end of the install has also been fixed.

I'll use this for the next release from Jean-Luc, but I'm not going to go back and update my release of 0.5.11.

Please, PLEASE test this installer and give me your feedback on any errors. I have run it on Windows 7 x86 and x64, and Windows 8 x64 without issue. So far my overhead with things I've had to add to make this work (Jquery, PostSetupLauncher, .bat files, etc.) is about 144KB. The Uninstaller is another 719KB.

Nxt Installer 0.5.11 Web Setup BETA TEST: http://www.mediafire.com/download/uhu6m1u7upmn769/Nxt%200.5.11%20Web%20Setup%20BETA%20TEST.exe
SHA-256: 66A3037D7F9D4BCA806EA38F1E9BA0D5EFD59BBD98050EF603F0AF4A9A147698

DO you have a 1 click install available for a MAC?  If not, does anyone have a 1 click install for a mac?

I have some people that I want to introduce to nxt but all they have is a mac n I've never used a mac before...

Tai Zen
sr. member
Activity: 364
Merit: 250
☕ NXT-4BTE-8Y4K-CDS2-6TB82
I'm sorry, just saying we should avoid binary because it's hard to agree or too hard to use is a cop out.  Those issues can be sorted out.  There are times and places where it is worthwhile to optimize.  I think this is one.

No, I am just kidding Smiley I agree with you in general.

Yes, in some specific cases of small network messages, hand-crafted structure can mean a lot. And if we go with a binary format, embedding a type is not a bad idea.

I just think we're nowhere near (and won't be any time soon) such high loads that would justify switching to a low-level, hand-optimized binary format.

You are both right. Why not wait until the pain gets too strong and then see how we can mitigate them?

One plan to catching up with higher loads could be:
1) adding compression
2) switching to 'a low-level, hand-optimized binary format'
3) if we are lucky then compression layer will even be able to compress the binary format. We got it for free because of 1).
4) adjusting payload of high-level protocol and reducing number of requests

Just to make it sure: how many transactions on average do we have right now?
Jump to: