Author

Topic: Obyte: Totally new consensus algorithm + private untraceable payments - page 1032. (Read 1234271 times)

newbie
Activity: 28
Merit: 0
Based on the progress of address linking that we've seen so far, I have to make a few adjustments to the future distribution plan.  Nothing changes for the first round (December 25) but the rules for further rounds are optimized to maximize the long-term value of your bytes.

For the 2nd round:
- for every 1 BTC of proven balance you receive 62.5 MB
- for every 1 byte, you receive 0.1 new bytes

We no longer commit to distributing exactly 20% in the second round, we'll distribute as much as is linked and calculated by the above rules.  After the price of byte is established in the markets, the rules make it significantly simpler for new users to estimate how much they get by linking their Bitcoins or by buying bytes.  Hopefully, this will encourage much more people to join.

Compared with the previous rules, the weight of bytes in the basket is decreased.  This still encourages byteholders to hold in order to receive more bytes in the future rounds, while giving more weight to the newly linked BTC.  We do need to be more attractive to new users, who are going to eventually link much much more BTC than we see in the current round, otherwise they might feel like a huge chunk of the second distribution will go to the participants of the first distribution, while new users are significantly disadvantaged.  If it is not quite clear, this is the math:

Under the old rules, for the basket weight calculation, 62.5 MB were accepted as 1 BTC.  1014 bytes are distributed in the first round, the total weight of these bytes is 1,600,000 BTC.  This seems huge compared with the amount of BTC the second-rounders are going to realistically link, based on current progress.  Therefore, under the old rules, the vast majority of new bytes are going to be distributed to the first-rounders, which scares new users off and contradicts my plans of creating the widest possible distribution and increasing value through network effects (which are proportional to square of the number of users).  To give new users better chance, the total weight of bytes distributed in the first round is reduced to 160,000 BTC under the new rules.

We will probably distribute less than 20% in the 2nd round, this means we'll have more rounds before all bytes are distributed, more opportunity to multiply your holdings in each round, more incentive to hold.

The 3rd and subsequent rounds will follow similar rules, but the relative weight of bytes vs. BTC in the 3rd and further rounds will change and will gradually increase back to 1 BTC=62.5 MB.  It will be selected to maximize the value of bytes and keep the speed of distribution in sync with the growth of user base and the actual use of the network.

The date of the 2nd round is not decided yet, rough estimate is mid-February.


Why also not increase number of phases thus also decreasing percentages? Its easy to announce and increase/modify later if everything starts rolling. It would allow time for market to develop.

Also, correct your post. First you state nothing changes in round one then explain how its calculated differently.
My mistake
yvv
legendary
Activity: 1344
Merit: 1000
.
@tonych

Keep in mind that not all those who linked their addresses have funded them yet. It takes time to convert all these altcoins to BTC at reasonable prices, so the huge increase in linked BTC is probably going to happen at the last moment before 25th. It is a good idea not to set in stone the rules for 2nd and 3rd rounds for now.
legendary
Activity: 965
Merit: 1033
Based on the progress of address linking that we've seen so far, I have to make a few adjustments to the future distribution plan.  Nothing changes for the first round (December 25) but the rules for further rounds are optimized to maximize the long-term value of your bytes.

For the 2nd round:
- for every 1 BTC of proven balance you receive 62.5 MB
- for every 1 byte, you receive 0.1 new bytes

We no longer commit to distributing exactly 20% in the second round, we'll distribute as much as is linked and calculated by the above rules.  After the price of byte is established in the markets, the rules make it significantly simpler for new users to estimate how much they get by linking their Bitcoins or by buying bytes.  Hopefully, this will encourage much more people to join.

Compared with the previous rules, the weight of bytes in the basket is decreased.  This still encourages byteholders to hold in order to receive more bytes in the future rounds, while giving more weight to the newly linked BTC.  We do need to be more attractive to new users, who are going to eventually link much much more BTC than we see in the current round, otherwise they might feel like a huge chunk of the second distribution will go to the participants of the first distribution, while new users are significantly disadvantaged.  If it is not quite clear, this is the math:

