shopify analytics tool

BetChain Bitcoin Casino

0 Members and 1 Guest are viewing this topic.

*

Offline vindyne8

  • *
  • 46
  • +0/-0
  • Hello everyone! I love Free Bitcoin
      • View Profile
BYTEBALL: New consensus algorithm + private untraceable payments
« on: November 17, 2016, 02:08:03 AM »
For full technical description, read the white paper: https://byteball.org/Byteball.pdf

Testnet is already online.  Try it out by downloading the wallet:


iOS   Android   Mac   Windows   Linux
or build from source at github


Desktop wallets are full nodes (will take a while syncing with the network after the first start).  Mobile wallets are light clients.

After installing the wallet, visit https://byteball.org and click the clink to receive free bytes to play with.  The link will open your wallet:


The design

There are no blocks in Byteball, and no block size issue.  Instead, every new transaction references one or more earlier ones (parents) by including and signing their hashes.  The links among transactions form a DAG (directed acyclic graph):



By including its parents, each new transaction also indirectly includes and confirms all parents of the parents, parents of the parents of the parents, and so on.  As more transactions are added after your transaction, the number of confirmations you receive grows like snowball, thatís why the name Byteball (our snowflakes are bytes of data).

Consensus

There is no PoW, no PoS, and no mining.  Instead, we have the DAG, which already establishes partial order between transactions, plus we add the main chain within the DAG:



The main chain (MC) allows to define total order between transactions: the transaction which gets included (directly or indirectly) earlier on the MC, is deemed earlier in the total order.  When there is a double-spend, the version of the transaction that comes earlier in the total order is deemed valid, all others are deemed void.

The main chain is defined deterministically based on the positions of transactions in the graph.  Refer to the white paper for details, but as a general rule, the MC gravitates towards transactions authored by well known users, which we call witnesses.  The list of witnesses is defined by users themselves as they include the list in every transaction they post.  The MC then follows the path within the DAG such that:
1. the witness lists of the neighboring transactions on the chain are either identical or differ by only one mutation,
2. the chain goes through the most number of witness-authored transactions, compared with alternative chains.

The above is very brief and sketchy description with many important details omitted, refer to the white paper for a full technical story.

Fees and intrinsic value

The fees paid for storing oneís transactions (or any other data) in the Byteball database are equal to the size of the data being stored.  If your transaction size is 500 bytes, you pay exactly 500 bytes (the native currency of Byteball) in fees.  This means there is intrinsic value in bytes: it is the utility of permanently storing that size of data in a decentralized immutable database.  For data that represents financial transactions, the value is social rather than personal, because you absolutely need to store the full coin history in order to be able to prove the value and authenticity of the coin to each subsequent owner.

The fees are collected partially by those who are first to reference your transaction as parent and partially by witnesses.  The former incentivizes referencing the most recent transactions as parents, which results in the DAG growing in one direction only, like the trunk of a tree, and being as narrow as network latency permits.  If new transactions are rare enough, such that all nodes have enough time to sync before a new transaction appears, the DAG will look almost like a chain, with only occasional forks and quick merges.

Money supply

The total number of bytes is 1015, all bytes will be issued in the genesis transaction. Since the fees paid are returned into the circulation, the money supply will remain the same.

Deterministic finality

In Byteball, there is a protocol rule that a transaction must include the previous transaction (if any) sent from the same address, i.e. there must be partial order between subsequent transactions from the same address.  Breaking this rule is considered equivalent to double-spending, therefore at least one of such unordered transactions will become void.  If we assume that most witnesses follow this rule (thatís what they are elected for), they have to reference only sufficiently recent transactions as parents and canít inherit from old enough parents.  Therefore, they can no longer influence the MC (which is attracted to witnesses) in the old enough part of the DAG, and that part of the MC becomes stable, hence the total order relative to this MC also becomes stable.  See the white paper for discussion of exact criteria of reaching stability, here it is important that the criteria are deterministic, and once a transaction appears on the stable part of the MC, it is final, and, unlike all other cryptocurrencies, no re-orgs are possible. 

This is extremely important for applications in financial industry and for wider adoption in general, as most people are used to expect certainty in matters of money and property ownership, and the concept of probabilistic finality is a difficult sell.

