Author

Topic: Closed Thread - page 265. (Read 677683 times)

member
Activity: 110
Merit: 10
October 07, 2014, 07:41:31 AM

Now we're getting somewhere Smiley

So what you're saying is because node.js is used if a node makes a tx all other nodes know about it immediately and therefore it's not possible that one node knows about a tx that another doesn't know about ?

Yes, the transaction is simultaneously sent to all peers immediately even if You have 10000 peers. When a transaction arrives at the client NODE , it synchronizes with the main peers and checks the synchronization, so on a circle.

This is good stuff!
I didn't know that tx are sent to all peers simultaniously,either.
I thought Silk couldn't grasp what patmast3r was trying to ask... But now I see that for Silk, the concept behind node.js was so obvious that he didn't see how we couldn't get what he said.
It now makes sense to me.
Good job @TheRealSilk - keep it up!
hero member
Activity: 616
Merit: 500
October 07, 2014, 07:35:38 AM
A big thank you to Pat and Silk for sticking with this and clearing up some questions. I agree with Pat about having that info in the whitepaper.
hero member
Activity: 504
Merit: 500
October 07, 2014, 07:34:14 AM

Now we're getting somewhere Smiley

So what you're saying is because node.js is used if a node makes a tx all other nodes know about it immediately and therefore it's not possible that one node knows about a tx that another doesn't know about ?

Yes, the transaction is simultaneously sent to all peers immediately even if You have 10000 peers. When a transaction arrives at the client NODE , it synchronizes with the main peers and checks the synchronization, so on a circle.

thanks for clarification!
hero member
Activity: 980
Merit: 1001
October 07, 2014, 07:32:51 AM

Now we're getting somewhere Smiley

So what you're saying is because node.js is used if a node makes a tx all other nodes know about it immediately and therefore it's not possible that one node knows about a tx that another doesn't know about ?

Yes, the transaction is simultaneously sent to all peers immediately even if You have 10000 peers. When a transaction arrives at the client NODE , it synchronizes with the main peers and checks the synchronization, so on a circle.

That assumption explains everything. Should have been in the whitepaper Wink
That'll put quite some network load on eatch node though once the network grows.
sr. member
Activity: 457
Merit: 250
October 07, 2014, 07:31:04 AM

Now we're getting somewhere Smiley

So what you're saying is because node.js is used if a node makes a tx all other nodes know about it immediately and therefore it's not possible that one node knows about a tx that another doesn't know about ?

Yes, the transaction is simultaneously sent to all peers immediately even if You have 10000 peers. When a transaction arrives at the client NODE , it synchronizes with the main peers and checks the synchronization, so on a circle.
hero member
Activity: 980
Merit: 1001
October 07, 2014, 07:20:10 AM

I'll try to explain my worries one more time in more detail and without evil nodes.

1 have 10 k NODES.

I send all my nodes in tx TX1 to recepient R1 and again in TX2 to R2.

To nodes that only know of TX1 it will look legit and they will confirm it. Same is true for TX2

So if TX1 gets 3 confirmations by nodes a,b,c and TX2 get's confirmations by nodes d,e,f you'll have two competing blocks which means I can't consider a transaction confirmed until it's in a block which means there is no such thing as INSTANT transactions.

3 confirmations to a block also seems awfully low since in a big network with say 1000 nodes it won't be a problem at all to spread even 3 tx to different parts of the network and get those 3 confirmations from legit nodes since they don't know about the 2 other tx.

Technology Node.js withstand more than 100,000 connections per second.

You can not do this operation. The transaction is sent to the network on startup peers and secondary peers, the network is synchronized continuously. All transactions are collected confirmation hanging in the minds of all clients simultaneously.

  You do not get to send the transaction to only one part of the network, and the second transaction to another part of the network.

Let's say you have sent 2 transaction for the full amount, and so the first transaction will receive a confirmation, the second did not receive a confirmation and it will be removed from the system.

Now we're getting somewhere Smiley

So what you're saying is because node.js is used if a node makes a tx all other nodes know about it immediately and therefore it's not possible that one node knows about a tx that another doesn't know about ?
sr. member
Activity: 457
Merit: 250
October 07, 2014, 07:16:40 AM

I'll try to explain my worries one more time in more detail and without evil nodes.

1 have 10 k NODES.