Under the old rules, for the basket weight calculation, 62.5 MB were accepted as 1 BTC.  1014 bytes are distributed in the first round, the total weight of these bytes is 1,600,000 BTC.  This seems huge compared with the amount of BTC the second-rounders are going to realistically link, based on current progress.  Therefore, under the old rules, the vast majority of new bytes are going to be distributed to the first-rounders, which scares new users off and contradicts my plans of creating the widest possible distribution and increasing value through network effects (which are proportional to square of the number of users).  To give new users better chance, the total weight of bytes distributed in the first round is reduced to 160,000 BTC under the new rules.

We will probably distribute less than 20% in the 2nd round, this means we'll have more rounds before all bytes are distributed, more opportunity to multiply your holdings in each round, more incentive to hold.

The 3rd and subsequent rounds will follow similar rules, but the relative weight of bytes vs. BTC in the 3rd and further rounds will change and will gradually increase back to 1 BTC=62.5 MB.  It will be selected to maximize the value of bytes and keep the speed of distribution in sync with the growth of user base and the actual use of the network.

The date of the 2nd round is not decided yet, rough estimate is mid-February.
legendary
Activity: 965
Merit: 1033
Hi tonych,
Today, I was preparing to byteball lunch and linking some bitcoin.
I'll use whonix, that same environment that, with your help, I had built and tested successfully byteball before.
I decided to build Byteball-TN first to test a little more.
I first cloned Byteball-TN branch only with:
> git clone -b tn --single-branch https://github.com/byteball/byteball.git
> cd byteball
Then followed build process and resolved same issues as before, and then run byteball wallet with:
> nw .
Everything seems ok.  I choose full wallet.
The wallet shows "[NEW TESTNET]."
It's run for hours but it still shows "syncing... 0%" (even after changing window focus and changing focus back to byteball window).
The file byteball.sqlite has only 345 kib.
Is the new testnet supposed to sync until 100% as before?
Can you imagine what is wrong?
Next I'll do the same thing with master branch (live) in other go generate a wallet and do the linking, but before I'd like to be sure everything is working.
Thanks again.

Please clone from master branch, master is now testnet.
BTW, we are adding TOR support (or rather support for socks5 proxy), almost done, should be merged in a few days, but if you are ok to experiment with unfinished software, you can clone from our developer's fork https://github.com/DevAlexey/byteballcore.
newbie
Activity: 29
Merit: 0
Hi tonych,
Today, I was preparing to byteball lunch and linking some bitcoin.
I'll use whonix, that same environment that, with your help, I had built and tested successfully byteball before.
I decided to build Byteball-TN first to test a little more.
I first cloned Byteball-TN branch only with:
> git clone -b tn --single-branch https://github.com/byteball/byteball.git
> cd byteball
Then followed build process and resolved same issues as before, and then run byteball wallet with:
> nw .
Everything seems ok.  I choose full wallet.
The wallet shows "[NEW TESTNET]."
It's run for hours but it still shows "syncing... 0%" (even after changing window focus and changing focus back to byteball window).
The file byteball.sqlite has only 345 kib.
Is the new testnet supposed to sync until 100% as before?
Can you imagine what is wrong?
Next I'll do the same thing with master branch (live) in other go generate a wallet and do the linking, but before I'd like to be sure everything is working.
Thanks again.
sr. member
Activity: 332
Merit: 252
hello , im done reading about this project looks so intresting
yes already install wallet its nice i can buy pizza on there  Cool
but i want to ask about distribution, i mean if im done verify and send the micropayment from my BTC address for linked to bytes wallet.

but if my wallet empty(no balance) when distribution ready on 25 december. '' im still got the part of distribution for me ? or i need have balance in my btc address ?

Thanks

Yes you need to have a BTC balance which is proportional in how many BB you will receive.

More BTC = More BB

