Come-from-Beyond (OP)
Legendary
Offline
Activity: 2142
Merit: 1010
Newbie
|
|
January 28, 2014, 02:59:27 PM |
|
with transparent forging, could a block forger choose to not send ANY transactions except its own, a block chock full of only his own transactions, and do so for free while completely ignoring everyone elses transactions?
Yes, feel free to include only ur own transactions or none at all. am I the only one who doesnt like this? The secret is that in the future each block will be forged by 2-3 accounts and they will have to compete. U will notice that ur blocks become orphaned too often if u include only ur transactions.
|
|
|
|
starik69
Legendary
Offline
Activity: 1367
Merit: 1000
|
|
January 28, 2014, 03:29:03 PM |
|
dumb question:
Can I forge a block,when port 7874 is closed on my router?
I am successfully forging behind NAT and rooter without any port forwarding. Dunno if port is specially closed.
|
|
|
|
opticalcarrier
|
|
January 28, 2014, 03:48:07 PM |
|
dumb question:
Can I forge a block,when port 7874 is closed on my router?
I am successfully forging behind NAT and rooter without any port forwarding. Dunno if port is specially closed. I wouldnt see why it would specifically be open. all this means is that no peers can create connections to you - all connections you have are ones that you originate, first out to your wellknownpeers, and then to the peers they tell you about.
|
|
|
|
|
starik69
Legendary
Offline
Activity: 1367
Merit: 1000
|
|
January 28, 2014, 04:33:49 PM |
|
dumb question:
Can I forge a block,when port 7874 is closed on my router?
I am successfully forging behind NAT and rooter without any port forwarding. Dunno if port is specially closed. I wouldnt see why it would specifically be open. all this means is that no peers can create connections to you - all connections you have are ones that you originate, first out to your wellknownpeers, and then to the peers they tell you about. Yes, i think if you can connect to others 7874 port then you can forge. Is it EXACTLY how forging works?
Well, yes, but of course that presentation is somewhat simplified and there are more technical details.
|
|
|
|
martismartis
Legendary
Offline
Activity: 1162
Merit: 1005
|
|
January 28, 2014, 04:48:20 PM |
|
dumb question:
Can I forge a block,when port 7874 is closed on my router?
I am successfully forging behind NAT and rooter without any port forwarding. Dunno if port is specially closed. I wouldnt see why it would specifically be open. all this means is that no peers can create connections to you - all connections you have are ones that you originate, first out to your wellknownpeers, and then to the peers they tell you about. Yes, i think if you can connect to others 7874 port then you can forge. Is it EXACTLY how forging works?
Well, yes, but of course that presentation is somewhat simplified and there are more technical details. Starik, could please check your configuration of port 7874 at http://www.yougetsignal.com/tools/open-ports/ ? Is it closed or open? Regarding video, I think it is not correct, how forging is working in real. I'm trying to understand this video as simple Joe, but in reality I have, it is not exactly, as it showed in video. Am i wrong?
|
|
|
|
starik69
Legendary
Offline
Activity: 1367
Merit: 1000
|
|
January 28, 2014, 04:57:31 PM |
|
I have a somewhat complicated setup of comps now, but be sure last month i did several tests with exact this online tool and could forge with 7874 port reported closed. Regarding video, I think it is not correct, how forging is working in real. I'm trying to understand this video as simple Joe, but in reality I have, it is not exactly, as it showed in video. Am i wrong?
What exactly you think is wrong?
|
|
|
|
martismartis
Legendary
Offline
Activity: 1162
Merit: 1005
|
|
January 28, 2014, 05:04:53 PM |
|
I have a somewhat complicated setup of comps now, but be sure last month i did several tests with exact this online tool and could forge with 7874 port reported closed. Regarding video, I think it is not correct, how forging is working in real. I'm trying to understand this video as simple Joe, but in reality I have, it is not exactly, as it showed in video. Am i wrong?
What exactly you think is wrong? Principle of forging.
|
|
|
|
starik69
Legendary
Offline
Activity: 1367
Merit: 1000
|
|
January 28, 2014, 05:52:57 PM |
|
Principle of forging.
That forged NXT are proportional to stake?
|
|
|
|
martismartis
Legendary
Offline
Activity: 1162
Merit: 1005
|
|
January 28, 2014, 06:16:24 PM |
|
Principle of forging.
That forged NXT are proportional to stake? Ok, I'll try to explain how simple Joe understands this video: Simple Joe understands, that forging is proportional to stake, there is no question. But according video, Joe sees that it is like some "queue". Joe has 10000 of NXT and waits for time to forge, after bigger stakes forge their own blocks. His in "queue". And after N blocks cames Joe time to forge. And he 100% forges a block. Right? Sorry for my bad English.
|
|
|
|
salsacz
|
|
January 28, 2014, 06:46:47 PM |
|
Principle of forging.
That forged NXT are proportional to stake? Ok, I'll try to explain how simple Joe understands this video: Simple Joe understands, that forging is proportional to stake, there is no question. But according video, Joe sees that it is like some "queue". Joe has 10000 of NXT and waits for time to forge, after bigger stakes forge their own blocks. His in "queue". And after N blocks cames Joe time to forge. And he 100% forges a block. Right? Sorry for my bad English. Those 4 guys represent a group of people who own different stakes. It means mostly money go to the group of people who own 3 mega. Everyone is in a qur. Rich people have shorter que than poor users
|
|
|
|
opticalcarrier
|
|
January 28, 2014, 06:58:02 PM |
|
Principle of forging.
That forged NXT are proportional to stake? Ok, I'll try to explain how simple Joe understands this video: Simple Joe understands, that forging is proportional to stake, there is no question. But according video, Joe sees that it is like some "queue". Joe has 10000 of NXT and waits for time to forge, after bigger stakes forge their own blocks. His in "queue". And after N blocks cames Joe time to forge. And he 100% forges a block. Right? Sorry for my bad English. Those 4 guys represent a group of people who own different stakes. It means mostly money go to the group of people who own 3 mega. Everyone is in a qur. Rich people have shorter que than poor users another way to put it is that if your account has 1000 NXT in it, if you run it continuously then it will forge approximately 1000/1000000000 of all blocks (which may/may not have transactions/fees in them). Actually the chances will be a better than that (replace that 1 billion denominator with the total of all NXT that is forging at the moment, yes, very hard to calculate that)
|
|
|
|
martismartis
Legendary
Offline
Activity: 1162
Merit: 1005
|
|
January 28, 2014, 07:01:04 PM |
|
Principle of forging.
That forged NXT are proportional to stake? Ok, I'll try to explain how simple Joe understands this video: Simple Joe understands, that forging is proportional to stake, there is no question. But according video, Joe sees that it is like some "queue". Joe has 10000 of NXT and waits for time to forge, after bigger stakes forge their own blocks. His in "queue". And after N blocks cames Joe time to forge. And he 100% forges a block. Right? Sorry for my bad English. Those 4 guys represent a group of people who own different stakes. It means mostly money go to the group of people who own 3 mega. Everyone is in a qur. Rich people have shorter que than poor users Ok, back to reality now. So, it is some kind of "queue", also Salsacz confirm, bigger stack- shorter "queue". Now lets go to Joe. Joe waited waited and finally here it come his time to forge. He gets his chance and instead of forging he gets "generating and incorrect block... What is this? 1) bug in software; 2) bug in Joe PC configuration; 3) this is algorythm and it should be like this, cool down Joe 4) it was lottery ticket, but unlucky; 5) ... P.S. in one month period, joe was running newest version of server and client 24/7 and got 30-40 times this error only, no block forged. Stake is around 31000 NXT.
|
|
|
|
ZeroTheGreat
|
|
January 29, 2014, 04:07:50 AM |
|
3)
Not queue, chances.
Do the math: how many hundreds of millions of NXT're regularly forging, how many blocks u'd expect to forge in month with 31k of NXT. Don't forget dispersion.
|
|
|
|
jettico
Member
Offline
Activity: 80
Merit: 10
|
|
January 30, 2014, 07:48:58 PM Last edit: January 30, 2014, 08:24:27 PM by jettico |
|
A society stratification is injected into the transparent forging as is described in wiki here http://wiki.nxtcrypto.org/wiki/Transparent_Forging . Rich people get richer faster than poor people. For example, a wallet with 100k coins is 199 times more likely to forge a block than a wallet with 1k coins (instead of 100 as expected). This is bad because: 1) makes forging in pools more profitable than forging alone - less decentralization 2) makes NXT less attractive for newcomers who don't have large amounts of coins yet 3) it contradicts to what is stated in this page: http://www.nxtcrypto.org/nxt-coin/more-nxt-proof-stake-forgingHere's a python script that demonstrates the issue: import random
NBLOCKS = 1000000 W1 = 1000 W2 = 100000
na = nb = 0.
for x in xrange(NBLOCKS): a = random.uniform(0, 1./W1) b = random.uniform(0, 1./W2)
if a<b: na += 1 elif a>b: nb += 1
print nb/na
200.369311317 (instead of 100 as expected) Russian: B aлгopитм TF зaлoжeнo paccлoeниe oбщecтвa. Бoгaтыe бoгaтeют быcтpee чeм бeдныe. Haпpимep, кoшeлeк c 100k мoнeт гeнepиpyeт блoк c вepoятнocтью в 199 paз бoльшeй, чeм кoшeлeк c 1k мoнeт. Boт тyт ecть вывoд фopмyлы пo-pyccки c пpимepoм кoдa, кoтopый paccлoeниe этo ycтpaняeт: https://bitcointalk.org/index.php?topic=438479.msg4820620#msg4820620
|
|
|
|
jettico
Member
Offline
Activity: 80
Merit: 10
|
|
January 30, 2014, 08:04:42 PM Last edit: January 30, 2014, 08:16:00 PM by jettico |
|
A bit more details: Steps 3-5 in http://wiki.nxtcrypto.org/wiki/Transparent_Forging from the statistics point of view are equivalent to comparing random numbers uniformly distributed between 0 and 1/N where N is number of coins in the wallet (normalization coefficient is the same for all wallets and is omitted for clarity). Now imagine that you throw a dice with numbers from 1 to 6 and your opponent throws a semi-dice with three possible values from 1 to 3. Who gets the lower number wins the round. In half of the cases you will throw 4-6 and win. In the other half you will have 50:50 chances to win. Thus your chances are 1/2 + 1/4 = 0.75 and his chances are 1/4 = 0.25. Which is 3 times lower. For arbitrary ratio K between two wallets the probability ratio is 2K-1. For example, a wallet with 100k coins is 199 times more likely to forge a block than 1k wallet. For three wallets the situation is even worse: if they have coins in the proportion of 100:1:1 the probability of forging a block is 298:1:1. And here is the code that solves the issue: from random import random from math import log
NBLOCKS = 1000000 W1 = 1000 W2 = 100000
na = nb = 0.
for x in xrange(NBLOCKS): a = log(random())/log(1-1./W1) b = log(random())/log(1-1./W2)
if a>b: na += 1 elif a<b: nb += 1
print nb/na
99.9183570491
|
|
|
|
Come-from-Beyond (OP)
Legendary
Offline
Activity: 2142
Merit: 1010
Newbie
|
|
January 30, 2014, 08:10:41 PM |
|
Now imagine that you throw a dice with numbers from 1 to 6 and your opponent throws a semi-dice with three possible values from 1 to 3. Who gets the lower number wins the round. In half of the cases you will throw 4-6 and win. In the other half you will have 50:50 chances to win. Thus your chances are 1/2 + 1/4 = 0.75 and his chances are 1/4 = 0.25. Which is 3 times lower.
This doesn't model forging process correctly.
|
|
|
|
jettico
Member
Offline
Activity: 80
Merit: 10
|
|
January 30, 2014, 08:25:33 PM Last edit: January 30, 2014, 08:36:54 PM by jettico |
|
Reason? In the previous post I provided a python scrypt that does EXACTLY what is stated in this wiki page. http://wiki.nxtcrypto.org/wiki/Transparent_ForgingThe analogy with throwing dice is for illustrative purposes only.
|
|
|
|
sepehr
Sr. Member
Offline
Activity: 399
Merit: 250
Cryptocurrency Evangelist
|
|
January 30, 2014, 08:58:20 PM |
|
I receive this every time it wants to initiate a block creation: [2014-01-31 00:24:53.195] DEBUG: Error in block generation thread java.lang.NullPointerException at Nxt$Block.getLastBlocks(Nxt.java:1353) at Nxt$Account.getGuaranteedBalance(Nxt.java:579) at Nxt$Account.getEffectiveBalance(Nxt.java:516) at Nxt$8.run(Nxt.java:6574) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask.runAndReset(Unknown Source) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask. access$301(Unknown Source) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask. run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Any Idea why this happen?
|
Sepehr, A Cryptocurrency Evangelist
|
|
|
Come-from-Beyond (OP)
Legendary
Offline
Activity: 2142
Merit: 1010
Newbie
|
|
January 30, 2014, 09:10:09 PM |
|
The analogy with throwing dice is for illustrative purposes only.
This is the problem. 100K account does have advantage over 100x 1K accounts. But this advantage is small. In ur example it's noticeable coz u use conventional dice. If u used dice with 2^64 faces u would get other results.
|
|
|
|
|