Assets and on-chain exchange

Bytes is the native currency of Byteball.  Users can issue any other tokens (assets), e.g. to represent debt.  The debt can be expressed e.g. in fiat currencies or in natural units (barrels, ounces, kWh, etc).  The issuers of the debt can reveal their real-world identities and/or be voluntarily attested (i.e. their real-word identities be verified by a well known third party such as CA).  This enables the use of the existing legal system to secure against fraud.

The issued assets can be used as means of payment, along with bytes.  Assets can be exchanged against bytes and other assets by both parties signing a single unit that executes both legs of the exchange, thus the two transactions either happen simultaneously or don't happen at all.  This kind of signing is called multilateral signing.  No centralized exchange is needed, hence no trust is necessary and no exchange fees (apart from the usual fees for the size of the data).

Private untraceable payments

Assets can be either public or private.  All transactions in public assets are visible to everyone on the public decentralized database, just like Bitcoin.  Bytes is a predefined public asset.

Payments in private assets are not published to the public database.  Instead, only the hash of the transaction is stored to the database, while the plaintext of the transaction is sent directly from the payer to the payee.  To protect against double-spends, a spend proof is also published to the Byteball database.  The spend proof is constructed as a hash of the output being spent, so that if the same output is spent twice, the spend proofs will be necessarily the same.

Iíve already described this design at https://bitcointalk.org/index.php?topic=1574508.0, see more details in the white paper.

Regulated assets

Regulated institutions can issue assets that are compatible with KYC/AML requirements. Every transfer of such asset is to be cosigned by the issuer, and if there is anything that contradicts the regulations, the issuer won't cosign.

This way, banks can issue fiat-pegged assets and stay fully compliant.  They can open demand deposit accounts and track them on Byteball as assets.  These assets are easily exchangeable against bytes and other assets (with bankís approval).

Other features

- Spending conditions (AKA smart contracts) in an easy to understand declarative language https://bitcointalk.org/index.php?topic=1617816.0
- Multisig: a special case of spending conditions
- On-chain oracles can post data (such as timestamps, exchange rates, weather, various events) directly to the database, then that data can be referenced from spending conditions
- Private end-to-end encrypted messaging: used to convey private payment data, communicate in multisig scenarios, and chat with a merchantís bot.

Initial distribution

There will be no ICO, no crowdsale.  I believe the success of a currency depends on the number of people who own it, in fact Peter Rís research suggests that historical marketcap of Bitcoin follows Metcalfe's law: https://bitcointalk.org/index.php?topic=572106.0, i.e. it is proportional to the square of the number of active users.  Thatís why I want Byteball to be in the hands of as many people as possible:

  • 98% of all bytes and blackbytes (the private untraceable currency) will be distributed among bitcoin holders who link their bitcoin and byteball addresses before the launch.  No investment required, you keep your bitcoins, plus receive the bytes and blackbytes.
  • 1% I reserve for myself

To link your byteball and bitcoin addresses, youíll need to make a small BTC payment to a one-time bitcoin address created specifically for you.  Next, you consolidate all your bitcoins on the one address you paid from that we know is controlled by you (if you have only one bitcoin address, you skip this step as all your bitcoins are already on a single address).  Then the number of bytes and blackbytes you receive on the launch date will be proportional to the BTC amount on your linked address in a specific bitcoin block (e.g. in block 437000 which is expected late October - early November).  The detailed instructions and the exact block number will be posted later when we get ready for launching the livenet.

Current status and plans

Currently, the first testnet is online and fully operational.  You can use it to send and receive coins, create multisig wallets, and even buy pizza by talking with a chatbot https://bitcointalk.org/index.php?topic=1608859.msg16330266#msg16330266.

New testnet will be launched in late November based on distribution that is proportional to balances on linked Bitcoin testnet addresses.  To take part in the distribution, see https://bitcointalk.org/index.php?topic=1608859.msg16837694#msg16837694.

Since early December you'll be able to link your livenet bitcoin and byteball addresses.  Livenet launches on December 25, snapshot will be taken from the first block of this day, and the distribution will be proportional to BTC balances on the linked Bitcoin addresses in this block.  10% of bytes and blackbytes will be distributed on this date, the remaining 88% will be distributed in subsequent rounds, see https://bitcointalk.org/index.php?topic=1608859.msg16569906#msg16569906.