see the current distribution list here:
http://transition.byteball.org/
sr. member
Activity: 532
Merit: 252
hello , im done reading about this project looks so intresting
yes already install wallet its nice i can buy pizza on there  Cool
but i want to ask about distribution, i mean if im done verify and send the micropayment from my BTC address for linked to bytes wallet.

but if my wallet empty(no balance) when distribution ready on 25 december. '' im still got the part of distribution for me ? or i need have balance in my btc address ?

Thanks
legendary
Activity: 965
Merit: 1033
hero member
Activity: 1110
Merit: 534
Linking to my previous post i have installed the sdk version.
From the console it results that it can't load multiple resources(files)

Code:
Failed to load resource: net::ERR_FILE_NOT_FOUND chrome-extension://fhbdbceecnjfepdnmkgncdnkleeblcpf/public/css/foundation.css
Failed to load resource: net::ERR_FILE_NOT_FOUND chrome-extension://fhbdbceecnjfepdnmkgncdnkleeblcpf/public/icons/foundation-icons.css
Failed to load resource: net::ERR_FILE_NOT_FOUND chrome-extension://fhbdbceecnjfepdnmkgncdnkleeblcpf/public/css/byteball.css
Failed to load resource: net::ERR_FILE_NOT_FOUND chrome-extension://fhbdbceecnjfepdnmkgncdnkleeblcpf/public/angular.js
Failed to load resource: net::ERR_FILE_NOT_FOUND chrome-extension://fhbdbceecnjfepdnmkgncdnkleeblcpf/public/byteball.js
index.html:44 starting scripts...
index.html:51 done scripts

Sad


Did you run grunt?

CCCCC My bad  Roll Eyes
somehow I forgot to run that line :-/

Anyway I have started the wallet and trying to create the profile.
I  choose the option for the full wallet
Is stuck at that "Createing Profile..." screen.

In console i have the following error:
Code:
module.js:496
    throw err;
    ^

Error: Cannot find module '/home/******/byteball/node_modules/sqlite3/lib/binding/node-webkit-v0.19.2-linux-ia32/node_sqlite3.node'
    at Function.Module._resolveFilename (module.js:494:15)
    at Function.Module._load (module.js:437:25)
    at Module.require (module.js:522:17)
    at require (internal/module.js:20:19)
    at Object. (/home/******/byteball/node_modules/sqlite3/lib/sqlite3.js:4:15)
    at Module._compile (module.js:595:32)
    at Object.Module._extensions..js (module.js:610:10)
    at Module.load (module.js:512:32)
    at tryModuleLoad (module.js:471:12)
    at Function.Module._load (module.js:463:3)
module.js:496
    throw err;
    ^

Error: Cannot find module '/home/******/byteball/node_modules/sqlite3/lib/binding/node-webkit-v0.19.2-linux-ia32/node_sqlite3.node'
    at Function.Module._resolveFilename (module.js:494:15)
    at Function.Module._load (module.js:437:25)
    at Module.require (module.js:522:17)
    at require (internal/module.js:20:19)
    at Object. (/home/******/byteball/node_modules/sqlite3/lib/sqlite3.js:4:15)
    at Module._compile (module.js:595:32)
    at Object.Module._extensions..js (module.js:610:10)
    at Module.load (module.js:512:32)
    at tryModuleLoad (module.js:471:12)
    at Function.Module._load (module.js:463:3)

Is something related to sqlite3. :-/
I had errors during install phase which I have already pasted here in my previous post
https://bitcointalksearch.org/topic/m.17215344

I have stopped the application and then run
"npm install sqlite3" within the byteball directory

during install or sqlite3 i have received again this output:
Code:
~/byteball$ npm install sqlite3

> [email protected] install /home/******/byteball/node_modules/sqlite3
> node-pre-gyp install --fallback-to-build