I send all my nodes in tx TX1 to recepient R1 and again in TX2 to R2.

To nodes that only know of TX1 it will look legit and they will confirm it. Same is true for TX2

So if TX1 gets 3 confirmations by nodes a,b,c and TX2 get's confirmations by nodes d,e,f you'll have two competing blocks which means I can't consider a transaction confirmed until it's in a block which means there is no such thing as INSTANT transactions.

3 confirmations to a block also seems awfully low since in a big network with say 1000 nodes it won't be a problem at all to spread even 3 tx to different parts of the network and get those 3 confirmations from legit nodes since they don't know about the 2 other tx.

Technology Node.js withstand more than 100,000 connections per second.

You can not do this operation. The transaction is sent to the network on startup peers and secondary peers, the network is synchronized continuously. All transactions are collected confirmation hanging in the minds of all clients simultaneously.

  You do not get to send the transaction to only one part of the network, and the second transaction to another part of the network.

Let's say you have sent 2 transaction for the full amount, and so the first transaction will receive a confirmation, the second did not receive a confirmation and it will be removed from the system.
hero member
Activity: 980
Merit: 1001
October 07, 2014, 06:53:27 AM

I know it won't get into the block. I'm not saying a double spend is possible. I'm saying one can't trust a tx unless it's in a block because there might be a double-spend somewhere floating around the network. That's how almost all cryptos operate. What I don't see is how it enables instant transactions.

Instant transaction is to collect quick confirmation of correct nodes. To speak properly instant confirmation. If there are at least 3 confirmed (in the future we will raise up to 6 confirmation), it generates a block node


I'll try to explain my worries one more time in more detail and without evil nodes.

1 have 10 k NODES.

I send all my nodes in tx TX1 to recepient R1 and again in TX2 to R2.

To nodes that only know of TX1 it will look legit and they will confirm it. Same is true for TX2

So if TX1 gets 3 confirmations by nodes a,b,c and TX2 get's confirmations by nodes d,e,f you'll have two competing blocks which means I can't consider a transaction confirmed until it's in a block which means there is no such thing as INSTANT transactions.

3 confirmations to a block also seems awfully low since in a big network with say 1000 nodes it won't be a problem at all to spread even 3 tx to different parts of the network and get those 3 confirmations from legit nodes since they don't know about the 2 other tx.
sr. member
Activity: 457
Merit: 250
October 07, 2014, 06:41:46 AM

I know it won't get into the block. I'm not saying a double spend is possible. I'm saying one can't trust a tx unless it's in a block because there might be a double-spend somewhere floating around the network. That's how almost all cryptos operate. What I don't see is how it enables instant transactions.

Instant transaction is to collect quick confirmation of correct nodes. To speak properly instant confirmation. If there are at least 3 confirmed (in the future we will raise up to 6 confirmation), it generates a block node
hero member
Activity: 980
Merit: 1001
October 07, 2014, 06:30:53 AM

How are "correct" nodes determined ? Like I said individually my evil nodes are sending valid txs so they aren't easily detected as evil.

I think we're talking at cross-purposes. I'll just wait and see what happens.
Thanks for taking the time and trying to explain Smiley

You will not be able to cheat the system, the correct node will not allow your transaction to confirm only after which the transaction is verified added confirmation at this stage wrong transaction is removed from the network

When you send your transaction 100 confirmations in the correct network, all nodes are rejected her and she will be removed from the network. It will not reach that stage to get into the block

I know it won't get into the block. I'm not saying a double spend is possible. I'm saying one can't trust a tx unless it's in a block because there might be a double-spend somewhere floating around the network. That's how almost all cryptos operate. What I don't see is how it enables instant transactions.
sr. member
Activity: 457
Merit: 250
October 07, 2014, 06:22:49 AM

How are "correct" nodes determined ? Like I said individually my evil nodes are sending valid txs so they aren't easily detected as evil.

I think we're talking at cross-purposes. I'll just wait and see what happens.
Thanks for taking the time and trying to explain Smiley

You will not be able to cheat the system, the correct node will not allow your transaction to confirm only after which the transaction is verified added confirmation at this stage wrong transaction is removed from the network

When you send your transaction 100 confirmations in the correct network, all nodes are rejected her and she will be removed from the network. It will not reach that stage to get into the block
sr. member
Activity: 322
Merit: 250
Super Smash Bros. Ultimate Available Now!
October 07, 2014, 06:16:33 AM
I am new here........ Any Faucet there?

