Bitcoin Forum
May 13, 2024, 02:31:18 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 2 3 4 5 6 7 8 9 10 11 [12] 13 14 15 16 17 18 19 »
221  Alternate cryptocurrencies / Announcements (Altcoins) / Re: NXT :: descendant of Bitcoin - Updated Information on: March 12, 2014, 12:19:18 AM
Version 0.2 of the article: http://www.docdroid.net/a08e/forging.pdf.html (several misprints corrected and a numerical example added). Thanks a lot to everybody who sent me comments, suggestions, and NXT!

Question: can someone help me to plot the funcion delta(b) in (13), so that I can include the plot there? Pdf or png are OK.

Just a reminder: discuss it in https://forums.nxtcrypto.org/viewtopic.php?f=17&t=836&p=4352, or send me a PM.
222  Alternate cryptocurrencies / Announcements (Altcoins) / Re: NXT :: descendant of Bitcoin - Updated Information on: March 11, 2014, 12:16:45 AM
I've completed the 1st draft of my article about forging from a probabilistic point of view: http://www.docdroid.net/9yub/forging.pdf.html

Comments, suggestions, (and donations Wink) are welcome!

Please, discuss it here: https://forums.nxtcrypto.org/viewtopic.php?f=17&t=836 (or send me a PM). Unfortunately, I won't be able to follow this thread in the next few days.
223  Local / Criptomoedas Alternativas / Re: [EXO] - oportunidade de investimento on: March 05, 2014, 08:47:12 PM
Acabou o investimento em cotas? Como não vi isso? Porque ninguém se interessou e deixou esse tópico ir pro limbo. rsrs
Mas como ela vai ser mais justa se a mineração será rápida para uma grande quantia? Vão fazer um mineiro próprio?
Vão minerar tudo primeiro e distribuir?

...
- bolsa descentralizada p2p dentra da carteira GUI/cmd! [só BTC <--> EXOy] com proteção anti-fraude para as duas partes da negociação!
...
É a primeira a implementar isso?
E tem mais alguma coisa em que posso ajudar, ou fase que posso participar?   Smiley
Parece que a ideia deles 'e minerar tudo em 6 meses justamente para que ninguem tenha tempo para construir um ASIC e obter uma vantagem muito grande.

Com relaccao a bolsa descentralizada, parece que no Nxt isso vai sair daqui a pouco. Alias, no proprio NEM isso tambem 'e planejado, nao 'e?
224  Alternate cryptocurrencies / Announcements (Altcoins) / Re: Nxt marketing & promotion :: Infographics and Articles Bounties on: March 01, 2014, 02:02:22 PM
I'm almost sure that someone already mentioned this, but, just in case...

Should be good for marketing: there is a very fundamental difference between 51% attacks in PoS and PoW. In PoW, if somebody controls 51% of hashing power, he call kill not only, say, BTC, but also all of its clones that rely on the same kind of algorithm, with no additional cost.  In PoS, however, after spending a lot of money to get a sufficient stake and killing a coin, the bad guy would have to spend more and more money to kill the clones that the community may start after.
225  Local / Альтернативные криптовалюты / Re: [EXO][PoS + PoW] eXocoin - криптовалюта поколения 2.0! on: February 28, 2014, 11:19:52 PM
Что слышно с ехо?Какие новости?
Вроде как, в это воскресенье обещают вторую версию whitepaper.
226  Alternate cryptocurrencies / Announcements (Altcoins) / Re: NXT :: descendant of Bitcoin - Updated Information on: February 28, 2014, 02:36:44 PM
Just an update on my recent calculations.

I'm assuming that the algorithm currently used may be roughly approximated by the following model. Let gi be the balance of ith account expressed in billions of NXT (so the sum of all balances equals 1). To decide who will generate the next block, take i.i.d. Uniform[0,1] random variables U1,...,Un (n is the total number of accounts; I'm assuming also that they are all forging), and calculate Wi=gi/Ui. The account for which W. is maximized, will forge, and the corresponding weight is called the weight of the block.