node-pre-gyp ERR! Tried to download(403): https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.8/node-v48-linux-ia32.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for [email protected] and [email protected] (node-v48 ABI) (falling back to source compile with node-gyp)
make: Entering directory '/home/******/byteball/node_modules/sqlite3/build'
  ACTION deps_sqlite3_gyp_action_before_build_target_unpack_sqlite_dep Release/obj/gen/sqlite-autoconf-3150000/sqlite3.c
  TOUCH Release/obj.target/deps/action_before_build.stamp
  CC(target) Release/obj.target/sqlite3/gen/sqlite-autoconf-3150000/sqlite3.o
  AR(target) Release/obj.target/deps/sqlite3.a
  COPY Release/sqlite3.a
  CXX(target) Release/obj.target/node_sqlite3/src/database.o
../src/database.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE node_sqlite3::Database::New(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/database.cc:133:96: warning: ‘bool v8::Object::ForceSet(v8::Local, v8::Local, v8::PropertyAttribute)’ is deprecated: Use CreateDataProperty / DefineOwnProperty [-Wdeprecated-declarations]
     info.This()->ForceSet(Nan::New("filename").ToLocalChecked(), info[0].As(), ReadOnly);
                                                                                                ^
In file included from /home/******/.node-gyp/6.9.2/include/node/v8.h:25:0,
                 from /home/******/.node-gyp/6.9.2/include/node/node.h:42,
                 from ../../nan/nan.h:47,
                 from ../src/database.h:10,
                 from ../src/database.cc:4:
/home/******/.node-gyp/6.9.2/include/node/v8.h:2695:22: note: declared here
                 bool ForceSet(Local key, Local value,
                      ^
/home/******/.node-gyp/6.9.2/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^
../src/database.cc:134:86: warning: ‘bool v8::Object::ForceSet(v8::Local, v8::Local, v8::PropertyAttribute)’ is deprecated: Use CreateDataProperty / DefineOwnProperty [-Wdeprecated-declarations]
     info.This()->ForceSet(Nan::New("mode").ToLocalChecked(), Nan::New(mode), ReadOnly);
                                                                                      ^
In file included from /home/******/.node-gyp/6.9.2/include/node/v8.h:25:0,
                 from /home/******/.node-gyp/6.9.2/include/node/node.h:42,
                 from ../../nan/nan.h:47,
                 from ../src/database.h:10,
                 from ../src/database.cc:4:
/home/******/.node-gyp/6.9.2/include/node/v8.h:2695:22: note: declared here
                 bool ForceSet(Local key, Local value,
                      ^
/home/******/.node-gyp/6.9.2/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^
../src/database.cc: In static member function ‘static void node_sqlite3::Database::Work_BeginOpen(node_sqlite3::Database::Baton*)’:
../src/database.cc:144:9: warning: unused variable ‘status’ [-Wunused-variable]
     int status = uv_queue_work(uv_default_loop(),
         ^
../src/database.cc: In static member function ‘static void node_sqlite3::Database::Work_BeginClose(node_sqlite3::Database::Baton*)’:
../src/database.cc:230:9: warning: unused variable ‘status’ [-Wunused-variable]
     int status = uv_queue_work(uv_default_loop(),
         ^
../src/database.cc: In static member function ‘static void node_sqlite3::Database::Work_BeginExec(node_sqlite3::Database::Baton*)’:
../src/database.cc:525:9: warning: unused variable ‘status’ [-Wunused-variable]
     int status = uv_queue_work(uv_default_loop(),
         ^
../src/database.cc: In static member function ‘static void node_sqlite3::Database::Work_BeginLoadExtension(node_sqlite3::Database::Baton*)’:
../src/database.cc:625:9: warning: unused variable ‘status’ [-Wunused-variable]
     int status = uv_queue_work(uv_default_loop(),
         ^
  CXX(target) Release/obj.target/node_sqlite3/src/node_sqlite3.o
  CXX(target) Release/obj.target/node_sqlite3/src/statement.o
../src/statement.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE node_sqlite3::Statement::New(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/statement.cc:103:74: warning: ‘bool v8::Object::ForceSet(v8::Local, v8::Local, v8::PropertyAttribute)’ is deprecated: Use CreateDataProperty / DefineOwnProperty [-Wdeprecated-declarations]
     info.This()->ForceSet(Nan::New("sql").ToLocalChecked(), sql, ReadOnly);
                                                                          ^
In file included from /home/******/.node-gyp/6.9.2/include/node/v8.h:25:0,
                 from /home/******/.node-gyp/6.9.2/include/node/node.h:42,
                 from ../src/statement.cc:2:
/home/******/.node-gyp/6.9.2/include/node/v8.h:2695:22: note: declared here
                 bool ForceSet(Local key, Local value,
                      ^
/home/******/.node-gyp/6.9.2/include/node/v8config.h:333:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^
../src/statement.cc: In static member function ‘static void node_sqlite3::Statement::Work_BeginPrepare(node_sqlite3::Database::Baton*)’:
../src/statement.cc:118:9: warning: unused variable ‘status’ [-Wunused-variable]
     int status = uv_queue_work(uv_default_loop(),
         ^
In file included from ../src/statement.cc:6:0:
../src/statement.cc: In static member function ‘static void node_sqlite3::Statement::Work_BeginBind(node_sqlite3::Statement::Baton*)’:
../src/macros.h:125:9: warning: unused variable ‘status’ [-Wunused-variable]
     int status = uv_queue_work(uv_default_loop(),                              \
         ^
../src/statement.cc:322:5: note: in expansion of macro ‘STATEMENT_BEGIN’
     STATEMENT_BEGIN(Bind);
     ^
../src/statement.cc: In static member function ‘static void node_sqlite3::Statement::Work_BeginGet(node_sqlite3::Statement::Baton*)’:
../src/macros.h:125:9: warning: unused variable ‘status’ [-Wunused-variable]
     int status = uv_queue_work(uv_default_loop(),                              \
         ^
../src/statement.cc:370:5: note: in expansion of macro ‘STATEMENT_BEGIN’
     STATEMENT_BEGIN(Get);
     ^
../src/statement.cc: In static member function ‘static void node_sqlite3::Statement::Work_BeginRun(node_sqlite3::Statement::Baton*)’:
../src/macros.h:125:9: warning: unused variable ‘status’ [-Wunused-variable]
     int status = uv_queue_work(uv_default_loop(),                              \
         ^
../src/statement.cc:438:5: note: in expansion of macro ‘STATEMENT_BEGIN’
     STATEMENT_BEGIN(Run);
     ^
../src/statement.cc: In static member function ‘static void node_sqlite3::Statement::Work_BeginAll(node_sqlite3::Statement::Baton*)’:
../src/macros.h:125:9: warning: unused variable ‘status’ [-Wunused-variable]
     int status = uv_queue_work(uv_default_loop(),                              \
         ^
../src/statement.cc:504:5: note: in expansion of macro ‘STATEMENT_BEGIN’
     STATEMENT_BEGIN(All);
     ^
../src/statement.cc: In static member function ‘static void node_sqlite3::Statement::Work_BeginEach(node_sqlite3::Statement::Baton*)’:
../src/macros.h:125:9: warning: unused variable ‘status’ [-Wunused-variable]
     int status = uv_queue_work(uv_default_loop(),                              \
         ^
../src/statement.cc:601:5: note: in expansion of macro ‘STATEMENT_BEGIN’
     STATEMENT_BEGIN(Each);
     ^
../src/statement.cc: In static member function ‘static void node_sqlite3::Statement::Work_BeginReset(node_sqlite3::Statement::Baton*)’:
../src/macros.h:125:9: warning: unused variable ‘status’ [-Wunused-variable]
     int status = uv_queue_work(uv_default_loop(),                              \
         ^
../src/statement.cc:724:5: note: in expansion of macro ‘STATEMENT_BEGIN’
     STATEMENT_BEGIN(Reset);
     ^
  SOLINK_MODULE(target) Release/obj.target/node_sqlite3.node
  COPY Release/node_sqlite3.node
  COPY /home/******/byteball/node_modules/sqlite3/lib/binding/node-v48-linux-ia32/node_sqlite3.node
  TOUCH Release/obj.target/action_after_build.stamp
make: Leaving directory '/home/******/byteball/node_modules/sqlite3/build'
[email protected] /home/******/byteball
└─┬ [email protected] (git+https://github.com/byteball/byteballcore.git#336c05e7dc2ebe558f8cc7ee65a2a5237144971f)
  └── [email protected]

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"ia32"})

seems this sqlite3 makes quite problems with node-webkit :-/

I have tried uninstall and install with various options like:

npm install sqlite3 --build-from-source
npm install https://github.com/mapbox/node-sqlite3/tarball/master

nothing helped.
I still have this error of missing module.  Sad


legendary
Activity: 1205
Merit: 1000
Looked for byteball folder on os x, but can't find it. Help please!
Where could it be? Any ideas?

It's in the library of your user-folder. The library folder is hidden. Go to Finder, click on Go in het menu and hold ALT/OPTION. Then you see library in the dropdownmenu. Then click Application Support/Byteball.
sr. member
Activity: 418
Merit: 250
Looked for byteball folder on os x, but can't find it. Help please!
Where could it be? Any ideas?
hero member
Activity: 1050
Merit: 506
did someone already link his Trezor successfully?

Yes. Hermesesus' tutorial is very helpful. It's now on p. 74, I think, but may move if mods delete spam etc.




thank you in advance ! And thx for setting up a bounty  Smiley
legendary
Activity: 1450
Merit: 1013
Cryptanalyst castrated by his government, 1952
did someone already link his Trezor successfully?

Yes. Hermesesus' tutorial is very helpful. It's now on p. 74, I think, but may move if mods delete spam etc.

legendary
Activity: 3052
Merit: 1053
bit.diamonds | uNiq.diamonds
android seed backup state its not enough to backup the seed u need a whole byteball wallet setting backup too
but i dont find a menue point to make that kind of backup where is it?
hero member
Activity: 1050
Merit: 506
did someone already link his Trezor successfully?
full member
Activity: 196
Merit: 100
Concerning backups:

https://github.com/byteball/byteball
Quote
Byteball uses a single extended private key for all wallets, BIP44 is used for wallet address derivation. There is a BIP39 mnemonic for backing up the wallet key, but it is not enough. Private payments and co-signers of multisig wallets are stored only in the app's data directory, which you have to back up manually:
Is the inverse also true? As long as I don't setup multisig or have private assets the 12 words Paperwallet is enough? How is multisig defined? Having anything other than the Transition Bot listed under Paired Devices?


legendary
Activity: 1148
Merit: 1001
Can you describe the logic of the event simply?


Sure: He gives bytes away because he can and he want to.
hero member
Activity: 518
Merit: 500
Can you describe the logic of the event simply?
legendary
Activity: 1206
Merit: 1000
If I connect a wallet and it does not have any BTC, will I receive the small percentage allocated to the first 100 million addresses? Or u need a BTC to receive the percentage?

i think it was earlier stated a small amount given to new wallet installs. that is byteball wallet installs not btc. linking a 0btc balance will get you nothing

The giveaway to 100 million addresses is long time ahead.  For now, you have to link non-zero BTC balance to get bytes.

is it late to linking Bitcoin address for now?

the chat bot still a live i just installed on my andro device

Not too late, brother! To participate in the first round, you have to link your address before 12/25 comes. The linking phase will end on December 24th at 23:59:59 UTC

so the snapshot will happen on 25th right and the distribution also on the 25th?

It's all clearly laid out in the OP. 

"The linking phase will end on December 24 at 23:59:59 UTC, after which we'll do the distribution in proportion to Bitcoin balances in the first block timestamped after December 25 00:00:00 UTC (Christmas block).  I'll announce the exact block number several hours after this block is mined (the waiting time is to exclude the slightest chance of reorg).  The bytes and blackbytes will be sent out in the afternoon of December 25."
Jump to: