Pages:
Author

Topic: Nxt source code flaw reports - page 11. (Read 113369 times)

legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
January 27, 2014, 07:46:47 AM
The Google Translation (am guessing) is not helping a great deal - whatever happened to all that crap we were told about computers "speaking natural languages" even by the year 2000.  Grin

Edit: Indeed the "bing" translation is better - maybe Microsoft's inferior search engine has an ace up its sleeve after all?

Perhaps if the idea were to be to divide the fees between yourself and the previous forger (say 50/50) then you might get the best of both incentives (i.e. to publish as quickly as possible and to include as many txs as possible).
legendary
Activity: 1918
Merit: 1190
January 27, 2014, 07:43:20 AM
I have edited my message ( use bing translator for help me ) .
Bing is better for the translation, it is hard to say but it's true.

Just for resume my solution:

Advantage:
1.) No free transaction possible
2.) Waiting for forge block is useless
3.) No need check if peer use more time than necessary to forge the block
4.) Nobody writes the amount it will pay (common sense)
5.) It is the individual interests of all the world to forge the block as soon as possible


Disadvantage:
     
Accept the idea that we are not paying for transactions validated
Payed for make network run  (validate the previous blocks)
Why stay in a principle purely POW.
hero member
Activity: 687
Merit: 500
January 27, 2014, 06:20:44 AM
Hmm...really hard to understand you, perl.
Since you are from France, maybe german is easier for you than english?
If yes, you may write in german, I can translate Smiley
legendary
Activity: 1918
Merit: 1190
January 27, 2014, 04:59:46 AM
Getting the fees from the previous block sounds interesting, but where is the incentive to include any transactions if the generator doesn't get the fees from the included transactions?

I return your question:
Question:      Actualy, What is the interest for a forge block without transaction account?
My response: Just past the following and run the network

There is also logic to pay
To include transactions in a block
and
Validate the previous block to make it not an orphan

More the block has transactions over there need not be an orphan

    
This would be new in the crypto currency.
But the NXT is innovative and think back the cryptomonnaie

Add an offset to compensate individuals who forge.
Does not add an interval in the validation of the transaction.
The Transaction is still in the same block, and at the same time.
hero member
Activity: 687
Merit: 500
January 27, 2014, 04:56:19 AM
Getting the fees from the previous block sounds interesting, but where is the incentive to include any transactions if the generator doesn't get the fees from the included transactions?
legendary
Activity: 1918
Merit: 1190
January 27, 2014, 03:30:08 AM
So if I understand you correctly, what you suggest is:
  • EvilBob waits with generating block n, cause he wants to maximize his gains,
  • In the meantime Alice produced block n
I want to prevent behavior

compensation should be given to Alice?
The solution proposed

That might not be that easy to do. There is (quite likely) chance that transactions in block generated by Alice,
will be different, than those, that EvilBob wanted to include.
Not likely , Is sure transaction are different
Change for switch the solution is quickly and safe .
only block use moment switch {

Block XXXXXXXXX0 , can not include transaction
Block XXXXXXXXX1 , compensation use new methode

If XXXXXXXXXX0  include fee, fee is add to account generator ( XXXXXXXX0 and XXXXXXXX1 )

}

And for get ammount fee :
Retrieve information from the previous block with same method to get signature to forge the current block

We must accept we are not paid for the transaction includes block but are in the previous block

If the previous block at zero fee. No one's interest to stay long on the current block.
Everyone wants new blocks with transactions forge


legendary
Activity: 866
Merit: 1002
January 27, 2014, 01:36:58 AM
I am ok all say.

Why the generator would not be paid with fee of the previous block ?

Generator, no gain if waiting
Generator, no fee free


We can not demand so somebody write his compendation.
Compensation must be written by somebody else

It is common sense

So if I understand you correctly, what you suggest is:
  • EvilBob waits with generating block n, cause he wants to maximize his gains,
  • In the meantime Alice produced block n

compensation should be given to Alice?

That might not be that easy to do. There is (quite likely) chance that transactions in block generated by Alice,
will be different, than those, that EvilBob wanted to include.

Let's say we have transactions: t1, .. ti, .. tj, .. [t]n.
EvilBob wanted to include t1 ... tj. And Alice generated ti..tn.

Now after that comes Charlie, who generated n+1th block. It will probably include txes missed by Alice (t1...ti-1).

So I don't think it would be easy to calculate HOW Alice should have been compensated.
full member
Activity: 238
Merit: 100
January 26, 2014, 10:55:25 PM
I am ok all say.

Why the generator would not be paid with fee of the previous block ?

Generator, no gain if waiting
Generator, no fee free


We can not demand so somebody write his compendation.
Compensation must be written by somebody else

It is common sense




very interesting suggestion
legendary
Activity: 1918
Merit: 1190
January 26, 2014, 08:21:25 PM
I am ok all say.

Why the generator would not be paid with fee of the previous block ?

Generator, no gain if waiting
Generator, no fee free


We can not demand so somebody write his compendation.
Compensation must be written by somebody else

