/ 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.
dev roundup

Overview

This month, core Quai devs have been focused on testing the Quai Network protocol, and addressing bugs that come up as a result of that testing. Additionally, core developers are exploring the implementation of ProgPoW, a GPU-limited mining algorithm, as opposed to the current ASIC-able mining algorithm of Blake3.

Core Protocol

Through internal testing of the Quai protocol, core devs identified and fixed bugs relating to gas estimation and memory. Core developers are also discussing the implementation of the ProgPoW mining algorithm as opposed to the current Blake3 algo, which would ensure that Quai mining occurs largely on GPUs vs. FPGAs/ASICs.

Bug Fixes 

  1. Gas Estimation: The first major bug found and addressed this past month involved the “EstimateGas” API call, which allows users to determine the approximate cost of gas a transaction/interaction will require before deploying it. Gas estimation was incorrectly referencing pending blocks, and has been changed to reference the latest canonical block. https://github.com/dominant-strategies/go-quai/pull/973
  2. Memory Leak: One of the most pervasive issues during recent DevNets was a memory leak – RAM usage was increasing without being properly freed – which caused the RAM requirements of running a node to be higher than desired. This issue was fixed by replacing the existing sync/mutex library with the native sync library and also removing all the expensive tracing to collect Rollups to database lookups. https://github.com/dominant-strategies/go-quai/pull/926
  3. Removed Bloom: Bloom, a part of an Ethereum block that allows nodes to identify whether a block affects certain accounts, has been removed from block headers. Removing Bloom from block headers shrinks each header by 700+ bytes, allowing for faster propagation and indexing. The ability for nodes to identify whether a block affects certain accounts still exists via Blooms, but they are no longer contained in the header. https://github.com/dominant-strategies/go-quai/pull/952

ProgPoW

While existing implementations of Quai Network have utilized Blake3 as the mining algorithm, core developers are discussing the use of ProgPoW instead. Switching the mining algorithm from Blake3 to ProgPoW will heavily constrain Quai mining to GPUs, while remaining on Blake3 would heavily incentivize the mining of Quai via ASICs.

The ProgPoW project was originally introduced in 2018 as an effort to keep Ethereum mining GPU-limited as Ethash ASICs began to become more and more prevalent. ProgPoW was widely discussed amongst Ethereum developers and miners, with a variety of forum posts on Ethresear.ch and more dedicated to discussion around ProgPoW. 

To the Dominant Strategies team’s knowledge, no live protocol has implemented ProgPoW as their mining algorithm yet. While the Ethereum community moved away from the discussion on Ethash vs. ProgPoW as the merge to PoS became a certainty, the GPU-limited nature of ProgPoW has led Quai core developers to begin work on creating a ProgPoW implementation for Quai.

The PR for the switch from Blake3 to ProgPoW can be found here: https://github.com/dominant-strategies/go-quai/pull/963

EIP-1057, a now stagnant improvement proposal regarding the implementation of ProgPoW, can be found here: https://eips.ethereum.org/EIPS/eip-1057 

Discussion surrounding the implementation of ProgPoW is active in the Quai dev discord server. To join the discussion and make your voice heard, you can join the server here: https://discord.gg/s8y8asPwNC. As a note, this server is solely focused on Quai development/mining – any discussion on topics like rewards programs will lead to an immediate ban.

Pelagus Wallet

Recently, a Quai-native wallet intended for use in the Iron Age Testnet has been open-sourced by Dominant Energy, a subsidiary of Dominant Strategies. The browser wallet, named Pelagus, is anticipated to be listed in the Chrome, Edge, Brave, and Firefox stores alongside the Iron Age Testnet. 

Before Pelagus is available within browser stores, it will be difficult for users to set up the wallet. It is highly recommended for users without development experience to wait for the wallet to be listed within browser stores before attempting to set up their Pelagus Wallet. However, due to the open-source nature of Pelagus Wallet, anyone can review the codebase and begin proposing issues and changes. Individuals with development experience are encouraged to get involved with Pelagus by checking out the Github repository and making contributions.

The full announcement of Pelagus Wallet on the Quai Blog, which includes an embedded video demo of the wallet, can be found here: https://qu.ai/blog/pelagus-wallet/ 

Marketing

Content

Some new marketing initiatives, such as This Week in Quai, have continued through the month of June. This Week in Quai was created to provide the Quai community with a once-a-week update on the biggest happenings in both Quai development and the Quai community. Including a quote of the week, a technical term of the week, top Quai community posts from the week, and an upcoming events schedule, This Week in Quai offers the perfect high-level update for Quai community members looking for a quick once-a-week read. The five new June editions of This Week in Quai can be found here:

  1. https://qu.ai/blog/this-week-in-quai-4/ – June 2nd, 2023
  2. https://qu.ai/blog/this-week-in-quai-5/ – June 9th, 2023
  3. https://qu.ai/blog/this-week-in-quai-6/ – June 16th, 2023
  4. https://qu.ai/blog/this-week-in-quai-7/ – June 23rd, 2023
  5. https://qu.ai/blog/this-week-in-quai-8/ – June 30th, 2023

Events

Some members of the Quai team will be heading to EthCC for July 17th as attendees of ETH Paris. If you’re attending EthCC next month, be sure to get in touch with the Dominant Strategies team. We’d love to get in touch with members of the Quai community in France!

After EthCC, Dominant Strategies will be turning focus to Token2049 Singapore. Quai Network will be a sponsor of Token2049, with a dedicated booth. 

After Token2049 Singapore, Quai Network will be a sponsor of Permissionless 2023 in Austin. A Quai event will be hosted around the Permissionless conference as well. Further details on the Permissionless event will be announced as the conference approaches!

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.