chanc3r
|
|
February 24, 2014, 04:21:34 PM |
|
But the other part, I don't get. Can you rephrase it?
Okay - so let's say that the best ticket for the next block should be #12345 and you have #12344 and someone else has #12346. If #12345 is not transmitted then nodes will accept your ticket or the other ticket instead (remember that each node in the network can't *see* everything at once so both you and the other node after a certain amount of time waiting to see #12345 decide it isn't going to appear and "try your luck"). So your node will send out #12344 and the other node will send out #12346. The network is happy to build on one of those new chains (lets assume that the "lower" ticket closest is always the best) so now #12346 will be "penalised". It hasn't hurt the network - it is fine to keep on building with your #12344 but it has now hurt #12346 as they can't forge for a day. Also network latency makes it impossible for you to be sure whether in fact #12345 has been sent or not (due to timing it may well have but your slow internet connection means that you didn't see it on time). So if #12345 actually had been broadcast but both you and the other forger just didn't see it quickly enough then now you are both penalised. I'm not sure I understand.... So if the node with #12345 is on a slow distant part of the network and #12344 is on a nice well connected bit, nodes will see #12344 first and accept it but then they see #12345 which is the overall best ticket and accept that instead, and #12344 and #12346 which tried and ultimately were rejected when #12345 turned up a few milliseconds later both get penalised and have to wait a minimum of 1440 blocks - is that right? But strictly speaking they could now win at that point because they were not the best ticket and they were probably not the next ticket so having to wait 1440 blocks is that really a penalty?
|
|
|
|
Jean-Luc
|
|
February 24, 2014, 04:22:13 PM |
|
@jean-luc i can't seem to quit the java process (from within my code). I tried sending kill(SIGTERM) and SIGHUP but it just seems to be ignored. Is there anything else I need to do?
This is not good. You should not have to use kill -9, because this will not let the database shutdown cleanly. Try the new version, there have been some changes in the shutdown process. You should at least see the message "Database shutdown completed" in the log, if it still hangs after that it is ok to kill it, could be that some jetty server does not want to exit, but once the database is shutdown it is safe to kill the remaining threads.
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
February 24, 2014, 04:23:08 PM |
|
Can you define (in simple terms) the math model and the question about it that you need answered? I'm a mathematician (Probability/Stochastic processes), but understand little how cryptocurrencies actually work, I have to confess that I understand almost nothing of the tech talk over here...
I will try my best (math is not my strength - logic is). Basically the way that TF works is that there is a crypto hash for each block which was calculated from the previous' block hash and the "forgers" account. This hash then determines who's account is the "best" to forge the next block so in a perfect situation if we consider that the max. "weight" of a block is 100 then you would see a blockchain like this: A(100) B(100) C(100) D(100) but things aren't perfect as some people won't forge (or pass on their forging right) so the network allows other "less perfect" blocks to be announced and each node will accept the best one that they see to try and keep building on the chain. A(80) B(90) C(50) The problem of "forking" is because each node can't see everything in the network (due to latency) so you could also end up with: A(80) B(95) C(10) with these "forks" ending up becoming "ignored" because a longer "better" chain has been noticed by the node. So the problem we are dealing with is that B(95) could "hide" their block and then announce it *after* B(90) which would at least for 1 block make it a "better chain". But as others will build upon what they see then it won't necessarily *matter* that B(95) was better than B(90) because C(50) is better than C(10) and so B's attempt to "create a fork" will fail. If though someone has the ability to produce a better B, C, D, E, etc. then they could replace a large number of blocks. This is known in Bitcoin as the >50% attack. We need to work out the probabilities of all this including how "penalising" a node for "not forging" changes this.
|
|
|
|
verymuchso
Sr. Member
Offline
Activity: 421
Merit: 250
HEAT Ledger
|
|
February 24, 2014, 04:28:44 PM |
|
Improved handling of init and shutdown. .. Delayed starting the blockchain scan .. Load it from the file defined in the system property
Beers for you!
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
February 24, 2014, 04:30:10 PM |
|
But strictly speaking they could now win at that point because they were not the best ticket and they were probably not the next ticket so having to wait 1440 blocks is that really a penalty?
It really is a penalty as they now have no chance to forge a block for 24 hours (I wouldn't be surprised if people ended up modifying the software to "go to sleep" for 24 hours in that situation). Also it doesn't really matter being "the best" as we are building "chains" (the weight of the entire chain is what is best rather than each specific block in it).
|
|
|
|
chanc3r
|
|
February 24, 2014, 04:31:42 PM |
|
But strictly speaking they could now win at that point because they were not the best ticket and they were probably not the next ticket so having to wait 1440 blocks is that really a penalty?
It really is a penalty as they now have no chance to forge a block for 24 hours (I wouldn't be surprised if people ended up modifying the software to "go to sleep" for 24 hours in that situation). Also it doesn't really matter being "the best" as we are building "chains" (the weight of the entire chain is what is best rather than each specific block in it). Yeah I think I would stop competing unless I was the best ticket because of the penalty... If that mod comes out that is not good for the network at all.
|
|
|
|
rickyjames
|
|
February 24, 2014, 04:31:59 PM |
|
rickyjames: print the form, fill the form, scan the form, send it to Stephen Nifty was also in a phone contact with Paul, so lets wait for his news too Done. I am in email contact with Nifty too.
|
|
|
|
rickyjames
|
|
February 24, 2014, 04:38:32 PM |
|
I pay 20 dollar per month for 2MB VPS. Because i belive in nxt ecosystem
The quetión is whether we can increase the number of transactions per block to 100 The question is whether a 1900 nxt node will want to wait a year to forge The question is whether the value will rise soon nxt 1 dollar The question is profitable to keep the funds in an account standing. which is the opportunity cost
Keep thinking. You've got $1900 in cash. How much can somebody make per month with $1900 spent on joining a DOGE pool instead of acquiring a stake in NXT? NXT is in competition with the real world running on a profit motive. Believers in the NXT ecosystem are going to be running at a loss, month after month... is much better nxt ecosystem. the cost of maintaining the network is a lot more economical. inflation is a lot smaller. I agree. I agree. I agree. Believers in the NXT ecosystem are going to be running at a loss, month after month... What do you suggest then? Recognition by all that node support of NXT is not going to work as a reward based system. Trying to come up with the cheapest possible support node architecture that will get the job done, whatever "the job" is. Only when you know what node support really costs, can you start designing a system to pay for it. Everybody is worried about paying enough towards the forgers to keep them motivated. We need to worry first about paying enough towards the network to keep it alive.
|
|
|
|
igmaca
|
|
February 24, 2014, 04:42:08 PM |
|
I pay 20 dollar per month for 2MB VPS. Because i belive in nxt ecosystem
The quetión is whether we can increase the number of transactions per block to 100 The question is whether a 1900 nxt node will want to wait a year to forge The question is whether the value will rise soon nxt 1 dollar The question is profitable to keep the funds in an account standing. which is the opportunity cost
Keep thinking. You've got $1900 in cash. How much can somebody make per month with $1900 spent on joining a DOGE pool instead of acquiring a stake in NXT? NXT is in competition with the real world running on a profit motive. Believers in the NXT ecosystem are going to be running at a loss, month after month... is much better nxt ecosystem. the cost of maintaining the network is a lot more economical. inflation is a lot smaller. I agree. I agree. I agree. Believers in the NXT ecosystem are going to be running at a loss, month after month... What do you suggest then? Recognition by all that node support of NXT is not going to work as a reward based system. Trying to come up with the cheapest possible support node architecture that will get the job done, whatever "the job" is. Only when you know what node support really costs, can you start designing a system to pay for it. Everybody is worried about paying enough towards the forgers to keep them motivated. We need to worry first about paying enough towards the network to keep it alive. I AGREE. As I can help at your disposal
|
|
|
|
marcus03
|
|
February 24, 2014, 04:43:37 PM |
|
Improved handling of init and shutdown. Nxt.shutdown() is now public and client developers can call it. When Nxt is started as a standalone application by calling main(), it will schedule a shutdown hook, otherwise if started using init(), the caller of init() is responsible for calling shutdown() or scheduling a shutdown hook.
Can I call init() and shutdown() from a linux command line? If so, how is the syntax? Also, here is a bug that I see with 0.8.0e: https://bitcointalk.org/index.php?topic=313082.msg5338925#msg5338925Haven't test with 0.8.1e yet. EDIT: It's also in 0.8.1e.
|
|
|
|
Fatih87SK
|
|
February 24, 2014, 04:45:54 PM |
|
I'm not technical. So you can ignore me if I say something stupid.
Isn't it possible to build something on top of NXT that can be more profitable for the forgers around us to keep the network safe?
I thought James was experimenting with such a coin earlier.
|
|
|
|
Lawmaker
Newbie
Offline
Activity: 8
Merit: 0
|
|
February 24, 2014, 04:46:09 PM |
|
Suppose someone leases forging power to a pool, and then forgets about it... Wouldn't he eventually own all nxt in existence?
Not possible as no reasonable person is likely to "spend their very last NXT" on a transaction fee. Sorry, I didn't express my point well enough. I mean, eventually there would be one account with close to 1000000000 nxt, and many accounts with 1 nxt, none of them able to do anything.
|
|
|
|
pinarello
Full Member
Offline
Activity: 266
Merit: 100
NXT is the future
|
|
February 24, 2014, 04:48:34 PM |
|
Why dont we update the NXT network?
|
|
|
|
bitcoinpaul
|
|
February 24, 2014, 04:49:36 PM |
|
Why dont we update the NXT network? Experimental?
|
|
|
|
pinarello
Full Member
Offline
Activity: 266
Merit: 100
NXT is the future
|
|
February 24, 2014, 04:53:49 PM |
|
Why dont we update the NXT network? Experimental? Ah, okay thank you, didnt know the 0.8.x version are experimental.
|
|
|
|
Anon136
Legendary
Offline
Activity: 1722
Merit: 1217
|
|
February 24, 2014, 04:56:38 PM |
|
is anyone here experienced with cad? does anyone know anyone who is experienced and talented with cad?
|
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?
|
|
|
Jean-Luc
|
|
February 24, 2014, 04:57:47 PM |
|
Why dont we update the NXT network?
I am only waiting for client developers to say they fully support the 0.8 branch, and to have the user friendly installer packages ready, before announcing it stable. I don't think it is unstable at all. We have to move to the 0.8 branch before I can start working on incompatible features such as adding transaction type for fractional Nxt amounts.
|
|
|
|
pinarello
Full Member
Offline
Activity: 266
Merit: 100
NXT is the future
|
|
February 24, 2014, 04:59:58 PM |
|
Why dont we update the NXT network?
I am only waiting for client developers to say they fully support the 0.8 branch, and to have the user friendly installer packages ready, before announcing it stable. I don't think it is unstable at all. We have to move to the 0.8 branch before I can start working on incompatible features such as adding transaction type for fractional Nxt amounts. guys lets update to 0.8 branche pls... thank you and lets test some 0.8 clients.
|
|
|
|
Jean-Luc
|
|
February 24, 2014, 05:01:12 PM |
|
Can I call init() and shutdown() from a linux command line? If so, how is the syntax?
No, these are java method calls only. OK, the fix will be in the next release.
|
|
|
|
mthcl
|
|
February 24, 2014, 05:01:45 PM |
|
Can you define (in simple terms) the math model and the question about it that you need answered? I'm a mathematician (Probability/Stochastic processes), but understand little how cryptocurrencies actually work, I have to confess that I understand almost nothing of the tech talk over here...
I will try my best (math is not my strength - logic is). Basically the way that TF works is that there is a crypto hash for each block which was calculated from the previous' block hash and the "forgers" account. This hash then determines who's account is the "best" to forge the next block so in a perfect situation if we consider that the max. "weight" of a block is 100 then you would see a blockchain like this: A(100) B(100) C(100) D(100) but things aren't perfect as some people won't forge (or pass on their forging right) so the network allows other "less perfect" blocks to be announced and each node will accept the best one that they see to try and keep building on the chain. A(80) B(90) C(50) The problem of "forking" is because each node can't see everything in the network (due to latency) so you could also end up with: A(80) B(95) C(10) with these "forks" ending up becoming "ignored" because a longer "better" chain has been noticed by the node. So the problem we are dealing with is that B(95) could "hide" their block and then announce it *after* B(90) which would at least for 1 block make it a "better chain". But as others will build upon what they see then it won't necessarily *matter* that B(95) was better than B(90) because C(50) is better than C(10) and so B's attempt to "create a fork" will fail. If though someone has the ability to produce a better B, C, D, E, etc. then they could replace a large number of blocks. This is known in Bitcoin as the >50% attack. We need to work out the probabilities of all this including how "penalising" a node for "not forging" changes this. OK, let's try to make the notations more clear. Who are A,B,C,D? Blocks, right (not nodes)? Shall we write "A(80) B'(95) C'(10)" in your example then? Maybe, define it this way: - assume for now that we have a static picture (no transactions between accounts), and there are accounts (nodes) 1,...,N with balances M_1,...,M_N on them; - the time is discrete, and at each moment k each (active) node j calculates its current weight W_k as a (randomized?) function of M_j and B^j_{k-1} (the previous block in the blockchain that the node j thinks to be "official") - the network then chooses j_0 such that W_{j_0}>W_i for all i not equal to j_0, and lets the node j_0 forge the block B_k; then L_k=W_{j_0} is the weight of this block. Now, what I don't really understand, is how a node really determines, which branch is "official"? By looking who has the majority among its neighbors in the network?
|
|
|
|
|