/ launching_quai_network

/ sequence_initiated

/ launching_quai_network

/ sequence_initiated

/ launching_quai_network

/ sequence_initiated

/ 56% complete


struct group_info init_groups = { .usage = ATOMIC_INIT(2) };
struct group_info *groups_alloc(int gidsetsize){
struct group_info *group_info;
int nblocks;
int i;


nblocks = (gidsetsize + NGROUPS_PER_BLOCK - 1) / NGROUPS_PER_BLOCK;
/* Make sure we always allocate at least one indirect block pointer */
nblocks = nblocks ? : 1;
group_info = kmalloc(sizeof(*group_info) + nblocks*sizeof(gid_t *), GFP_USER);
if (!group_info)
return NULL;
group_info->ngroups = gidsetsize;
group_info->nblocks = nblocks;
atomic_set(&group_info->usage, 1);


if (gidsetsize <= NGROUPS_SMALL)
group_info->blocks[0] = group_info->small_block;
else {
for (i = 0; i < nblocks; i++) {
gid_t *b;
b = (void *)__get_free_page(GFP_USER);
if (!b)
goto out_undo_partial_alloc;
group_info->blocks[i] = b;
}
}
return group_info;

EXPORT_SYMBOL(groups_alloc);


void groups_free(struct group_info *group_info)
{
if (group_info->blocks[0] != group_info->small_block) {
int i;
for (i = 0; i < group_info->nblocks; i++)
free_page((unsigned long)group_info->blocks[i]);
}
kfree(group_info);
}


EXPORT_SYMB|

/ launching_quai_network

/ sequence_initiated

/ launching_quai_network

/ sequence_initiated

/ launching_quai_network

/ sequence_initiated

/ 56% complete


struct group_info init_groups = { .usage = ATOMIC_INIT(2) };
struct group_info *groups_alloc(int gidsetsize){
struct group_info *group_info;
int nblocks;
int i;


nblocks = (gidsetsize + NGROUPS_PER_BLOCK - 1) / NGROUPS_PER_BLOCK;
/* Make sure we always allocate at least one indirect block pointer */
nblocks = nblocks ? : 1;
group_info = kmalloc(sizeof(*group_info) + nblocks*sizeof(gid_t *), GFP_USER);
if (!group_info)
return NULL;
group_info->ngroups = gidsetsize;
group_info->nblocks = nblocks;
atomic_set(&group_info->usage, 1);


if (gidsetsize <= NGROUPS_SMALL)
group_info->blocks[0] = group_info->small_block;
else {
for (i = 0; i < nblocks; i++) {
gid_t *b;
b = (void *)__get_free_page(GFP_USER);
if (!b)
goto out_undo_partial_alloc;
group_info->blocks[i] = b;
}
}
return group_info;

EXPORT_SYMBOL(groups_alloc);


void groups_free(struct group_info *group_info)
{
if (group_info->blocks[0] != group_info->small_block) {
int i;
for (i = 0; i < group_info->nblocks; i++)
free_page((unsigned long)group_info->blocks[i]);
}
kfree(group_info);
}


EXPORT_SYMB|

0%_LOADING

/ launching_quai_network

/ sequence_initiated

/

loading...

REBUILDING CURRENCY
a new currency
a new financial system
a new world
/ launching_quai_network / sequence_initiated / scroll_to_commence_build
> Quai Network is a set of EVM-compatible blockchains that achieves 50k+ TPS without compromising decentralization.
bronzeagequai
Our team at Quai Network recently closed out a wildly successful testnet and we couldn’t be more excited about what is to come for the network.
bronzeagequai

We’re extremely grateful for the amazing participation we saw during the Bronze Age Testnet. The overwhelming participation from our community allowed our team to simulate a real network and gain invaluable experience in preparation for mainnet. The testnet launched on February 18th and concluded on March 23rd. Within that short timeframe we saw the following:

  • 1,700 nodes come online.
  • 1.4 million blocks successfully mined across the network.
  • 110K+ transactions completed.
  • 1,070 unique miners participate.
  • 2,089 unique mining addresses mine blocks.

tooling updates

One of the great benefits of this testnet was not only improving the core protocol but also the surrounding toolset of Quai Network. The Bronze Age Testnet gave us the opportunity to test our stats pages, explorer, faucet, and wallet, all of which are still in Alpha.

Geographic participation

We take immense pride in the level of reach this testnet had across the globe. In order to build a truly borderless protocol, it is expected that Quai Network is not limited by geography. This testnet proves that Quai Network has the capabilities of a being an open, permissionless, and properly decentralized protocol at scale. While the picture below does show great dispersion, this is just the beginning. Our goal is to further decentralize the protocol and create more nodes and miners across the globe.

Bronze Age Testnet Node Locations

Transaction count

The Bronze Age Testnet picked up the most steam for transactions towards the last week of the testnet. The participation surged from 5,000 unique network addresses across the shards. This increase in transaction throughput resulted from decreased transaction propagation delays and a successful faucet launch.

Graph of aggregate transaction counts across all chains

Block Difficulty

As the testnet matured, a telling sign of network participation was the increase in overall difficulty. Below is a chart of the block difficulty across the Regions within Quai Network. We see that Cyprus (Region 1) saw the most initial participation due to it being a default in the mining software. Over time, we began to see hashrate get further distributed across the other Regions. We would expect to see these lines further converge with the extended duration of the network.

Chart of block difficulties across Regions

Block Times

The network did experience periodic outages that resulted from improper block creation. You can pinpoint these outages as the large spikes in the graph below. These outages were quickly addressed by our team which resulted in proper block production following adequate updates by all network participants.

Chart of block times for Paxos 1

High impact code updates

Outside of network participation, a key focus of ours was improving the core protocol and testing telemetry. Below are some of the key code updates that were implemented as part of this testnet.

Go-quai