As noted before, this approach slightly favors bigger accounts; in order to make the forging power exactly (up to computational errors) proportional to the balance, one must use Wi=gi/|ln Ui| instead. CfB told me that BCNext preferred not to use logs in order to discourage splitting of big accounts (what for - anybody knows?). Anyhow, if all gi s are small (compared to total amount), then the two approaches are almost indistinguishable, and it's easy to justify it mathematically (will do it in the paper).
In the case of concurrent blockchains, wins the one for which the sum of inverse weights is minimal. (Currently wins the longest one, but these two approaches are, in fact, equivalent.)

Now, we consider the following situation: one big bad guy has b billions-of-NXT, and the others are poor, honest, and many. The bad guy (with his minions) "accidentally" disconnects from the network, and secretly forges a branch of length m. Let us consider the (future) situation with one-block-per-minute, and estimate the probability that this "bad" branch wins over the "good" one.

In the "ideal" situation (when the forging power is exactly proportional to the balance, the above approach with logarithms), the probability of this event will be of order
(4b(1-b))m   for b<0.5.
Observe that 4b(1-b)<1 for b<0.5, so the probability decreases rather fast.

On the other hand, with the current setup (when one divides by uniform r.v. instead of dividing by log of it), this probability only tends to 0 for b<1/3 (I'll write the formula in the paper, since it's much more complicated). The reason for this is easy to explain: the inverse weight produced by good guys has Exponential(1-b) distribution, and so its expectation is 1/(1-b). Now, the inverse weight produced by the bad guy has Uniform[0,1/b] distribution, with expectation 1/(2b). Solving 1/(1-b)<1/(2b), we arrive to b<1/3.

Now, I'm not sure if there is a mathematical solution about how to fence off an attack of someone with b>1/3 (or b>0.5 in the other setting)...

In the next couple of weeks I'll go to a conference in Ulm and then receive an important visitor, so, most probably, I won't be able to read this thread in full (though, of course, I'll check PMs and read Damelon's summaries). Sure, I promise to type all these calculations in an organized way (style of modern math paper; will try to speed it up). Please, discuss it at https://forums.nxtcrypto.org/, this topic: https://forums.nxtcrypto.org/viewtopic.php?f=17&t=836
227  Alternate cryptocurrencies / Announcements (Altcoins) / Re: NXT :: descendant of Bitcoin - Updated Information on: February 26, 2014, 06:52:28 PM

Now this is the kind of thing that is *valuable* (more so than all the "suggestions" about different ways to do things).

I am grateful to @mthcl for actually "doing some math" for us and hope that he will be able to help us to analyse things further in order to make some "scientific decisions" (rather than "populist" ones).

EDIT: If some of the "whales" could spare some of their NXT then I would hope they would consider sending some his way.


+1    600 nxt sent to him,ty^^
thx a lot!
228  Alternate cryptocurrencies / Announcements (Altcoins) / Re: NXT :: descendant of Bitcoin - Updated Information on: February 26, 2014, 06:47:35 PM
We need a probability distribution for these streaks. Absolute numbers are irrelevant.

See the paper I linked here: https://bitcointalk.org/index.php?topic=345619.msg5390133#msg5390133  (pages 202-204).
229  Alternate cryptocurrencies / Announcements (Altcoins) / Re: NXT :: descendant of Bitcoin - Updated Information on: February 26, 2014, 06:44:52 PM
It seems that things like "proper analysis" are not things that this community wants to do or even hear about. Sad


I have no freakin' clue why you come to this conclusion. I am extremely satisfied with and thankful for your contribution and we all discussed the algo today. Why do you suddenly think no one wants this?

I also don't understand why such a conclusion. Many people sent me NXT since I've started writing formulas here (thanks a lot to all!!!), so I would say that there is interest in the community for such things.
230  Alternate cryptocurrencies / Announcements (Altcoins) / Re: NXT :: descendant of Bitcoin - Updated Information on: February 26, 2014, 06:35:23 PM
By the way, just for the record: let Rn be the longest sequence of consecutive blocks generated by an account whose block generating probability is p (i.e., Rn is the longest run of the blocks by that account), up to the nth block. Then it is known that Rn is concentrated around
log1/p(qn) + γ/ln(1/p) - 1/2
with known variance, where q=1-p and γ≈0.577 is the Euler-Mascheroni constant. See e.g. formulas (5)-(6) in https://www.maa.org/sites/default/files/pdf/upload_library/22/Polya/07468342.di020742.02p0021g.pdf.
231  Alternate cryptocurrencies / Announcements (Altcoins) / Re: NXT :: descendant of Bitcoin - Updated Information on: February 26, 2014, 06:04:26 PM
@all: Where did you obtain your knowledge regarding the used algorithm in Nxt?
From conversations with CfB and Ian.
232  Alternate cryptocurrencies / Announcements (Altcoins) / Re: NXT :: descendant of Bitcoin - Updated Information on: February 26, 2014, 05:57:13 PM
The time in the nxt algorithm doesnt decide who will forge, just when he will forge the block.