Good idea, it is necessary that the devs have developed a free distribution of coins
yes, faucet can help to promote NODE  Cheesy
hero member
Activity: 980
Merit: 1001
October 07, 2014, 06:06:29 AM

Exactly so I have to wait for a block to know if a tx is valid or not. Right ?

No, Your transaction will not even collect 1 confirmation from the correct nodes
What would it hit the block need minimmum 3 confirmation of correct nodes.

Before the transaction will receive a confirmation with the correct node, it first checks for validity

How are "correct" nodes determined ? Like I said individually my evil nodes are sending valid txs so they aren't easily detected as evil.

I think we're talking at cross-purposes. I'll just wait and see what happens.
Thanks for taking the time and trying to explain Smiley
sr. member
Activity: 457
Merit: 250
October 07, 2014, 05:59:39 AM

Exactly so I have to wait for a block to know if a tx is valid or not. Right ?

No, Your transaction will not even collect 1 confirmation from the correct nodes
What would it hit the block need minimmum 3 confirmation of correct nodes.

Before the transaction will receive a confirmation with the correct node, it first checks for validity
hero member
Activity: 980
Merit: 1001
October 07, 2014, 04:11:13 AM
That is only true if the node already knows about both transactions. As a single tx they are valid only when you know about both of them they become a double-spend. So if i sent my double spend directly to the two recipients with a few confirmations it'll look legit to them. Only when the block comes out one of them will get rejected.
If every broadcast from a node could be considered a confirmation than any crypto woul have instant tx. It doesn't matter that every node does it's own validation because not a single node but the entire network needs to agree on validity.

Unless I'm majorly missing something.

Confirmation is necessary for  generate a block, You don't know who will generate the block.

Your transaction will not be able to collect the correct confirmation, because the Node which generates the blocks makes a first check on the validity of the transaction and then on confirmation number. The transaction will be sent to the correct nodes until you collect the necessary number confirmation for block generation

Exactly so I have to wait for a block to know if a tx is valid or not. Right ?
sr. member
Activity: 457
Merit: 250
October 07, 2014, 03:44:29 AM
That is only true if the node already knows about both transactions. As a single tx they are valid only when you know about both of them they become a double-spend. So if i sent my double spend directly to the two recipients with a few confirmations it'll look legit to them. Only when the block comes out one of them will get rejected.
If every broadcast from a node could be considered a confirmation than any crypto woul have instant tx. It doesn't matter that every node does it's own validation because not a single node but the entire network needs to agree on validity.

Unless I'm majorly missing something.

Confirmation is necessary for  generate a block, You don't know who will generate the block.

Your transaction will not be able to collect the correct confirmation, because the Node which generates the blocks makes a first check on the validity of the transaction and then on confirmation number. The transaction will be sent to the correct nodes until you collect the necessary number confirmation for block generation
hero member
Activity: 980
Merit: 1001
October 07, 2014, 03:06:59 AM

The network is safe because even a transaction with 100s of confirmations won't end up in a block if it's not valid but I will only know if it's really valid when a block is created.
However my point wasn't that the network isn't safe and that my double-spend would get through. The point was there are no instant transactions because i can't trust confirmations without an inlcusion into a block.

...
Your transaction with 100 confirmations will be ignored in all the right nodes.
...

That is only true if the node already knows about both transactions. As a single tx they are valid only when you know about both of them they become a double-spend. So if i sent my double spend directly to the two recipients with a few confirmations it'll look legit to them. Only when the block comes out one of them will get rejected.
If every broadcast from a node could be considered a confirmation than any crypto woul have instant tx. It doesn't matter that every node does it's own validation because not a single node but the entire network needs to agree on validity.

Unless I'm majorly missing something.
sr. member
Activity: 457
Merit: 250
October 07, 2014, 02:57:46 AM

The network is safe because even a transaction with 100s of confirmations won't end up in a block if it's not valid but I will only know if it's really valid when a block is created.
However my point wasn't that the network isn't safe and that my double-spend would get through. The point was there are no instant transactions because i can't trust confirmations without an inlcusion into a block.


Either double-spend transaction did not take place in the network, as is verification with the correct blockchain.
Your transaction with 100 confirmations will be ignored in all the right nodes.