  • PR-213: This PR accelerated block propagation and synchronization times. Fixed synchronization/tracing issues by relying on previous header information rather than iterating back to N-1 coincident block.
  • PR-210: Improved propagation of transactions to mining nodes.
  • PR-177: Support the EIP-1559 standard and the Gas Limit change threshold was changed from 90% to 80%.
  • PR-188: Fixed the concurrency chain update issue and added chain IDs for the ropsten chain config.
  • PR-197: Enable contract deployments.
  • PR-206: Fixed a few of the Gas related calls from web3.

quai-manager

  • PR-29: Manager was completely revamped with more verbose logging and improved syntax. Further work was done to combine the clients into a single interface to improve the readability of the code.
  • PR-24 :Increased retry interval of pending block errors.
  • PR-31: Fixed the issue with proper Reorg Rollback.

To do

With all being said and done, this is just the start to an exciting future for Quai Network. Here is a high level to do list of the required improvements that resulted from the learnings of the Bronze Age Testnet.

go-quai

  • Further improve synchronization and tracing time so that catching up to the current head(s) of the network is faster.
  • Fixing all external blocks not found errors that result from the node who mined the block not sending it to all respective chains.
  • Improve continuity across external block state implementation through linking all traces applied at N+1 coincident.

Quai-manager

  • Implement optimization functionality for mining on most profitable Zone.
  • Build out API endpoints to consolidate all go-quai nodes the manager is connected with.

Stats pages

  • Further improve telemetry and scaling Apache servers to handle all nodes on the network.

Explorer

  • Implement functionality for viewing the pending transaction mempool, reorg blocks, and ERC-20 contracts.

Faucet

  • Improve transaction propagation from the faucet to well connected mining nodes for faster inclusion.

Join us to build a better blockchain.

Quai Network is an open-source Proof-of-Entropy-Minima blockchain network utilizing the capabilities of merged mining to increase throughput and security. Users of Quai Network will enjoy fast transaction times without compromising decentralization and security. Miners will have competitive mining opportunities across the many blockchains within the network.

Capable of thousands of transactions per second, the Quai Network is a new solution to scalability that is soon to be ready for mainnet release.

Terms & Conditions / Disclaimer

The entirety of the Quai Genesis grants program, including the content of this article, is subject to the Terms and Conditions outlined here.

Opinions, ideas, and statements shared in this update are delivered with numerous assumptions, risks, and uncertainties which are subject to change over time. There are multiple risk factors, including those related to blockchain, cryptographic systems, and technologies generally, as well Quai’s business, operations and results of operations, that could cause actual results or developments anticipated not to be realized or, even if substantially realized, to fail to achieve any or all of the benefits that could be expected therefrom. We reserve the right to unilaterally, completely, or partially change plans, expectations, and intentions stated herein at any time and for any reason, in our sole and absolute discretion, and we undertake no obligation to update publicly or revise any forward-looking statement, whether as a result of new information, future developments, or otherwise. ACCORDINGLY, WE RECOMMEND THAT YOU DO NOT RELY ON, AND DO NOT MAKE ANY FINANCIAL DECISION OR INVESTMENT BASED ON, THE STATEMENTS CONTAINED IN THIS UPDATE OR ANY OF OUR UPDATES/ARTICLES — INCLUDING BUT NOT LIMITED TO ANY SELLING OR TRADING OF QUAI TOKENS, ETHER, OR ANY OTHER CRYPTOGRAPHIC OR BLOCKCHAIN TOKEN, OR THE SECURITIES OF ANY COMPANY.

The views, opinions, and statements made in this update are those of an individual author and not those of any institution, University, or legal entity operating within the jurisdiction of The United States or beyond. There is no association between these views, opinions, and statements and any for-profit or non-profit entity, particularly with Universities, Foundations, and other Agencies located within the United States. Any perception of such an association is purely accidental, and will be rectified immediately if brought to our attention by the reader.

Security

All Quai Network blockchains are braided together, keeping the entire network censorship resistant and secure creating Scalable Proof-of-Work.

Decentralization

Quai allows anyone to participate in network governance by running a node or miner. With thousands of participants distributed across the globe, there is no single party with the ability to modify or turn off the network, ensuring zero network downtime.

Scalability

Quai Network automatically expands with demand to upwards of 50,000 TPS while keeping fees under $0.01.

Consensus

Transactions in Quai Network can be locally confirmed prior to global confirmation, offering high throughput with the shortest possible time to economic finality.

Shared Security

All blockchains within Quai Network share Proof-of-Work security through merged mining. Every Quai transaction is eventually confirmed by 100% of network hash power.

Merge-Mined Parachains

Parachains inherit security and interoperability by merged mining with Quai Network, and create new incentives for miners and users.

The Prime Chain

The Prime blockchain acts as the "knot" tying all Quai Network chains together. The Prime blockchain braids sub networks together, facilitating the transfer of data across chains.

Sub Networks

Quai's many high-speed sub networks independently and asynchronously process transactions. All sub networks are braided together by the Prime chain, ensuring shared security and interoperability across the network.