kpax7788
Newbie
Offline
Activity: 41
Merit: 0
|
|
February 26, 2014, 10:17:46 AM |
|
Just talked to bittrex, they have only 86 signups from nxt at the moment.. You should all go and sign up. Go to https://bittrex.com/Account/Register and use SUPPORT_NXT as the invite code. This gets you past the invite code queue. Place some trades, enabled 2FA, or try any of our other features to help us stress the site before the final launch. If you find a bug, we're handing out bug bounties as well. Having a great exchange helps us but also helps the NXT community. Done.
|
|
|
|
abctc
Legendary
Offline
Activity: 1806
Merit: 1038
|
|
February 26, 2014, 10:19:26 AM |
|
Just talked to bittrex, they have only 86 signups from nxt at the moment.. You should all go and sign up. Go to https://bittrex.com/Account/Register and use SUPPORT_NXT as the invite code. This gets you past the invite code queue. Place some trades, enabled 2FA, or try any of our other features to help us stress the site before the final launch. If you find a bug, we're handing out bug bounties as well. Having a great exchange helps us but also helps the NXT community. - Done, for the 3rd time (with different e-mail addresses :-)
|
██████████████████████████████████████████████████ ████████████████████████████████████████████████████ ██████████████████████████████████████████████████████ ████████████████████████████████████████████████████████ ████████████████████████████████████████████████████████ ████████████████████████████████████████████████████████████████████ ████████████████████████████████████████████████████████████ ██████████████████████████████████████████████████████████████ ████████████████████████████████████████████████████████████████ ██████████████████████████████████████████████████████████████████ ████████████████████████████████████████████████████████████████████ | , the Next platform. Magis quam Moneta (More than a Coin) |
|
|
|
bitcoinpaul
|
|
February 26, 2014, 10:20:07 AM |
|
I don't get your idea, or I get it. I don't know.
Instead of leasing forge power, you commit with your account to share fees among others in the same "share fee group" if you forge a node. You still try to forge a block on your own, but you commit to share the incentive with others if you are successful (with special conditions like committing to run the node for some time, ...). Could this be done with AT and would that make sense?
|
|
|
|
antanst
|
|
February 26, 2014, 10:21:57 AM |
|
Whilst I am waiting for CfB to come online to discuss TF it would be very helpful if someone could create a blockchain statistical chart that specifically tells us the number of blocks found by the top 100 forgers along with their relative stake (over say the last 30 days) or has someone already got this on a website (I couldn't find this particular chart)?
Here's the top 15 forgers of the last 30 days, as the pie chart would be far too crowded to display more: Edit: To clarify, the number is the percentage of blocks forged.
|
|
|
|
|
antanst
|
|
February 26, 2014, 10:23:46 AM |
|
Don't. Use. Online. Hash. Generators. Please.
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
February 26, 2014, 10:30:47 AM |
|
Here's the top 15 forgers of the last 30 days, as the pie chart would be far too crowded to display more:
Edit: To clarify, the number is the percentage of blocks forged.
Thanks - but I need their *stake* as well to be included in the same diagram. Anyway - I've chatted with CfB and he is happy for me to "drop a bombshell". So get ready...
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
February 26, 2014, 10:34:14 AM |
|
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".
|
|
|
|
|
igmaca
|
|
February 26, 2014, 10:36:03 AM Last edit: February 26, 2014, 11:14:41 AM by igmaca |
|
who can refute my idea?
Try writing your idea in math or in a simulator rather than just trying to ask people to "refute" it. leasing forging power of a account to another account to create pools1.000.000.000 Nxt Coin 100.000 Nxt Coin per pool John account 90.000 Nxt 0 Node forging Mary account 9.900 Nxt 0 Node forging Bob account 100 Nxt 0 Node forging Total pool 100.000 Nxt 1 Node forging Total Nodes forging 1Chance to forge 0,0001 rate forging 1440 blocs per day 52,6 Blocs per year aprox 1 Bloc per week 1.000.000.000 Nxt Coin 100.000 Nxt Coin per pool 10.000 Nodes forgingSharing fees1.000.000.000 Nxt Coin 100.000 Nxt Coin per pool John account 90.000 Nxt 1 Node Forging Mary account 9.900 Nxt 1 Node Forging Bob account 100 Nxt 1 Node Forging Total pool 100.000 Nxt Total Nodes forging 3 Chance to forge 0,0001 rate forging 1440 blocs per day 52,6 Blocs per year aprox 1 Bloc per week 1.000.000.000 Nxt Coin 100.000 Nxt Coin per pool 30.000 Nodes forging. if there are only three accounts linked to the pool
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
February 26, 2014, 10:38:52 AM |
|
Here is the source code to my simulator: #include <ctime> #include <cmath> #include <cstdlib>
#include <string> #include <vector> #include <sstream> #include <iostream>
//#define USE_LOG
#define NUM_DAYS 1 //#define NUM_YEARS 100
//#define PREVENT_IMMEDIATE_REPEAT
//#define SHOW_WINNERS //#define SHOW_WINNERS_WEIGHT
using namespace std;
#ifndef NUM_YEARS const size_t c_num_blocks = 1440 * NUM_DAYS; #else const size_t c_num_blocks = 1440 * 365 * NUM_YEARS; #endif
int main( ) { #ifdef SHOW_WINNERS string winners; #endif vector< int > wins; vector< int > streaks; vector< int > balances; vector< int > best_streak;
vector< int > combined; vector< double > weights;
int combined_streak = 0; int best_combined_streak = 0;
balances.push_back( 10 ); balances.push_back( 10 ); balances.push_back( 10 ); balances.push_back( 10 ); balances.push_back( 10 ); balances.push_back( 50 );
srand( ( unsigned int )time( 0 ) );
for( size_t i = 0; i < balances.size( ); i++ ) { wins.push_back( 0 ); weights.push_back( 0 ); streaks.push_back( 0 ); combined.push_back( 0 ); best_streak.push_back( 0 ); }
size_t last_winner = 0; for( size_t blocks = 0; blocks < c_num_blocks; blocks++ ) { double total_weight = 0; for( size_t i = 0; i < weights.size( ); i++ ) { #ifndef USE_LOG weights[ i ] = ( rand( ) % 1000 ) * balances[ i ]; #else weights[ i ] = ( rand( ) % 1000 ) * log( ( double )balances[ i ] ); #endif total_weight += weights[ i ]; }
size_t winner = 0; size_t runner_up = 0; double best_target = 0; #ifdef PREVENT_IMMEDIATE_REPEAT double second_best_target = 0; #endif
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; } #ifdef PREVENT_IMMEDIATE_REPEAT else if( adjusted_weight > second_best_target ) { runner_up = i; second_best_target = adjusted_weight; } #endif }
#ifdef PREVENT_IMMEDIATE_REPEAT if( winner == last_winner ) winner = runner_up; #endif
#ifdef SHOW_WINNERS winners += ( char )( 'a' + winner ); # ifdef SHOW_WINNERS_WEIGHT ostringstream osstr; osstr << best_target; winners += "(" + osstr.str( ) + ")"; # endif #endif ++wins[ winner ];
if( winner != balances.size( ) - 1 ) { ++combined_streak; if( combined_streak > best_combined_streak ) best_combined_streak = combined_streak; } else combined_streak = 0;
if( winner == last_winner ) { ++streaks[ winner ]; if( streaks[ winner ] > best_streak[ winner ] ) best_streak[ winner ] = streaks[ winner ]; } else streaks[ winner ] = 0;
last_winner = winner; }
cout << "blocks = " << c_num_blocks << endl;
for( size_t i = 0; i < balances.size( ); i++ ) cout << ( char )( 'a' + i ) << ": " << balances[ i ] << endl;
#ifdef SHOW_WINNERS cout << winners << endl; #endif for( size_t i = 0; i < wins.size( ); i++ ) cout << "wins( " << ( char )( 'a' + i ) << " ) = " << wins[ i ] << endl;
for( size_t i = 0; i < best_streak.size( ); i++ ) cout << "best_streak( " << ( char )( 'a' + i ) << " ) = " << ( best_streak[ i ] + 1 ) << endl;
cout << "best_combined_streak = " << best_combined_streak << endl; }
|
|
|
|
jl777
Legendary
Offline
Activity: 1176
Merit: 1134
|
|
February 26, 2014, 10:42:20 AM |
|
automated multisig gateway status
Had to restructure things to be able to have all three of the gateway servers be able to have a chance at sync'ing. I now have three servers, all monitoring the blockchain for AM's to update their state. The problem yesterday was that a multisig transaction needs to be in raw format and it gets much bigger than 1K, which is the limit of AM size. So, I made a mini-point to point network between all three gateway servers. They now have the ability to synchronize data structures from the other servers, so I can send the rawtransactions around for verification (each server should independently generate the same rawtransaction) and signing. I can also send any other important data, such as total balances and even all the user deposits/withdraws.
Now that I can get high speed data synchronization across the servers, a lot of possibilities open up. Since each server is independently calculating things, as long as all are in agreement, odds are really good that the data is correct. Especially since the data I am relying on is coming from either the dogecoind or NXT blockchain. For any withdrawal, I wait until all three servers come to a consensus on what the transaction should be. Doing the server to server communication directly avoids NXT transaction costs and it goes MUCH faster.
What is left now is coming up with a deterministic way of selecting the unspent outputs to add up to the requested amount. The issue is that the pool of available unspents can change due to deposits coming into one of the gateways. I guess I could just combine the oldest to newest unspents, that should work. Then I need to come up with synchronization points to proceed along the steps of multisig signing.
So, no external progress today, but the internals are restructured to be able to allow for peer to peer verification, so the rest should become much easier. All this work on the peer to peer verification has given me a lot of ideas for what sorts of things can be verified and published via AM. It will form a good basis for NXTcoins to build on. I see the automated gateway as being a gateway for a lot more than just other cryptos.
It will be possible to control the "issuing" of NXT assets linked to externally verifiable events. For example, Dominoes Pizza could issue Pizza assets, people could trade it, but also it could be redeemed automatically. As long as a delivery address is associated with the NXT account, just transfer the asset back to Dominoes (different NXT addresses for different types of pizzas) and a pizza arrives within 30 minutes. Delivery status could be monitored if it was available online. Using this mechanism, global companies can issue coupons and the distribution and redemption is all electronic, except for the actual delivery.
We can have externally available data peer verified and published via AM. Sounds simple enough, but the value is very big, especially if it is a market price data feed. Accurate historical marketprices would be in the NXT blockchain. Not only could people get access to this data from a decentralized network, once we have AT, people could make bets. I would imagine it wouldnt be too hard to implement a whole range of financial derivatives, sports betting, anything that can be done by combining real world data with turing complete script.
Now, here comes a totally unexpected possibility. What if the automated gateway was able to handle NXTcash? All this gateway coding made me realize it just might be able to be done, which means we could get NXTcash much, much sooner as we dont have to port it to Java.
User mints NXTcash and sends public part + corresponding NXT to gateway, which issues NXTcash Asset to the gateway account. At this point nobody can trade the NXTcash asset.
User now has all that is needed to redeem the NXTcash in the private files from the minting process. For privacy, he copies it to a flash drive and goes to a public data center. From there he starts a NXTcash spend process, which only requires the private data on the flash drive and designates a brand new NXT acct to receive the NXTcash asset. Now the NXTcash asset can trade and the gateway would always have a minimum bid of 1:1 so the original amount spent is available (minus whatever fees)
This is certainly not as good as having it built into the protocol as it relies on the gateways being operational and also that the gateways will always have a 1:1 repurchase bid in Asset Exchange. Also, the NXTcash trading on AE is not anonymous. This actually might really help avoid any stigma attached to using this tech. Only if you went out of your way to redeem the NXTcash on a different computer will you have true anonymity.
James
P.S. I will be offline all day, but I will try to get a DOGE test released before the weekend.
|
|
|
|
EmoneyRu
|
|
February 26, 2014, 10:42:37 AM |
|
Don't. Use. Online. Hash. Generators. Please.
As I said there is awesome one.
|
|
|
|
Uniqueorn
Full Member
Offline
Activity: 182
Merit: 100
NXT.org
|
|
February 26, 2014, 10:43:32 AM |
|
Just talked to bittrex, they have only 86 signups from nxt at the moment.. You should all go and sign up. Go to https://bittrex.com/Account/Register and use SUPPORT_NXT as the invite code. This gets you past the invite code queue. Place some trades, enabled 2FA, or try any of our other features to help us stress the site before the final launch. If you find a bug, we're handing out bug bounties as well. Having a great exchange helps us but also helps the NXT community. I already sent out swarm to 30 people on this. Perhaps we need a bigger swarm group
|
|
|
|
^[GS]^
Member
Offline
Activity: 112
Merit: 10
|
|
February 26, 2014, 10:45:35 AM |
|
Just talked to bittrex, they have only 86 signups from nxt at the moment.. You should all go and sign up. Go to https://bittrex.com/Account/Register and use SUPPORT_NXT as the invite code. This gets you past the invite code queue. Place some trades, enabled 2FA, or try any of our other features to help us stress the site before the final launch. If you find a bug, we're handing out bug bounties as well. Having a great exchange helps us but also helps the NXT community. Done!
|
|
|
|
Fatih87SK
|
|
February 26, 2014, 10:48:11 AM |
|
Just talked to bittrex, they have only 86 signups from nxt at the moment.. You should all go and sign up. Go to https://bittrex.com/Account/Register and use SUPPORT_NXT as the invite code. This gets you past the invite code queue. Place some trades, enabled 2FA, or try any of our other features to help us stress the site before the final launch. If you find a bug, we're handing out bug bounties as well. Having a great exchange helps us but also helps the NXT community. Done! Done
|
|
|
|
bitcoinpaul
|
|
February 26, 2014, 10:55:07 AM |
|
- Big stakeholders have an interest in a working Nxt and a high NXT value (or not!) - This can be reached by having a Nxt where no trust is needed (this is the whole point of this crypto) - So, biiiiiiig stakeholders should not exist for their self-interest - But with the ability to split the stake into smaller accounts, big stakeholders can hide themselves - We are doomed I'm confused
|
|
|
|
BloodyRookie
|
|
February 26, 2014, 10:57:39 AM |
|
Here is the source code to my simulator: #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.
|
Nothing Else Matters NEM: NALICE-LGU3IV-Y4DPJK-HYLSSV-YFFWYS-5QPLYE-ZDJJ NXT: 11095639652683007953
|
|
|
mcjavar
|
|
February 26, 2014, 10:58:30 AM |
|
I would like introduce to the discussion the concept of sharing fees when small account decide to use a pool for receive fees more frequently over time.
Everybody talks about "leasing forging power of a account to another account to create pools". This involves reducing the number of nodes to the number of pools.
I maintain that it is better to keep the funds and forging power of each small account in the small account node
Is Not better the concept of sharing fees if your account is successful and forge?
who can refute my idea?
Dafuq did you just say (once again)? o_0
|
|
|
|
antanst
|
|
February 26, 2014, 10:59:38 AM |
|
Thanks - but I need their *stake* as well to be included in the same diagram.
|
|
|
|
|