- First block mined at 16:00:01 UTC, 16th November 2017
- 850,000 GBX premine
- NeoScrypt hashing algorithm, CPU/GPU/FPGA mining available
- 2.5 minute block time, 2MB blocks, ~56 transactions per second
- Block reward decreases by 8.333% per year
- Dark Gravity Wave difficulty adjustment algorithm
- Between 34.05M and 37.84M total coin supply
- Decentralized second-tier masternode network
- Superior privacy using PrivateSend
- Instant transactions using InstantSend
- Protection against blockchain reorganization events (commonly called 51% attacks) using ChainLocks
- Decentralized Governance By Blockchain allows masternode owners to vote on budget proposals and decisions that affect GoByte
In addition to traditional Proof of Work (PoW) rewards for mining GoByte, users are also rewarded for running and maintaining special servers called masternodes. Thanks to this innovative two tier network, GoByte can offer innovative features in a trustless and decentralized way. Masternodes are used to power PrivateSend, InstantSend, and the governance and treasury system. Users are rewarded for running masternodes; 65% of the block reward is allocated to pay the masternode network. You can view practical guides on all topics relating to masternodes here.
Masternodes enable the following services:
- InstantSend allows for near-instant transactions. GoByte InstantSend transactions are fully confirmed within two seconds.
- PrivateSend gives financial privacy through a decentralized implementation of CoinJoin.
- ChainLocks, which protects the blockchain against 51% mining attacks by signing blocks as they are mined.
- Governance and Treasury allows stakeholders in GoByte to determine the direction of the project and devotes 10% of the block reward to development of the project and ecosystem.
- GoByte Evolution will make using cryptocurrency as easy as using PayPal.
Masternode owners must have possession of 1000 GBX, which they prove by signing a message included in a special transaction written to the blockchain. The GoByte can be moved or spent at any time, but doing so will cause the masternode to fall out of queue and stop earning rewards. Masternode users are also given voting rights on proposals. Each masternode has one vote and this vote can be used on budget proposals or important decisions that affect GoByte.
Masternodes cost money and effort to host so they are paid a percentage of the block reward as an incentive. Because only one masternode is paid in each block, the frequency of the payment can vary, as well as the value of the GoByte paid out. This tool shows a live calculation of masternode earnings. These rewards decrease by 8.33% each year, together with the block reward. There is also the possibility for masternodes to earn money from fees in the future.
PrivateSend gives you true financial privacy by obscuring the origins of your funds. All the GoByte in your wallet is comprised of different “inputs”, which you can think of as separate, discrete coins. PrivateSend uses an innovative process to mix your inputs with the inputs of at least two other people in a single transaction, so the value in GoByte never leaves your wallet. You retain control of your money at all times.
You can view a practical guide to use PrivateSend here.
The PrivateSend process works like this:
- PrivateSend begins by breaking your transaction inputs down into standard denominations. These denominations are 0.001, 0.01, 0.1, 1 and 10 GBX – much like the paper money you use every day.
- Your wallet then sends requests to specially configured software nodes on the network, called “masternodes”. These masternodes are informed then that you are interested in mixing a certain denomination. No identifiable information is sent to the masternodes, so they never know “who” you are.
- When two other people send similar messages, indicating that they wish to mix the same denomination, a mixing session begins. The masternode mixes up the inputs and instructs all three users’ wallets to pay the now-transformed input back to themselves. Your wallet pays that denomination directly to itself, but in a different address (called a change address).
- Your wallet must repeat this process a number of times with each denomination. Each time the process is completed, it’s called a “round”. Each round of PrivateSend makes it exponentially more difficult to determine where your funds originated. The user may choose between 1-16 rounds of mixing.
- This mixing process happens in the background without any intervention on your part. When you wish to make a private transaction, your funds will be ready to spend. No additional waiting is required.
Note that PrivateSend transactions will be rounded up so that all transaction inputs are spent. Any excess GoByte will be spent on the transaction fee.
IMPORTANT: Your wallet only contains 1000 of these “change addresses”. Every time a mixing event happens, one of your addresses is used up. Once enough of them are used, your wallet must create more addresses. It can only do this, however, if you have automatic backups enabled. Consequently, users who have backups disabled will also have PrivateSend disabled.
Traditional decentralized cryptocurrencies must wait for certain period of time for enough blocks to pass to ensure that a transaction is both irreversible and not an attempt to double-spend money which has already been spent elsewhere. This process is time-consuming, and may take anywhere from 15 minutes to one hour for the widely accepted number of six blocks to accumulate. Other cryptocurrencies achieve faster transaction confirmation time by centralizing authority on the network to various degrees.
GoByte suffers from neither of these limitations thanks to its second-layer network of masternodes. Masternodes regularly form voting quorums to check whether or not a submitted transaction is valid. If it is valid, the masternodes “lock” the inputs for the transaction and broadcast this information to the network, effectively promising that the transaction will be included in subsequently mined blocks and not allowing any other spending of these inputs during the confirmation time period.
InstantSend technology will allow for cryptocurrencies such as GoByte to compete with nearly instantaneous transaction systems such as credit cards for point-of-sale situations while not relying on a centralized authority. Widespread vendor acceptance of GoByte and InstantSend could revolutionize cryptocurrency by shortening the delay in confirmation of transactions from as long as an hour (with Bitcoin) to as little as a few seconds.
You can view a practical guide to use InstantSend here. InstantSend was introduced in a whitepaper called Transaction Locking and Masternode Consensus: A Mechanism for Mitigating Double Spending Attacks, and further improved through the introduction of LLMQ-based InstantSend in GoByte 0.14.
How Dash & GoByte ‘InstantSend’ Protects Merchants from Double Spends, Dash Detailed by Amanda B. Johnson, 16 September 2016
ChainLocks are a feature provided by the GoByte Network which provides certainty when accepting payments. This technology, particularly when used in parallel with InstantSend, creates an environment in which payments can be accepted immediately and without the risk of “Blockchain Reorganization Events”.
The risk of blockchain reorganization is typically addressed by requiring multiple “confirmations” before a transaction can be safely accepted as payment. This type of indirect security is effective, but at a cost of time and user experience. ChainLocks are a solution for this problem.
ChainLocks Process Overview¶
Every twelve hours a new “LLMQ” (Long-Living Masternode Quorum) is formed using a “DKG” (Distributed Key Generation) process. All members of this Quorum are responsible for observing, and subsequently affirming, newly mined blocks:
- Whenever a block is mined, Quorum Members will broadcast a signed message containing the observed block to the rest of the Quorum.
- If 60% or more of the Quorum sees the same new block they will collectively form a “CLSIG” (ChainLock Signature) message which will be broadcast to the remainder of the network.
- When a valid ChainLock Signature is received by a client on the network, it will reject all blocks at the same height that do not match the block specified in that message.
The result is a quick and unambiguous decision on the “correct” blockchain for integrated clients and wallets. From a security perspective, this also makes reorganizations prior to this block impossible. See DIP0008 ChainLocks for a full description of how ChainLocks work.
In response to unforeseen issues with the rollout of the major “RC3” update in June 2014, the Dash development team created a mechanism by which updated code is released to the network, but not immediately made active (“enforced”). This innovation was adopted by GoByte and it allows for far smoother transitions than in the traditional hard fork paradigm, as well as the collection of test data in the live network environment. This process of multi-phased forking was originally to be called “soft forking” but the community affectionately dubbed it “the spork” and the name stuck.
New features or versions of GoByte undergo extensive testing on testnet before they are released to the main network. When a new feature or version of GoByte is released on mainnet, communication is sent out to users informing them of the change and the need for them to update their clients. Those who update their clients run the new code, but it is not activated until a sufficient percentage of network participants (usually 80%) reach consensus on running it. In the event of errors occurring with the new code, the client’s blocks are not rejected by the network and unintended forks are avoided. Data about the error can then be collected and forwarded to the development team. Once the development team is satisfied with the new code’s stability in the mainnet environment – and once acceptable network consensus is attained – enforcement of the updated code can be activated remotely by multiple members of the core development team signing a network message together with their respective private keys. Should problems arise, the code can be deactivated in the same manner, without the need for a network-wide rollback or client update. For technical details on individual sporks, see here.
NeoScrypt Hash Algorithm¶
NeoScrypt is a widely used hashing algorithm created by Feathercoin core developers. As the name suggests, NeoScrypt is a further development of Scrypt. It is aimed at increased security and better performance on general purpose computer hardware while maintaining comparable costs and requirements.
Although a very innovative design back in time, Scrypt has developed certain vulnerabilities. The first announced differential cryptanalysis of Salsa20/8 by Tsunoo in 2007 did not deliver any advantage over 256-bit brute force attack, but the following research by Aumasson reduced time complexity to break it from 2^255 to 2^251 with 50% success probability. It was improved by Shi in 2012 to 2^250. Although this is not critical yet, better attacks on Salsa20/8 may be developed in the future.
NeoScrypt addresses these issues. The core engine is configured to employ non-reduced Salsa20 of 20 rounds (Salsa20/20) as well as non-reduced ChaCha20 of 20 rounds (ChaCha20/20). Both of them are used to produce the final salt as their outputs are XOR’ed into it. They may be configured to run either in series or parallel depending on application objectives. The default NeoScrypt configuration is (128, 2, 1). There are no known successful attacks on non-reduced Salsa20 and ChaCha20 other than exhaustive brute force search. NeoScrypt replaces SHA-256 with BLAKE2s which is a further development of BLAKE-256 , one of 5 NIST SHA-3 contest finalists.
Information on mining with NeoScrypt can be found in the Mining section of this documentation.
Dark Gravity Wave¶
DGW or Dark Gravity Wave is an open source difficulty-adjusting algorithm for Bitcoin-based cryptocurrencies that was first used in Dash and has since appeared in other digital currencies, including GoByte. DGW was authored by Evan Duffield, the developer and creator of Dash, as a response to a time-warp exploit found in Kimoto’s Gravity Well. In concept, DGW is similar to the Kimoto Gravity Well, adjusting the difficulty levels every block (instead of every 2016 blocks like Bitcoin) based on statistical data from recently found blocks. This makes it possible to issue blocks with relatively consistent times, even if the hashing power experiences high fluctuations, without suffering from the time-warp exploit.
- Version 2.0 of DGW was implemented in Dash from block 45,000 onwards in order to completely alleviate the time-warp exploit.
- Version 3.0 was implemented on May 14 of 2014 to further improve difficulty re-targeting with smoother transitions. It also fixes issues with various architectures that had different levels of floating-point accuracy through the use of integers.
- Version 3.0 of DGW was implemented in GoByte from block 1 onwards.
Cryptocurrencies such as GoByte and Bitcoin are created through a cryptographically difficult process known as mining. Mining involves repeatedly solving hash algorithms until a valid solution for the current mining difficulty is discovered. Once discovered, the miner is permitted to create new units of the currency. This is known as the block reward. To ensure that the currency is not subject to endless inflation, the block reward is reduced at regular intervals, as shown in this calculation. Graphing this data results in a curve showing total coins in circulation, known as the coin emission rate.
While GoByte is based on Bitcoin, it significantly modifies the coin emission rate to offer a smoother reduction in coin emission over time. While Bitcoin reduces the coin emission rate by 50% every 4 years, GoByte reduces the emission by one-twelfth (approx. 8.3333%) every 210240 blocks (approx. 364.25 days). It can be seen that reducing the block reward by a smaller amount each year offers a smoother transition to a fee-based economy than Bitcoin.
Total coin emission¶
Bitcoin’s total coin emission can be calculated as the sum of a geometric series, with the total emission approaching (but never reaching) 21,000,000 BTC. This will continue until 2140, but the mining reward reduces so quickly that 99% of all bitcoin will be in circulation by 2036, and 99.9% by 2048.
GoByte’s total coin emission is also the sum of a geometric series, but the ultimate total coin emission is uncertain because it cannot be known how much of the 10% block reward reserved for budget proposals will actually be allocated, since this depends on future voting behavior. GoByte will continue to emit coins for approximately 34 years before a full block reward creates less than 1 GBX. Based on these numbers, a maximum and minimum possible coin supply in the year 2269 can be calculated to be between:
GBX | Assuming zero treasury allocation |
GBX | Assuming full treasury allocation |
Block reward allocation¶
Unlike Bitcoin, which allocates 100% of the block reward to miners, GoByte holds back 10% of the block reward for use in the decentralized budget system. The remainder of the block, as well as any transaction fees, are split 30/70 between the miner and a masternode, which is deterministically selected according to the payment logic. GoByte features superblocks, which appear every 17280 blocks (approx. 30.00 days) and can release up to 10% of the cumulative budget held back over that budget cycle period to the winning proposals in the budget system. Depending on budget utilization, this results in an approximate coin reward allocation over a budget cycle as follows:
|65%||Masternode Reward for Proof-of-service|
|10%||Decentralized Governance Budget|
See this site for live data on current network statistics.
Decentralized Governance by Blockchain, or DGBB, is GoByte’s attempt to solve two important problems in cryptocurrency: governance and funding. Governance in a decentralized project is difficult, because by definition there are no central authorities to make decisions for the project. In GoByte, such decisions are made by the network, that is, by the owners of masternodes. The DGBB system allows each masternode to vote once (yes/no/abstain) for each proposal. If a proposal passes, it can then be implemented (or not) by GoByte’s developers. A key example is early in 2018, when GoByte’s Core Team submitted a proposal to the network asking whether the block reward should be changed. Within 24 hours, consensus had been reached to approve this change. Compare this to Bitcoin, where debate on the blocksize has been raging for nearly three years.
DGBB also provides a means for GoByte to fund its own development. While other projects have to depend on donations or premined endowments, GoByte uses 10% of the block reward to fund its own development. Every time a block is mined, 25% of the reward goes to the miner, 65% goes to a masternode, and the remaining 10% is not created until the end of the month. During the month, anybody can make a budget proposal to the network. If that proposal receives net approval of at least 10% of the masternode network, then at the end of the month a series of “superblocks” will be created. At that time, the block rewards that were not paid out (10% of each block) will be used to fund approved proposals. The network thus funds itself by reserving 10% of the block reward for budget projects.
You can read more about GoByte governance in the Governance section of this documentation.
Introduced in GoByte 0.12.1, Sentinel is an autonomous agent for persisting, processing and automating GoByte governance objects and tasks. Sentinel is implemented as a Python application that binds to a local version dashd instance on each GoByte masternode.
A Governance Object (or “govObject”) is a generic structure introduced in GoByte 0.12.1 to allow for the creation of Budget Proposals and Triggers. Class inheritance has been utilized to extend this generic object into a “Proposal” object to supplant the current GoByte budget system.
Transactions on the GoByte network are recorded in blocks on the blockchain. The size of each transaction is measured in bytes, but there is not necessarily a correlation between high value transactions and the number of bytes required to process the transaction. Instead, transaction size is affected by how many input and output addresses are involved, since more data must be written in the block to store this information. Each new block is generated by a miner, who is paid for completing the work to generate the block with a block reward. In order to prevent the network from being filled with spam transactions, the size of each block is artificially limited. As transaction volume increases, the space in each block becomes a scarce commodity. Because miners are not obliged to include any transaction in the blocks they produce, once blocks are full, a voluntary transaction fee can be included as an incentive to the miner to process the transaction. Most wallets include a small fee by default, although some miners will process transactions even if no fee is included.
The release of GoByte 0.12.2.0 and activation of DIP0001 saw a simultaneous reduction of fees by a factor of 10, while the block size was increased from 1MB to 2MB to promote continued growth of low-cost transactions even as the cost of GoByte rises. GoByte also supports InstantSend and PrivateSend transactions, which operate on a different and mandatory fee schedule. GoByte 0.13.0.0 introduced InstantSend autolocks, which causes masternodes to automatically attempt to lock any transaction with 4 or fewer inputs — which are referred to as “simple” transactions — and removes the additional fee for InstantSend. The current fee schedule for GoByte is as follows:
As an example, a standard and relatively simple transaction on the GoByte network with one input, one output and a possible change address typically fits in the range of 200 - 400 bytes. Assuming a price of US$100 per GBX, the fee falls in the range of $0.0002 - $0.0004, or 1/50th of a cent. Processing a simple transaction using InstantSend at the same price is free of charge, while more complex InstantSend transactions may cost around 1-2 cents per transaction, depending on the number of inputs. These fees apply regardless of the GoByte or dollar value of the transaction itself.
PrivateSend works by creating denominations of 10, 1, 0.1, 0.01 and 0.001 GBX and then mixing these denominations with other users. Creation of the denominations is charged at the default fee for a standard transaction. Mixing is free, but to prevent spam attacks, an average of one in ten mixing transactions are charged a fee of 0.0001 GBX. Spending inputs mixed using PrivateSend incurs the usual standard or InstantSend fees, but to avoid creating a potentially identifiable change address, the fee is always rounded up to the lowest possible denomination. This is typically .001 GBX, so it is important to deduct the fee from the amount being sent if possible to minimise fees. Combining InstantSend and PrivateSend may be expensive due to this requirement and the fact that a PrivateSend transaction may require several inputs, while InstantSend charges a fee of 0.0001 GBX per input. Always check your fees before sending a transaction.
GoByte Evolution (Dash Evo) is the code name for a decentralized platform built on GoByte blockchain technology. The goal is to provide simple access to the unique features and benefits of GoByte to assist in the creation of decentralized technology. GoByte introduces a tiered network design, which allows users to do various jobs for the network, along with decentralized API access and a decentralized file system.
GoByte Evolution will be released in stages. GoByte Core releases 0.12.1 through to 0.12.3 lay the groundwork for the decentralized features behind the scenes. Version 0.13 introduces the foundation of Evolution, specifically DIP2 Special Transactions and DIP3 Deterministic Masternode Lists. Version 0.14 establishes DIP6 Long Living Masternode Quorums. Expected in late 2021, GoByte Core 1.0 will introduce key Evolution features such as username-based payments, the world’s first decentralized API (DAPI) and a decentralized data storage system (Drive) based on IPFS.
Included below is our current Dash work on Evolution, that adds many components such as:
- Drive: A decentralized shared file system for user data that lives on the second tier network
- DAPI: A decentralized API which allows third tier users to access the network securely
- GoBytePay Decentralized Wallets: These wallets are light clients connected to the network via DAPI and run on various platforms
- Second Tier: The masternode network, which provides compensated infrastructure for the project
- Budgets: The second tier is given voting power to allocate funds for specific projects on the network via the budget system
- Governance: The second tier is given voting power to govern the currency and chart the course the currency takes
- Deterministic Masternode Lists: This feature introduces an on-chain masternode list, which can be used to calculate past and present quorums
- Social Wallet: We introduce a social wallet, which allows friends lists, grouping of users and shared multisig accounts
The following videos featuring GoByte Founder Evan Duffield and Head of UI/UX Development Chuck Williams describe the development process and upcoming features of the GoByte Evolution platform.
Evolution Demo #1 - The First GoByte DAP, TBA
Evolution Demo #2 - Mobile Evolution, TBA
Evolution Demo #3 - GoBytePay User Experience, TBA