How you can help

  • play with the wallets, install them on multiple devices, pair them for multisig.  If you find bugs, report them.
  • run a relay on your cloud server to help the network. The relay doesnít hold any private keys, so you donít have to worry too much about security.  Get relay source code from https://github.com/byteball/byteball-relay
  • run a hub to better decentralize the delivery of private payments (the hub also includes a relay).  Again, the security doesnít matter much as all messages are end-to-end encrypted.  Hub address can be changed by users in their wallet settings.  Get hub source code from https://github.com/byteball/byteball-hub
  • fix bugs, contribute improvements in our github repositories https://github.com/byteball.  In particular, we need faster syncing and faster UI.  Before now, I prioritized simplicity of algorithms over performance, now we need speed too.  A 10x improvement should come easy enough, the next 10x will be probably harder.  Discuss any major changes before actually implementing them.
  • develop new tools/apps that you think will be useful for Byteball users
  • spread the word about Byteball and remember that its value is proportional to the square of the number of active users


Translations: Chinese, French, German, Italian, Portuguese, Russian, Spanish.
Twitter: https://twitter.com/ByteballOrg
Slack: http://slack.byteball.org
-----------------------------

One last thing.  The remaining 1% will be given away to the first 100m users who install Byteball wallet, 100 Kbytes to each user.  This will start 6 months from now or later, after we get ready for that scale.

« Last Edit: November 17, 2016, 07:04:53 PM by vindyne8 »



*

Offline vindyne8

  • *
  • 46
  • +0/-0
  • Hello everyone! I love Free Bitcoin
      • View Profile
Re: BYTEBALL: New consensus algorithm + private untraceable payments
« Reply #1 on: November 17, 2016, 02:16:32 AM »
Quoted below is from the dev of Byteball:

Quote
Finally, you can experience the pre-distribution linking of Byteball and Bitcoin addresses.

We are launching a new testnet, and you'll be able to get a portion of its distribution in proportion to your balance in Bitcoin testnet.

0.  Get your Bitcoin testnet wallet ready and funded.

1.  Download and install the wallet for the new Byteball testnet: https://github.com/byteball/byteball/releases
You will have two Byteball wallets - one for the old testnet that you already have, the other for the upcoming new testnet.

2.  Visit https://byteball.org and click the link to chat with the Transition Bot.  The link will open the new wallet and start a chat.  Follow the instructions of the Transition Bot to prove your Bitcoin balance.


You have two options to prove your Bitcoin balance:
a.  By making a micropayment.  The bot will see your address the payment came from, will know that it is your address, and will instruct you to move your Bitcoins to this address.  By making several micropayments, you can link several Bitcoin addresses to the same Byteball address.
b.  By signing a message (if your Bitcoin wallet supports this function).  You tell the bot your Bitcoin address and sign your Byteball address with the Bitcoin address.  After you prove one address (a typical Bitcoin wallet has dozens of them), you can either move all your coins to this single proven address or prove all other addresses in the same way -- by signing a message.

If you try to link the same Bitcoin address to multiple Byteball addresses, only the last linking counts.

If you prove by micropayment, remember to check that the Bitcoin address that the bot received the micropayment from, is indeed your address.  An attacker might see your payment on the blockchain and repeat the same micropayment from his address trying to trick you to move your funds to him.

3.  After linking, there is no use of the new wallet before the distribution, just keep it installed (backup if necessary).  It will receive the bytes on the distribution day.  If you make any Bitcoin payment, your coins will most likely be moved to a new change address.  Chat with the bot again, see the balance on your linked address(es) and move the coins back to the linked address(es) if necessary.

The linking phase will end in late November, after which we'll do the distribution for the new testnet.  Those who linked their Byteball and Bitcoin addresses will receive new test bytes in proportion to their Bitcoin testnet balances on the distribution day.

If all goes well, we'll do exactly same linking, but with real Bitcoin addresses, from early December to December 25 before the upcoming livenet launch and distribution.
« Last Edit: November 17, 2016, 02:18:09 AM by vindyne8 »

*