That is *not* my current understanding (and why my updated model now seems to match the *real* stats).
Here I would agree with BloodyRookie, since all targets remain proportional as time grows.
233  Alternate cryptocurrencies / Announcements (Altcoins) / Re: NXT :: descendant of Bitcoin - Updated Information on: February 26, 2014, 05:42:36 PM
I've made some computations (with paper and pencil) for the situation when one rich guy has proportion p of all money, and the rest is well spread between many people, and here is the result:
https://www.wolframalpha.com/input/?i=plot+of+f%28p%29%3Dp%281-exp%28-%281-p%29%2Fp%29%29%2F%281-p%29++for+p\in+%280%2C1%29
This is for the current implementation (without logarithms); f(p) is the probability the the rich guy generates a block. As you see, it is biased, but only slightly. Indeed, as BCNxt intended, it is a little bit better to concentrate one's money in one account.

UPD. here it is:
234  Alternate cryptocurrencies / Announcements (Altcoins) / Re: NXT :: descendant of Bitcoin - Updated Information on: February 26, 2014, 04:59:52 PM
this I don't understand at all - what exactly was your algorithm for calculating weights?

As stated in my other posts my initial algorithm was not a good "model" (and needed "log" to give the expected results).

It wasn't taking into account the idea that your "ticket number" actually "changes with time" (my updated version does that and produces very much the same as "log" results that the earlier version got without actually using "log").


yes, I started to reply before reading the thread to the end.
Sorry!  Smiley
235  Alternate cryptocurrencies / Announcements (Altcoins) / Re: NXT :: descendant of Bitcoin - Updated Information on: February 26, 2014, 04:36:08 PM
People have been wondering about some of the figures that my simulator has come up with so far - but there is actually a much worse picture here than I have so far shown as my simulator has been using "log(balance)" rather than just "balance" as the "stake multiplier".

So get ready for something that approaches more closely how Nxt actually works as it does not use log(balance):

blocks = 1440
a: 10
b: 10
c: 10
d: 10
e: 10
f: 50
wins( a ) = 48
wins( b ) = 50
wins( c ) = 50
wins( d ) = 41
wins( e ) = 52
wins( f ) = 1199
best_streak( a ) = 2
best_streak( b ) = 2
best_streak( c ) = 2
best_streak( d ) = 2
best_streak( e ) = 2
best_streak( f ) = 49
best_combined_streak = 3

In particular pay attention to the figure for "f" in regards to both "wins" and its "best streak".

this I don't understand at all - what exactly was your algorithm for calculating weights?
236  Alternate cryptocurrencies / Announcements (Altcoins) / Re: NXT :: descendant of Bitcoin - Updated Information on: February 26, 2014, 04:34:13 PM
That's not how the nxt forging algorithm works.
You are looking for the maximum of random number * balance to get the winner where you really should calculate the minimum of random number / balance and let the minimum win.

I think that how you choose the winner is irrelevant - it is only the probabilities that matter here.

I think the rule of choosing the winner is relevant - it affects the probability distributions...

Also, could you run your simulations (with the correction of BloodyRookie) in the situation when the rich guy has around 0.35 of all NXT and there are around 10 poor guys with equal stakes? Some quick computations that I've just did indicate that the ROI for the rich guy would be maximal in this case...
237  Alternate cryptocurrencies / Announcements (Altcoins) / Re: NXT :: descendant of Bitcoin - Updated Information on: February 26, 2014, 04:30:08 PM
Here is the source code to my simulator:

Code:
#ifndef USE_LOG
         weights[ i ] = ( rand( ) % 1000 ) * balances[ i ];
#else
         weights[ i ] = ( rand( ) % 1000 ) * log( ( double )balances[ i ] );
#endif
         total_weight += weights[ i ];
      }
...
      for( size_t i = 0; i < balances.size( ); i++ )
      {
         double adjusted_weight = weights[ i ] * 1000 / total_weight;

         if( adjusted_weight > best_target )
         {
            winner = i;
            best_target = adjusted_weight;
         }
      }


That's not how the nxt forging algorithm works.
You are looking for the maximum of random number * balance to get the winner where you really should calculate the minimum of random number / balance and let the minimum win.


Yes, BloodyRookie is right (according to my today's conversation with CfB).
238  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN PoS+ PoW] eXocoin [EXO] - gen 2.0 - developed from scratch! Free Give-Away on: February 25, 2014, 08:33:04 PM
I think that it's a good plan
239  Alternate cryptocurrencies / Announcements (Altcoins) / Re: NXT :: descendant of Bitcoin - Updated Information on: February 25, 2014, 02:37:40 PM
OK, but, if we want to be able to calculate probabilities, there must be a good math model of how these weights can be simulated (i.e., something like this: "one can assume that weights of accounts are independent Exponential random variables with expectations equal (or proportional?) to their balances"). Without such a model, it would be difficult to proceed...

So for each account we take the first 8 bytes of an SHA256 hash of the "previous block sig + your account #" to get a "base target" (so an unpredictable 8 byte value that changes with every block). We then multiply this by your account's balance and the time (in seconds) since the last block to come up with your "current target".

There is also a "minimum target" value set in order to prevent spam (i.e. we don't want the network clogged up with people broadcasting "losing tickets"). This value is not overly important so I wouldn't worry too much about including it in the model (or just pretend it is a constant maybe).

Note that the time multiplication is really just to "widen" everyone's chance so that it won't take more than 60 seconds for "someone" to have a "current target" > "minimum target" and then broadcast their block.

When considering what is a "better block" time would be removed from the equation (so best "block target" is always the "base target" multiplied by "account balance") so the whole "time" thing could be left out of the model (just want you to be clear how the system works).

OK, so, let's assume that you take a collection of i.i.d. Uniform random variables in {0,...,2⁶⁴-1}, multiply them to account balances, and get the base targets this way (I'm assuming that we are already in "1 block per minute" regime; also, one can take i.i.d. Uniforms(0,1) instead, since it's just scaling).

Now, let me think how (within this model) the bad guy grows a fork of depth 2...
240  Alternate cryptocurrencies / Announcements (Altcoins) / Re: NXT :: descendant of Bitcoin - Updated Information on: February 25, 2014, 12:47:25 PM
1. How the "weight" variable is actually computed?

So - there is a # in each block and a math op is performed with this # + the account # of the "forger" to provide a new #. You can just think of that # as being the "best account #" so the account who's # is closest to the "best" would be the "best choice" to forge the next block (so would have the max. "weight").

If that account doesn't forge then an account "near" it can forge it instead (how near is increased over time to ensure that a block should always appear every minute). So "later forgers" have less weight (the exact weight being determined by their account #).
OK, but, if we want to be able to calculate probabilities, there must be a good math model of how these weights can be simulated (i.e., something like this: "one can assume that weights of accounts are independent Exponential random variables with expectations equal (or proportional?) to their balances"). Without such a model, it would be difficult to proceed...

Quote
3. Assume that a node sees at least one neighbor with a different version of the blockchain (from the blockchain that our node has). How does it decide, which is the "correct" one?

The "correct" one is simply that with the most weight - so at any point a node could ask another node for the "height and weight" of their blockchain and if that answer is better than their own then they would ask for those blocks in order to "switch chains".
How the "weight of the blockchain" is defined? Do you just add the weights of all blocks? Or, say, last k blocks? Can it be a weighted sum?


Also, a question about the network topology: how is it decided, who will connect to who? In particular, can a "bad guy" just choose, to which nodes it will be connected?
Pages: « 1 2 3 4 5 6 7 8 9 10 11 [12] 13 14 15 16 17 18 19 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!