It is common sense


newbie
Activity: 56
Merit: 0
January 26, 2014, 06:12:49 PM
Is big avantage for me.
1.) 0 node can forged regular block before me.
     I know all pub account and ammount ( I can compute other node forge my block )

2.) If waiting 3 more time necessary, I increase power my forge factor 3
You can't wait 3 more blocks because the blocks are chosen by cumulated difficulty. So if someone else (let's call him Bob) forges the block that you are holding off on forging, he'll have a lower cumulated difficulty than you. But since you're holding off your block, all other peers will think that Bob's block is the best and continue forging there. And as soon as a second block is forged on top of Bob's block, the cumulated difficulty of those 2 blocks will be higher than yours and no-one in the network will accept your block anymore.
So yes, you can hold off, but not for long.

3.) If forge one block. I can add 255 free Alias
Yes, at the moment, if you forge a block you can include transactions "for free".
I've already pointed that out. Unfortunately, there is no simple solution for that. Because if you would say that you can't include transactions from the account that is forging, you could just split up your sum into 2 accounts (and take the smallish hit with forging chances), and just commit the transactions from the account that isn't forging.
legendary
Activity: 1918
Merit: 1190
January 26, 2014, 03:19:50 PM
As I wrote in the post that I linked, waiting can loose you your block, if there are 2 other blocks generated before you release yours.
So the amount you can gain by waiting for more transactions to come in is limited to about 1-2 minutes. So yes, there is an advantage, but it's not that big.
(Btw: What's your native language?)


Is big avantage for me.
1.) 0 node can forged regular block before me.
     I know all pub account and ammount ( I can compute other node forge my block )

2.) If waiting 3 more time necessary, I increase power my forge factor 3

3.) If forge one block. I can add 255 free Alias

My native language is french














hero member
Activity: 910
Merit: 1000
legendary
Activity: 1722
Merit: 1217
January 26, 2014, 02:28:12 PM
ALDRIN DONATE FOR THE PEOPLE WHO HELP HERE!

or sell it. no need for altruism here. rational self interest will get the job done nicely. it doesn't matter how he distributes his stake. all that matters is that it gets distributed.
newbie
Activity: 56
Merit: 0
January 26, 2014, 11:56:58 AM
Rest probleme, If my turn forge block .
I can waiting longtime for get maximum transaction in my block.

Waiting cannot losse my block.
I know all pubkey all peers and amount . I can compute when other node can forge block

Actualy , I have decompiler last release and not see code for punish bad node

As I wrote in the post that I linked, waiting can loose you your block, if there are 2 other blocks generated before you release yours.
So the amount you can gain by waiting for more transactions to come in is limited to about 1-2 minutes. So yes, there is an advantage, but it's not that big.
(Btw: What's your native language?)
legendary
Activity: 1498
Merit: 1000
January 26, 2014, 08:33:25 AM
ALDRIN DONATE FOR THE PEOPLE WHO HELP HERE!
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
January 26, 2014, 07:30:26 AM
Rest probleme, If my turn forge block .
I can waiting longtime for get maximum transaction in my block.

Waiting cannot losse my block.
I know all pubkey all peers and amount . I can compute when other node can forge block

Actualy , I have decompiler last release and not see code for punish bad node

You *will* be punished when the final source code is released (the source code you have decompiled is *not* what is going to be final and even has flaws purposely injected into it).

So yes you can wait until your turn to forge to send a transaction but I really don't see that as being a flaw - rather it is an incentive to "forge".
legendary
Activity: 1918
Merit: 1190
January 26, 2014, 07:25:02 AM
Rest probleme, If my turn forge block .
I can waiting longtime for get maximum transaction in my block.

Waiting cannot losse my block.
I know all pubkey all peers and amount . I can compute when other node can forge block

Actualy , I have decompiler last release and not see code for punish bad node
newbie
Activity: 56
Merit: 0
January 26, 2014, 07:11:08 AM
perl, if I understood you correctly, and I'm absolutely not sure about that, I think you mean an exploit that I was referring to a few pages ago:
https://bitcointalksearch.org/topic/m.4326007

An yes, if you are certain enough, you can avoid paying transaction fees if you only issue transactions when it's your turn to forge the next block.
legendary
Activity: 866
Merit: 1002
January 25, 2014, 05:22:06 PM
Not in place now
Is exploit is possible now
Actualy , not punish for make delay in forge block

Other exploit possible.


If forge current block.
I can add 32K transaction for create alias ( Max 255). I have return all fee when forge


You have not response for upgrade scoring for next next block

I have doubts if anyone understood, what you've wanted to say. ENOPARSE.
legendary
Activity: 1918
Merit: 1190
January 25, 2014, 12:11:02 PM
Not in place now
Is exploit is possible now
Actualy , not punish for make delay in forge block

Other exploit possible.


If forge current block.
I can add 32K transaction for create alias ( Max 255). I have return all fee when forge


You have not response for upgrade scoring for next next block
Pages:
Jump to: