ChuckOne
Sr. Member
Offline
Activity: 364
Merit: 250
☕ NXT-4BTE-8Y4K-CDS2-6TB82
|
|
March 21, 2014, 06:31:20 PM |
|
So, it comes down to: do we need an x > 1 and what for do we need that?
Yup - that's it in a nutshell - the two reasons we might need that are: 1. To help prevent "flood attacks" (by making the flooder have to attack more than one IP address) 2. To help improve "randomness" so things like the "lottery" (and other similar things) are viewed as "statistically fair". 1) Valid, but account could forge on more than one node. 2) Any idea why the pseudo-random function of BCNext is not fair? I mean, okay that is a little sample calculation. Pre-compute the next 1000000 generationSignatures and look if they behave as random as you need it. Anybody done this so far?
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
March 21, 2014, 06:32:03 PM |
|
I think cross-chain trading would be the most accurate.
You do not transfer or transact from one chain to another but trade together.
It all happens on "the one chain" though (the Nxt block chain) which is why I think "cross-chain" would be misleading for this.
|
|
|
|
Anon136
Legendary
Offline
Activity: 1722
Merit: 1217
|
|
March 21, 2014, 06:32:50 PM |
|
my daughter just came in here naked and when i asked her why she was nudie she says "want pink shirt not blue shirt"...
I expected to hear something like "gimme NXT to buy shirt"... she has 1000 nxt in her money box. she doesnt know what it is. i put it on a bitcoin paper wallet and she just calls it q-car-code (her way of saying qrcode). but she knows its valuable, she keeps it safe and doesnt play with it. she gets that its money or something proximate. shes ahead of the curve then when it comes to (im guessing) 3 year olds lol 2.5
|
Rep Thread: https://bitcointalk.org/index.php?topic=381041If one can not confer upon another a right which he does not himself first possess, by what means does the state derive the right to engage in behaviors from which the public is prohibited?
|
|
|
ChuckOne
Sr. Member
Offline
Activity: 364
Merit: 250
☕ NXT-4BTE-8Y4K-CDS2-6TB82
|
|
March 21, 2014, 06:33:52 PM |
|
I think cross-chain trading would be the most accurate.
You do not transfer or transact from one chain to another but trade together.
It all happens on "the one chain" though (the Nxt block chain) which is why I think "cross-chain" would be misleading for this. Not sure. I am no native speaker. Nevertheless, it is trading not transferring. You cannot transfer 1 BTC to 10 NXT. That makes no sense (at least not for me.)
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
March 21, 2014, 06:35:14 PM |
|
1) Valid, but account could forge on more than one node.
True that would help protect them from flooding. 2) Any idea why the pseudo-random function of BCNext is not fair? I mean, okay that is a little sample calculation. Pre-compute the next 1000000 generationSignatures and look if they behave as random as you need it. Anybody done this so far?
I don't know - this would need to be modeled and should probably be tested through testnet at least to get some idea of what we might expect for mainnet.
|
|
|
|
DrearyUrbanite
|
|
March 21, 2014, 06:35:49 PM |
|
my daughter just came in here naked and when i asked her why she was nudie she says "want pink shirt not blue shirt"...
It happens. I helped raise 7 of them and the youngest is now 20.
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
March 21, 2014, 06:36:57 PM |
|
Nevertheless, it is trading not transferring. You cannot transfer 1 BTC to 10 NXT. That makes no sense (at least not for me.)
It isn't applying to "other block chains" but just Assets within the NXT block chain. If you created an Asset called BTC and an Asset called NXT (just to confuse everyone) then actually *you could* trade 1 BTC for 10 NXT.
|
|
|
|
mczarnek
|
|
March 21, 2014, 06:37:48 PM |
|
we could just do 1 pow block every 24 hours and extend the active stake holding time out from 1 day to 3-7 days. (which it always should have been imo anyway). 1 pow block per day isnt that bad is it? and it would give us soooo much extra security. Doesn't this ruin "transparency" of forging for blocks that r close to a moment when a PoW block to be generated? not necessarily. first you decide how many blocks into the future it is ideal for people to be able to predict. lets say 10 as an offhand example. once someone submits a valid pow block you could record it then but not have it effect the process of deduction until 10 blocks after its submission. so for example say it was submitted as block 100,000. you could make it so that that hashing this block isnt part of the generation sigature perramiter until block 100,010. its actually a really really solid solution the only drawback is that everyone will say "na na na boo boo we told you so" *edit* also i need to give credit to my uncle, it may actually be his idea, we arnt sure who thought of it first. The idea is that you need to prevent people from manipulating accounts so that the hash ends up just right to ensure that they are chosen as the next account to forge, correct? Maybe this isn't completely right but I feel like there is something to the idea of all forgers passing around tiny transactions every block. Am I misunderstanding something? Small tweak to the sending small amounts around idea. It's sort of proof of burn like but not quite. How about this, give everyone another tiny record, say 1 byte, to specifically to be used for this purpose. If you would like to forge, and this record shows that you are ahead, then you have to pay the minimum transaction fee in order to do it and we increment this account to say that you are at -0.03 Nxt. If you get to be at -0.1 Nxt, you are allowed to forge without paying a fee. Who do you pay this minimum transaction fee to? Every forging machine randomly picks someone else who is negative and they send their small transaction fees to that machine. Some people will get out of the hole at which point they are not allowed to forge, until they pay enough transaction fees to other random miners. Or something along those lines, maybe they can forge if they are 1 transaction fee ahead, just in case somehow every forger's balance out there balances out to be even. You would have to worry that people would forge just long enough to be ahead then transfer their stop forging, transfer their Nxt to another account and start up again but that's why you use tiny transaction fees. So it it proof of burn like, except that you get paid back and all it does is ensure that a whole bunch of forgers will be randomly passing Nxt around between each other, therefore randomizing the account balances to be used for choosing who forgers next.
|
|
|
|
Daedelus
|
|
March 21, 2014, 06:39:17 PM |
|
Nevertheless, it is trading not transferring. You cannot transfer 1 BTC to 10 NXT. That makes no sense (at least not for me.)
It isn't applying to "other block chains" but just Assets. If you created an Asset called BTC and an Asset called NXT (just to confuse everyone) then actually *you could* trade 1 BTC for 10 NXT. I'm gonna get this wrong... But that is part of the fun! We all learn together (except CIYAM who knows everything already!)
|
|
|
|
mczarnek
|
|
March 21, 2014, 06:41:29 PM |
|
For that matter isn't the whole idea of waiting 1440 blocks that there is no way of predicting what every single person involved will do? This works right?
That works and doesn't cause any issues, we're just trying to shorten this time right?
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
March 21, 2014, 06:43:27 PM |
|
For that matter isn't the whole idea of waiting 1440 blocks that there is no way of predicting what every single person involved will do? This works right?
We're just trying to shorten this time right?
It would be perhaps useful to shorten the time but also to have some "math" to show that our "lottery" is "fair" (at least to a statistically acceptable level). Shortening might be useful to other types of "gambling" games I guess (although I am not so interested in working on that stuff myself).
|
|
|
|
Anon136
Legendary
Offline
Activity: 1722
Merit: 1217
|
|
March 21, 2014, 06:44:09 PM |
|
For that matter isn't the whole idea of waiting 1440 blocks that there is no way of predicting what every single person involved will do? This works right?
That works and doesn't cause any issues, we're just trying to shorten this time right?
we are trying to make 10 or so blocks reliably predictable and 1440 blocks reliably unpredictable at the same time.
|
Rep Thread: https://bitcointalk.org/index.php?topic=381041If one can not confer upon another a right which he does not himself first possess, by what means does the state derive the right to engage in behaviors from which the public is prohibited?
|
|
|
mthcl
|
|
March 21, 2014, 06:48:16 PM |
|
Do I understand correctly that there is concern about the fact that the "randomness" is actually pseudorandomness (i.e., it is deterministic, but not predictable)?
In this case, we can just put some "true randomness from the real world" in: take some parameter which is rapidly changing in time and is not controlled by one person or entity, and use it as an additional randomizer. For instance, total amount of all transactions (and/or fees) in the previous block could act as this randomizer.
|
|
|
|
ChuckOne
Sr. Member
Offline
Activity: 364
Merit: 250
☕ NXT-4BTE-8Y4K-CDS2-6TB82
|
|
March 21, 2014, 06:49:17 PM |
|
So, it comes down to: do we need an x > 1 and what for do we need that?
Yup - that's it in a nutshell - the two reasons we might need that are: 1. To help prevent "flood attacks" (by making the flooder have to attack more than one IP address) 2. To help improve "randomness" so things like the "lottery" (and other similar things) are viewed as "statistically fair". As my attack vector above makes no sense due to false assumptions I made, let me correct it: 1) pre-calculates generationSignatures until he founds that he has control over then next 1442 blocks, let's say that might be at block X (he now tries to lengthen his row bit by bit by simulating the following steps) 2) he funds an account by transferring (a+1) NXT to it at block X+1 3) he creates the account's key by sending 1 NXT back to him at block X+2 (that account can now forge with balance of a NXT at block X+1443) 4) he calculates the hit for that very block X+1443 and determines how much a is needed to be the best forger 4.1) if the hit is too big, he chooses a different account and start again at 2) 4.2) if the hit is appropriately low, he really performs 2) and 3) 5) go back to 2) and create forging account for block X+1444 This way, the attacker can lengthen his row bit by bit. So, if there will every be a row of 1440 blocks, it is over.
|
|
|
|
Come-from-Beyond
Legendary
Offline
Activity: 2142
Merit: 1010
Newbie
|
|
March 21, 2014, 06:50:14 PM |
|
Do I understand correctly that there is concern about the fact that the "randomness" is actually pseudorandomness (i.e., it is deterministic, but not predictable)?
In this case, we can just put some "true randomness from the real world" in: take some parameter which is rapidly changing in time and is not controlled by one person or entity, and use it as an additional randomizer. For instance, total amount of all transactions (and/or fees) in the previous block could act as this randomizer.
We can't coz an entity with a lot of computing power will be able to game the system.
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
March 21, 2014, 06:52:22 PM |
|
Do I understand correctly that there is concern about the fact that the "randomness" is actually pseudorandomness (i.e., it is deterministic, but not predictable)?
In this case, we can just put some "true randomness from the real world" in: take some parameter which is rapidly changing in time and is not controlled by one person or entity, and use it as an additional randomizer. For instance, total amount of all transactions (and/or fees) in the previous block could act as this randomizer.
We'd have to carefully consider whether that is possible but as CfB points out because nodes "choose" which txs to include gaming is always something that could be a problem.
|
|
|
|
ChuckOne
Sr. Member
Offline
Activity: 364
Merit: 250
☕ NXT-4BTE-8Y4K-CDS2-6TB82
|
|
March 21, 2014, 06:56:15 PM |
|
Nevertheless, it is trading not transferring. You cannot transfer 1 BTC to 10 NXT. That makes no sense (at least not for me.)
It isn't applying to "other block chains" but just Assets within the NXT block chain. If you created an Asset called BTC and an Asset called NXT (just to confuse everyone) then actually *you could* trade 1 BTC for 10 NXT. I do not understand. I trade a thing for another thing. In what physical modes the first thing and the second thing are, is not relevant. It is still trading, right? Trading = 2 Transfers (1 on BTC chain and 1 on NXT chain; both need to be synchronized and secured against each other etc. etc.) Well, at least, it does not confuse people. Some of them think, we can manage bitcoin on the NXT chain, because we transfer BTC on NXT.
|
|
|
|
mthcl
|
|
March 21, 2014, 06:57:46 PM |
|
Do I understand correctly that there is concern about the fact that the "randomness" is actually pseudorandomness (i.e., it is deterministic, but not predictable)?
In this case, we can just put some "true randomness from the real world" in: take some parameter which is rapidly changing in time and is not controlled by one person or entity, and use it as an additional randomizer. For instance, total amount of all transactions (and/or fees) in the previous block could act as this randomizer.
We can't coz an entity with a lot of computing power will be able to game the system. Ok, not this. But maybe there are other parameters of the network that change rapidly and that no one can effectively control (number of forging nodes, ..., whatever)?
|
|
|
|
mikesbmw
|
|
March 21, 2014, 06:58:10 PM |
|
Hmmm, Cryptsy is at it again... Deposited 7500 NXT, 22 hours ago and it is still not added to my balance. It arrived, minutes after sending, at the correct address. After some e-mails back and forth this was their final response: ------ Thank you for providing the information needed. NXT deposits and withdraws are delayed. NXT is a new coin that we have introduced. There will be some delays as our technical team along with the developers of this coin are working hard to make this new coin run smoothly. Please bear with us as we work to improve your trading experience. Thank you for your patience and understanding. ------
|
|
|
|
Come-from-Beyond
Legendary
Offline
Activity: 2142
Merit: 1010
Newbie
|
|
March 21, 2014, 06:58:47 PM |
|
Ok, not this. But maybe there are other parameters of the network that change rapidly and that no one can effectively control (number of forging nodes, ..., whatever)?
Network topology, but we r already going to use it.
|
|
|
|
|