Node user before generate block
- Checks the validity of the transaction
- Adds confirmation
- Checks for at least confirmation
- Generates blocks
- Sends it to the network

Again, before the block is added to the blockchain it is checked for each user

Confirmation is needed to generate the block, but before the node will generate a block at the beginning he checks on the validity of the transaction, after which the number of confirmation.

If your network will generate a wrong block, you will not even be able to send your block to the network. Since Node knows who should generate the next block (POA).

The second, block will be ignored and will be only in your wrong network
hero member
Activity: 980
Merit: 1001
October 07, 2014, 02:40:48 AM
Quote
Instant Transactions - Node's transactions stream has impressive response time, added security measures which lead to an untraditional block generation.

I still don't understand how that is supposed to work. Any chance we'll get a more technical whitepaper anytime soon ?

Here's my problem.

Okay so you get a confirmation everytime a node spreads your tx further (which he only does if it's valid) which will of course result in many confirmations in very little time.

Consider this scenario:

I set-up many evil nodes
I send 2 valid transactions to two recipients (I send the same NODEs so double-spend. The txs are both valid unless you know about both of them)
I give loads of confirmations to my double spend with my evil NODES and I'm sending those directly to the two recepeints.

So I got two valid transations (they are valid unless you know abou both of them) both with many confirmations from my evil nodes.

You're absolutely correct to say that not both payments will make it into the blockchain because the forger won't be one of my evil nodes  but if i can only be sure that a tx is legit when it's in the blockchain then instant transactions are an illusion.  

I'm really not trying to discredit NODE. I'm legitimately interested in how instant tx are supposed to be achieved in this system.

Node has a double verification
1) Verification transaction blockchain user (1 Confirmation)
2) Verification when adding a block

Correctly example:
- You make a transaction
- Collects transaction confirmation
- The transaction is added to the block after a minimum of 3 confirmation (1 check for validity)
- The unit is spread over the network and added to blockchain member (2 check for validity)

your example
- You do not validate the transaction
- Is going wrong with the confirmation of your nodes
- The transaction is going on in the network

Here your transaction will be ignoring, even if she has 100 confirmed

The fact that the user node first checks the transaction for validity, and then adds +1 confirm,
then checks for a minimum of confirmation, and generates the block.

The network is safe because even a transaction with 100s of confirmations won't end up in a block if it's not valid but I will only know if it's really valid when a block is created.
However my point wasn't that the network isn't safe and that my double-spend would get through. The point was there are no instant transactions because i can't trust confirmations without an inlcusion into a block.

sr. member
Activity: 457
Merit: 250
October 07, 2014, 02:32:20 AM
Quote
Instant Transactions - Node's transactions stream has impressive response time, added security measures which lead to an untraditional block generation.

I still don't understand how that is supposed to work. Any chance we'll get a more technical whitepaper anytime soon ?

Here's my problem.

Okay so you get a confirmation everytime a node spreads your tx further (which he only does if it's valid) which will of course result in many confirmations in very little time.

Consider this scenario:

I set-up many evil nodes
I send 2 valid transactions to two recipients (I send the same NODEs so double-spend. The txs are both valid unless you know about both of them)
I give loads of confirmations to my double spend with my evil NODES and I'm sending those directly to the two recepeints.

So I got two valid transations (they are valid unless you know abou both of them) both with many confirmations from my evil nodes.

You're absolutely correct to say that not both payments will make it into the blockchain because the forger won't be one of my evil nodes  but if i can only be sure that a tx is legit when it's in the blockchain then instant transactions are an illusion.  

I'm really not trying to discredit NODE. I'm legitimately interested in how instant tx are supposed to be achieved in this system.

Node has a double verification
1) Verification transaction blockchain user (1 Confirmation)
2) Verification when adding a block

Correctly example:
- You make a transaction
- Collects transaction confirmation
- The transaction is added to the block after a minimum of 3 confirmation (1 check for validity)
- The unit is spread over the network and added to blockchain member (2 check for validity)

your example
- You are sending the transaction is not valid
- Is going wrong with the confirmation of your nodes
- The transaction is going on in the network

Here your transaction will be ignoring, even if she has 100 confirmed

The fact that the user node first checks the transaction for validity, and then adds +1 confirm,
then checks for a minimum of confirmation, and generates the block.
Jump to: