ineedednewusername
Newbie
Offline
Activity: 13
Merit: 0
|
 |
January 24, 2014, 10:12:52 AM |
|
so many posts are here published everyday, two weeks ago I lost the track of whats going on..... I am not able to follow all forums and news about NXT. How do you solved this? what is the most important to follow from discussions? 
|
|
|
|
LiQio
Legendary
Offline
Activity: 1181
Merit: 1002
|
 |
January 24, 2014, 10:17:14 AM |
|
I know, I know, but salsacz was kind enough and told him already in two other threads - otherwise my lips would have been sealed  Ok  I'm sure FC will find another way to play his main role  just a little information concerning jester Frictionless. current moves: - self-moderated thread ( https://bitcointalk.org/index.php?topic=429399.0) -> he deletes posts he doesn't like, if you don't pay attention you don't see the self-moderated - and Come-from-Beyond is used as a mini-ambassador (because he's in the newest list of NXT-to-NEX traders) Has a lot of energy and time that FC  (or let me rephrase, he really believes in NXT because he so desperately wants to exchange them for NEX  )
|
|
|
|
NxtChg
|
 |
January 24, 2014, 10:18:33 AM |
|
so many posts are here published everyday, two weeks ago I lost the track of whats going on..... I am not able to follow all forums and news about NXT. How do you solved this? what is the most important to follow from discussions?  http://www.nxtcoins.nl/50-2/https://twitter.com/NxtcoinsNL
|
|
|
|
coolmist
Newbie
Offline
Activity: 56
Merit: 0
|
 |
January 24, 2014, 10:19:38 AM |
|
Account A makes his account special. He now has 10 NXT in instant balance. What's stopping him from sending 10 NXT to both peer B and C as payment if they are not connected? I mean sure, it could be prevented at the next block, but that isn't instant. B and C would both send the goods to account A instantly and then get screwed 1 minute later when they find out it was a doublespend. If he sends 10 NXT then he has 100 NXT on the balance and 20 NXT will be charged. Taking this to the logical extreme, what if he sends it to 11 merchants, and gets 110 NXT worth of product instantly? This approach is good but not airtight. Ok, check this solution out. Account A wishes to make his account instant. On the next block Account A requests 10 checkpoints (peers) from the forging account, The forging account will send 10 peers to Account A and send one signed message to each peer telling them that they are a checkpoint for Account A. Account A sends one declaration of checkpoint acceptance to each checkpoint in the form of a signed message. These checkpoints save that message for one hour and generate a list of pending transactions for that account (At this time 0). All active checkpoints for account A communicate with each other as soon as account A's balance is updated. Account A saves this list of peers and the account that generated them as a file. When account A wishes to make an instant transaction he will include this file with the signed transaction information. Account A will send this file to a receiving account. The receiving account will check the timestamp on message (valid for one hour), check if the account that determined the checkpoints forged the block, and send the signed transaction information to each peer. Each peer will confirm the new account balance. They will generate a response telling the recipient if his account balance is large enough to complete the transaction. If everything checks out this will approve the transaction. The beauty here is that X number of peers are chosen at random by a deterministically chosen forging account. This prevents account A from having their own set of fake peers to validate fraudulent transactions. These few peers hold a temporary ledger of where account A's money is, it doesn't have to be mass distributed across the network. It is impossible to double spend with this system, and account A's full balance could be used for instant transactions.
|
|
|
|
Fatih87SK
|
 |
January 24, 2014, 10:22:02 AM |
|
so many posts are here published everyday, two weeks ago I lost the track of whats going on..... I am not able to follow all forums and news about NXT. How do you solved this? what is the most important to follow from discussions?  I follow this thread everyday and picking the most important news out. Still working on it so it's not out yet; It will be nice! Because later on you can see every Milestone we accomplished with the project here. To check results; http://ilgunf.wix.com/nxtmovementOr Follow; https://twitter.com/NXTmovementPs; Missed all bounties, because I joined late December to this community. I hope I can get some NXT with this. So far I got 1 =) But! The future is bright.
|
|
|
|
Alias
Full Member
 
Offline
Activity: 127
Merit: 100
Money be green
|
 |
January 24, 2014, 10:22:10 AM |
|
Has anyone seen this - http://blog.ethereum.org/?p=39/slasher-a-punitive-proof-of-stake-algorithm? I don't think it is hugely relevant to us but an interesting read none the less.
|
In times of change, it is the learners who will inherit the earth, while the learned will find themselves beautifully equipped for a world that no longer exists.
|
|
|
pandaisftw
|
 |
January 24, 2014, 10:23:33 AM |
|
Account A makes his account special. He now has 10 NXT in instant balance. What's stopping him from sending 10 NXT to both peer B and C as payment if they are not connected? I mean sure, it could be prevented at the next block, but that isn't instant. B and C would both send the goods to account A instantly and then get screwed 1 minute later when they find out it was a doublespend. If you have 100 NXT in your account, that means you have 10 NXT for "instant transactions". In order for you to "double-spend" (literally to spend 200 NXT, so 10 NXT * 20 times), you would have to fool all the peers on the network 20 times. Chance of that is so low, in most cases you will just end up paying the merchant multiple times  In the scenario of A sending to unconnected B and C, because he has 100 NXT in his account, he ends up sending 10 NXT to B and 10 NXT to C, no ripoff there. EDIT: Also, I'm not sure if the balance is updated instantly (can malicious attacker ignore this?), but if so, in this case it would be 10 NXT to B and 9 NXT to C, and as n -> infinity, eventually 0, but never past zero.
|
NXT: 13095091276527367030
|
|
|
Come-from-Beyond
Legendary
Offline
Activity: 2142
Merit: 1010
Newbie
|
 |
January 24, 2014, 10:25:57 AM |
|
Taking this to the logical extreme, what if he sends it to 11 merchants, and gets 110 NXT worth of product instantly? This approach is good but not airtight.
Chance that all 10 merchants r isolated from Nxt network is below zero, I think.
|
|
|
|
coolmist
Newbie
Offline
Activity: 56
Merit: 0
|
 |
January 24, 2014, 10:26:21 AM |
|
If you have 100 NXT in your account, that means you have 10 NXT for "instant transactions". In order for you to "double-spend" (literally to spend 200 NXT, so 10 NXT * 20 times), you would have to fool all the peers on the network 20 times. Chance of that is so low, in most cases you will just end up paying the merchant multiple times  In the scenario of A sending to unconnected B and C, because he has 100 NXT in his account, he ends up sending 10 NXT to B and 10 NXT to C, no ripoff there. You would have to fool all the (20) peers on the network 1 time. They are "instant" transactions, peers don't have time to communicate that quickly relative to an automated doublespend attempt. Chance that all 10 merchants r isolated from Nxt network is below zero, I think.
Chance of peers being isolated is below zero, but the chance of all peers being able to communicate with all other peers to prevent double spend is even lower than that. Plus, the doublespender has a one minute window with BCNext's proposed method, his balance would have to be updated in the blockchain for doublespends to be prevented.
|
|
|
|
Come-from-Beyond
Legendary
Offline
Activity: 2142
Merit: 1010
Newbie
|
 |
January 24, 2014, 10:29:07 AM |
|
Aye, interesting. But it looks quite complex comparing to Nxt PoS algo. It doesn't make sense to use something more sophisticated, only due to political reasons.
|
|
|
|
Come-from-Beyond
Legendary
Offline
Activity: 2142
Merit: 1010
Newbie
|
 |
January 24, 2014, 10:34:43 AM |
|
Chance of peers being isolated is below zero, but the chance of all peers being able to communicate with all other peers to prevent double spend is even lower than that. Plus, the doublespender has a one minute window with BCNext's proposed method, his balance would have to be updated in the blockchain for doublespends to be prevented.
Don't read "instant" literally. A merchant will give purchased goods only after sending the transaction to next generator. The other 10 merchants will do the same and they'll get a reply that their transactions r illegal. This will take 3-5 sec.
|
|
|
|
coolmist
Newbie
Offline
Activity: 56
Merit: 0
|
 |
January 24, 2014, 10:41:02 AM |
|
Don't read "instant" literally. A merchant will give purchased goods only after sending the transaction to next generator. The other 10 merchants will do the same and they'll get a reply that their transactions r illegal. This will take 3-5 sec.
Ok, this makes sense. But won't this will lead to a massive amount of data being sent to one peer (the forging account)? This would also cause the next forging account to do a massive amount of work, even if the work is distributed across multiple future predicted forging accounts.
|
|
|
|
Passion_ltc
|
 |
January 24, 2014, 10:43:24 AM |
|
nxtion.com update
....
Wow that is really exciting!  You could basically secure accounts on websites now by linking them to your Nxt-Account. If your data gets compromised you can verify the rightful ownership. @How does this token thing actually work? Some information on that? Yes. The token system is like a 1.5 factor auth.  nxtion.com update
...
I like how you constantly keep working to make your services as accessible as possible.  Thank you. I'm working hard for that!  Why do u ask for Nxt ID? Token already contains the ID. You are right, sir! I will change it later.
|
|
|
|
Come-from-Beyond
Legendary
Offline
Activity: 2142
Merit: 1010
Newbie
|
 |
January 24, 2014, 10:46:13 AM |
|
Don't read "instant" literally. A merchant will give purchased goods only after sending the transaction to next generator. The other 10 merchants will do the same and they'll get a reply that their transactions r illegal. This will take 3-5 sec.
Ok, this makes sense. But won't this will lead to a massive amount of data being sent to one peer (the forging account)? This would also cause the next forging account to do a massive amount of work, even if the work is distributed across multiple future predicted forging accounts. 1000 tps require only 1 Mbps bandwidth. I wouldn't say it's "massive".
|
|
|
|
l8orre
Legendary
Offline
Activity: 1186
Merit: 1018
|
 |
January 24, 2014, 10:46:21 AM |
|
hmmm -- the only way of obtaining the information that s.t. has happend is by polling the NRS - it does not operate in push mode. So The less often I poll, the less I know.
I have not been trying to load test - 1 second just seemd like something reasonable. Besides, someone from the GUI devs also recommended 1 second.
What would you use?
What's "s.t."? I just can't think of anything so critical that it needs to arrive with 1 second precision. s.t. just lazy for 'something' --- Yes, but still - there MUST be a defining event to poll the NRS. Either it is a user input click 'poll' , or it is an external event. incoming message from other source, OR a periodical poll. In which case you are stuck with the decision: what frequency? why not 100 milliseconds? why not 100 seconds? again, one of the other devs mentioned 1 second, which wihtin a human window of attention span is 'instant'. what would you use?
|
|
|
|
coolmist
Newbie
Offline
Activity: 56
Merit: 0
|
 |
January 24, 2014, 10:52:42 AM |
|
Don't read "instant" literally. A merchant will give purchased goods only after sending the transaction to next generator. The other 10 merchants will do the same and they'll get a reply that their transactions r illegal. This will take 3-5 sec.
Ok, this makes sense. But won't this will lead to a massive amount of data being sent to one peer (the forging account)? This would also cause the next forging account to do a massive amount of work, even if the work is distributed across multiple future predicted forging accounts. 1000 tps require only 1 Mbps bandwidth. I wouldn't say it's "massive". True, the data amount isn't massive, however the amount of work that has to be done by the computer verifying the instant transactions has to be huge, right? In one five second interval it has to receive data from 5k different peers, store this data, check the validity of each transaction and rebroadcast this out to 5k more peers.
|
|
|
|
NxtChg
|
 |
January 24, 2014, 10:54:26 AM |
|
In which case you are stuck with the decision: what frequency? why not 100 milliseconds? why not 100 seconds? again, one of the other devs mentioned 1 second, which wihtin a human window of attention span is 'instant'.
what would you use?
It's possible that API will change in the future to something like websockets so you could push clients. For now, I would use something like 20-30 seconds: blocks are generated with no less than 1 minute interval, so no reason to pull more often. If you need to display peer info it can be somewhat less, like 5-10 seconds. But one second is overkill.
|
|
|
|
Come-from-Beyond
Legendary
Offline
Activity: 2142
Merit: 1010
Newbie
|
 |
January 24, 2014, 11:02:34 AM |
|
True, the data amount isn't massive, however the amount of work that has to be done by the computer verifying the instant transactions has to be huge, right?
In one five second interval it has to receive data from 5k different peers, store this data, check the validity of each transaction and rebroadcast this out to 5k more peers.
My notebook can validate 100k transactions per second. Still too far from massive.
|
|
|
|
l8orre
Legendary
Offline
Activity: 1186
Merit: 1018
|
 |
January 24, 2014, 11:03:51 AM |
|
In which case you are stuck with the decision: what frequency? why not 100 milliseconds? why not 100 seconds? again, one of the other devs mentioned 1 second, which wihtin a human window of attention span is 'instant'.
what would you use?
It's possible that API will change in the future to something like websockets so you could push clients. For now, I would use something like 20-30 seconds: blocks are generated with no less than 1 minute interval, so no reason to pull more often. If you need to display peer info it can be somewhat less, like 5-10 seconds. But one second is overkill. thanks for the input. the block generation time argument is good. currently, I use 5 seconds on my raspi, that it can handle. The testnet server appears to have some real clout - I tried with 500ms, no problem. I have not tested my samsung s3 laptop yet.
|
|
|
|
pandaisftw
|
 |
January 24, 2014, 11:06:12 AM |
|
If you have 100 NXT in your account, that means you have 10 NXT for "instant transactions". In order for you to "double-spend" (literally to spend 200 NXT, so 10 NXT * 20 times), you would have to fool all the peers on the network 20 times. Chance of that is so low, in most cases you will just end up paying the merchant multiple times  In the scenario of A sending to unconnected B and C, because he has 100 NXT in his account, he ends up sending 10 NXT to B and 10 NXT to C, no ripoff there. You would have to fool all the (20) peers on the network 1 time. They are "instant" transactions, peers don't have time to communicate that quickly relative to an automated doublespend attempt. Chance that all 10 merchants r isolated from Nxt network is below zero, I think.
Chance of peers being isolated is below zero, but the chance of all peers being able to communicate with all other peers to prevent double spend is even lower than that. Plus, the doublespender has a one minute window with BCNext's proposed method, his balance would have to be updated in the blockchain for doublespends to be prevented. Hm... my example was wrong. Sorry if someone mentioned this before, but if the merchant receives an instant transaction from the special account, it can broadcast it to the network (connected peers) to check to see if this account has already sent this type of special transaction in the last minute. Those peers will then rebroadcast this request, and so on. If a match is found, then the peer who has a match will send this information back to the merchant. Assuming a latency of 200ms, this request can be rebroadcast 5 times in 1 second. So if the merchant is connect to 10 peers, each who is connected to 10 peers, etc. then the network can quickly check 100,000 peers in 1 second. Not to mention, some hallmarked nodes have thousands of peers, so this number can be exponentially larger. If a match is found, then the merchant can just say, "sorry, you already sent an instant transaction in the last minute, please wait wait one minute for confirmation." So time is not an issue unless the merchant is completely isolated (which is nearly impossible). Most humans will never need to place a large number of small orders in a span of 1 minute from multiple sources, so this is not a limitation. If they really need to, then it makes more sense to use their normal account (with 100% spendable funds), and just wait 1 minute for the confirmation. Instant transactions are useful for things like grocery shopping, I suppose. You're not going to checkout 100 times in a minute.
|
NXT: 13095091276527367030
|
|
|
|