Offline vindyne8

  • *
  • 46
  • +0/-0
  • Hello everyone! I love Free Bitcoin
      • View Profile
Re: BYTEBALL: New consensus algorithm + private untraceable payments
« Reply #2 on: November 25, 2016, 12:29:52 AM »
A few Q & A from the past week:





Join #Byteball on slack to keep up on current events!

*

Offline vindyne8

  • *
  • 46
  • +0/-0
  • Hello everyone! I love Free Bitcoin
      • View Profile
Re: BYTEBALL: New consensus algorithm + private untraceable payments
« Reply #3 on: December 02, 2016, 09:23:37 PM »
Byteball version 0.7.0t released: huge performance improvements and new testnet.
Get it here: https://github.com/byteball/byteball/releases

*

Offline vindyne8

  • *
  • 46
  • +0/-0
  • Hello everyone! I love Free Bitcoin
      • View Profile
Re: BYTEBALL: New consensus algorithm + private untraceable payments
« Reply #4 on: December 07, 2016, 04:29:11 AM »
From the Byteball dev:

Starting now, you can link your Byteball and Bitcoin addresses for the upcoming distribution.

1. Download and install the wallet for Byteball live network:
Desktop: https://github.com/byteball/byteball/releases
Android: https://play.google.com/store/apps/details?id=org.byteball.wallet
* You will have two Byteball wallets - one for the testnet that you already have, the other for the upcoming live network.

2. Visit https://byteball.org and click the link to chat with the Transition Bot.  The link will open the new wallet and start a chat. Follow the instructions of the Transition Bot to prove your Bitcoin balance.


You have two options to prove your Bitcoin balance:
a. By making a micropayment. The bot will see your address the payment came from, will know that it is your address, and will instruct you to move your Bitcoins to this address. By making several micropayments, you can link several Bitcoin addresses to the same Byteball address.
b. By signing a message (if your Bitcoin wallet supports this function). You tell the bot your Bitcoin address and sign your Byteball address with the Bitcoin address. After you prove one address (a typical Bitcoin wallet has dozens of them), you can either move all your coins to this single proven address or prove all other addresses in the same way -- by signing a message.

If you try to link the same Bitcoin address to multiple Byteball addresses, only the last linking counts.  This rule might be adjusted if we see attempts to link exchange-owned addresses.

If you prove by micropayment, remember to check that the Bitcoin address that the bot received the micropayment from, is indeed your address. An attacker might see your payment on the blockchain and repeat the same micropayment from his address trying to trick you to move your funds to him.

3. After linking, there is no use of the new wallet before the distribution, just keep it installed (backup if necessary).  It will receive the bytes on the distribution day.  If you make any Bitcoin payment, your coins will most likely be moved to a new change address.  Chat with the bot again, see the balance on your linked address(es) and move the coins back to the linked address(es) if necessary.

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.

During this distribution we'll distribute 10% of the total supply of bytes and blackbytes. The remaining 88% will be distributed during subsequent distribution rounds, exact dates to be announced later. The planned distribution percentages (subject to change):

2nd round: 20%
3rd round: 30%
4th round: 38%


The rounds will be spaced 1 to 2 months.

In each subsequent distribution round, we'll take a new snapshot. The distribution rules in the 2nd and further rounds will be slightly different from the 1st. You'll show both your BTC balances (as in the 1st round) and your balance in bytes (which you received in earlier rounds or bought from other users). You have a sort of basket that consists of a mixture of BTC and bytes. To determine the weight of the basket, every 62.5 MB are counted as 1 BTC. For example, if you have 125 MB and 3 BTC, the weight is 2+3=5 BTC. The distribution of new bytes in the 2nd and subsequent phases will be proportional to the weight of your basket.

My 1% doesn't participate in the 2nd and further rounds.

The ratio 62.5 MB per 1 BTC is chosen so that the total money supply of bytes (1015) and the total number of BTC in circulation (16,000,000) are equivalent.

Earlier adopters have the opportunity to participate in greater number of distribution rounds and receive new bytes in each round by using the same BTC balance and bytes received in previous rounds. You are effectively doubling your stake in each additional round you take part in.

Please retweet https://twitter.com/ByteballOrg/status/806290785486467073

Tags: