Forwarded from House Of Chimera
Weekend Spotlight: XCAD Network
The XCAD Network ecosystem is rapidly evolving in an innovative social platform, where content creators and their fans can interact with each other. It opens up a new untapped revenue stream for content creators, while it allows fans to be more engaged with their favorite content creator!
The upcoming few weeks are packed with announcements, until the end of Q3. House of Chimera is interested to analyze the current adoption of XCAD Network to determine the growth of the ecosystem.
Bandwagon effect
The design of the XCAD Network ecosystem has a strong emphasis on the adoption of content creators. They play a major role within the ecosystem, therefore the platform must have a steady increase in adoption by content creators. The value of the XCAD Network token depends on the adoption of content creators, and it’s fans. The token is being used as means of payment for the content creator tokens on the XCAD DEX, therefore creating organic demand. The psychological ‘Bandwagon’ effect could occur when XCAD Network is attracting big content creators to their platform. The bandwagon effect is a cognitive bias that causes people to think or act a certain way if they believe that others are doing the same. Essentially, you could simplify this down to the ‘follow the crowd effect’ whereby people tend to follow influential people.
Adoption by content creators
The current adoption of XCAD Network by content creators is considerable, and this will only grow whenever the platform goes live. As stated above, it is expected that many small- and medium-sized content creators will follow their favorite content creators to adopt the XCAD Network into their business model. The current reach of the content creators of XCAD Network is ~135 million, which equals to 10 countries in Europe, as highlighted in the figure below.
Sidenote: House of Chimera didn't include the alt channels of the content creators, if these were included the total subscriber amount will be above 150+ million.
🗣 Socials
- Telegram discussion
- Follow us on Twitter
- Join our Discord
The XCAD Network ecosystem is rapidly evolving in an innovative social platform, where content creators and their fans can interact with each other. It opens up a new untapped revenue stream for content creators, while it allows fans to be more engaged with their favorite content creator!
The upcoming few weeks are packed with announcements, until the end of Q3. House of Chimera is interested to analyze the current adoption of XCAD Network to determine the growth of the ecosystem.
Bandwagon effect
The design of the XCAD Network ecosystem has a strong emphasis on the adoption of content creators. They play a major role within the ecosystem, therefore the platform must have a steady increase in adoption by content creators. The value of the XCAD Network token depends on the adoption of content creators, and it’s fans. The token is being used as means of payment for the content creator tokens on the XCAD DEX, therefore creating organic demand. The psychological ‘Bandwagon’ effect could occur when XCAD Network is attracting big content creators to their platform. The bandwagon effect is a cognitive bias that causes people to think or act a certain way if they believe that others are doing the same. Essentially, you could simplify this down to the ‘follow the crowd effect’ whereby people tend to follow influential people.
Adoption by content creators
The current adoption of XCAD Network by content creators is considerable, and this will only grow whenever the platform goes live. As stated above, it is expected that many small- and medium-sized content creators will follow their favorite content creators to adopt the XCAD Network into their business model. The current reach of the content creators of XCAD Network is ~135 million, which equals to 10 countries in Europe, as highlighted in the figure below.
Sidenote: House of Chimera didn't include the alt channels of the content creators, if these were included the total subscriber amount will be above 150+ million.
🗣 Socials
- Telegram discussion
- Follow us on Twitter
- Join our Discord
Got any 🔥Burning Questions🔥 to ask Amrit?
Ask away with the #ZilliqaXLayah on Twitter or reply to the linked tweet below!
Catch Amrit live in his AMA with Layah Heilpern tomorrow 18 Aug 4PM UK Time!
See you there 😊
https://twitter.com/zilliqa/status/1427228218113748999
Ask away with the #ZilliqaXLayah on Twitter or reply to the linked tweet below!
Catch Amrit live in his AMA with Layah Heilpern tomorrow 18 Aug 4PM UK Time!
See you there 😊
https://twitter.com/zilliqa/status/1427228218113748999
Twitter
Zilliqa
Zilliqa AMA! Got Burning Questions🔥 for @maqstik? Drop your questions below or use the hashtag #ZilliqaXLayah to send in your questions!! He's going LIVE with @LayahHeilpern this Wednesday 18th August 4pm UK! #ZilliqaXLayah Watch here: youtube.com/layahheilpern
Dear Zilliqa Community,
There is an issue with the mainnet currently. We’ve noticed that shard nodes have dropped off and are checking. The network is progressing and we are currently monitoring it very closely.
Transactions are blocked from the current block 13366008 till 1366100 (around the next 30 minutes) so that the network can resume with more shards.
We will keep you posted when it resumes again.
The Zilliqa Team
There is an issue with the mainnet currently. We’ve noticed that shard nodes have dropped off and are checking. The network is progressing and we are currently monitoring it very closely.
Transactions are blocked from the current block 13366008 till 1366100 (around the next 30 minutes) so that the network can resume with more shards.
We will keep you posted when it resumes again.
The Zilliqa Team
Dear Zilliqa Community
Transactions have resumed as of block 1366100.
Thank you once again for the support and patience.
The Zilliqa Team
Transactions have resumed as of block 1366100.
Thank you once again for the support and patience.
The Zilliqa Team
📖 Sunday Read from Amrit Kumar
NFT and social token thesis for the $ZIL ecosystem: Celebrities and influencers carry as much value as any goods, product or services. In the blockchain world, it has started to give rise to the rebirth of NFTs which has naturally extended to social and fan tokens.
We are witnessing the early signs of a decentralised creator economy which enables influencers, artists and in fact anyone to monetise themselves. Their ‘virtual’ value becoming tradable on a “humanised stock market” that enables trading of ownership or belonging to a community.
Creators in this economy get adequately recognised and rewarded for their skills, authenticity, ability to engage a large fan base and general know-how by having a direct access to their fans. Fans on the other hand can extract value for their contribution to creators' success.
NFT and social token thesis for the $ZIL ecosystem: Celebrities and influencers carry as much value as any goods, product or services. In the blockchain world, it has started to give rise to the rebirth of NFTs which has naturally extended to social and fan tokens.
We are witnessing the early signs of a decentralised creator economy which enables influencers, artists and in fact anyone to monetise themselves. Their ‘virtual’ value becoming tradable on a “humanised stock market” that enables trading of ownership or belonging to a community.
Creators in this economy get adequately recognised and rewarded for their skills, authenticity, ability to engage a large fan base and general know-how by having a direct access to their fans. Fans on the other hand can extract value for their contribution to creators' success.
To execute on this thesis, the community and the core team have to come together. Execution will be in phases that could very well overlap. In fact, we can already see some of the implementation within the ecosystem, some started by the core team and more by the dev community.
Let me elaborate a bit on how I see these phases come together:
Phase 1 (aka Build the Basics Phase): In this phase, we focus on building the basic tools to make sure that the ecosystem and the community has the needed infrastructure, tools and other resources available.
I firmly believe that the success of the rest of the initiatives will heavily depend on the UI and UX of the tools and infra we build in this phase. There are a few key infrastructures that will be must:
1️⃣ NFT marketplaces
2️⃣ NFT wallets
3️⃣ Contract standards
4️⃣ Indexing tools
Let's take NFT marketplaces for example. An ideal NFT marketplace must support:
1️⃣ Easy access to NFT wallets
2️⃣ Easy exploration of NFTs in all wallets
3️⃣ Blind and public auctions
4️⃣ Limited edition NFT drops
5️⃣ Bonding curve NFT distribution
6️⃣ Payment in Fiat and Crypto
7️⃣ Royalty fees for secondary NFT sales
8️⃣ Allow businesses to create a whitelabeled solution if needed with similar backend/smart contracts. This will be handy to build curated marketplaces that are less open.
On a similar note, an ideal NFT wallet must have the following characteristics:
1️⃣ Mobile first
2️⃣ Magic, Zeeves, ZILPay and Moonlet login integrations
3️⃣ Ability to view and manage NFTs easily
4️⃣ Connect the wallet with the NFT marketplace
Phase 2 (aka Growth Hacking Phase): In this phase, we ought to focus on building a community that supports the idea of NFTs and fan tokens. Without a supporting community that has a critical size, it is impossible to go any further. As any further building will not see traction.
he idea will be to build a community of collectors, fans, curators, artists and enthusiasts from all walks of lives. But, we won't be able to build a community without the right products and growth incentives to drive the demand for those products within that community.
To this end, the core team and the community should come together and take initiatives like:
1️⃣ Build products to drive NFT volume on marketplaces.
2️⃣ Set up a Creator’s Fund run as a DAO, the ownership of which can be tokenised and be tradable on ZILSwap.
3️⃣ Create incentives for people to engage with NFTs and social tokens.
4️⃣ Create a market for NFT creators which encourages creators to create more assets knowing that there will be a market for their assets.
Phase 3 (aka Advanced Building): This is the phase to go crazy. For example:
1️⃣ New NFT application directions
2️⃣ Decentralised Patreon for everything
3️⃣ Decentralised social media
4️⃣ Use DeFi to solve NFT liquidity
5️⃣ Collectible games
We're seeing great work in all phases. Marketplaces like Mintable, Okimoto. Wallets like Sparda. NFT products like Elons, DeMons, ZilDuck , ZILStarts, and social tokens like UFF Sports, Xcademy Official. And a lot many are also being supported by ZILHive.
Let's keep building and bring more users to each of these products and to those which will come in the near future.
Cheers!
Amrit Kumar
Let me elaborate a bit on how I see these phases come together:
Phase 1 (aka Build the Basics Phase): In this phase, we focus on building the basic tools to make sure that the ecosystem and the community has the needed infrastructure, tools and other resources available.
I firmly believe that the success of the rest of the initiatives will heavily depend on the UI and UX of the tools and infra we build in this phase. There are a few key infrastructures that will be must:
1️⃣ NFT marketplaces
2️⃣ NFT wallets
3️⃣ Contract standards
4️⃣ Indexing tools
Let's take NFT marketplaces for example. An ideal NFT marketplace must support:
1️⃣ Easy access to NFT wallets
2️⃣ Easy exploration of NFTs in all wallets
3️⃣ Blind and public auctions
4️⃣ Limited edition NFT drops
5️⃣ Bonding curve NFT distribution
6️⃣ Payment in Fiat and Crypto
7️⃣ Royalty fees for secondary NFT sales
8️⃣ Allow businesses to create a whitelabeled solution if needed with similar backend/smart contracts. This will be handy to build curated marketplaces that are less open.
On a similar note, an ideal NFT wallet must have the following characteristics:
1️⃣ Mobile first
2️⃣ Magic, Zeeves, ZILPay and Moonlet login integrations
3️⃣ Ability to view and manage NFTs easily
4️⃣ Connect the wallet with the NFT marketplace
Phase 2 (aka Growth Hacking Phase): In this phase, we ought to focus on building a community that supports the idea of NFTs and fan tokens. Without a supporting community that has a critical size, it is impossible to go any further. As any further building will not see traction.
he idea will be to build a community of collectors, fans, curators, artists and enthusiasts from all walks of lives. But, we won't be able to build a community without the right products and growth incentives to drive the demand for those products within that community.
To this end, the core team and the community should come together and take initiatives like:
1️⃣ Build products to drive NFT volume on marketplaces.
2️⃣ Set up a Creator’s Fund run as a DAO, the ownership of which can be tokenised and be tradable on ZILSwap.
3️⃣ Create incentives for people to engage with NFTs and social tokens.
4️⃣ Create a market for NFT creators which encourages creators to create more assets knowing that there will be a market for their assets.
Phase 3 (aka Advanced Building): This is the phase to go crazy. For example:
1️⃣ New NFT application directions
2️⃣ Decentralised Patreon for everything
3️⃣ Decentralised social media
4️⃣ Use DeFi to solve NFT liquidity
5️⃣ Collectible games
We're seeing great work in all phases. Marketplaces like Mintable, Okimoto. Wallets like Sparda. NFT products like Elons, DeMons, ZilDuck , ZILStarts, and social tokens like UFF Sports, Xcademy Official. And a lot many are also being supported by ZILHive.
Let's keep building and bring more users to each of these products and to those which will come in the near future.
Cheers!
Amrit Kumar
Zilliqa Announcement pinned «To execute on this thesis, the community and the core team have to come together. Execution will be in phases that could very well overlap. In fact, we can already see some of the implementation within the ecosystem, some started by the core team and more…»
Forwarded from ZilWall Announcement
🧬 ZilWall On-chain Social Platform – Stage 1. Profiles
😎 Create your unique profile, use add-ons for the name, add an avatar, like and follow to your favorite artists
💯 100% on-chain #PoweredByZil smart-contracts
–––
1️⃣. Profiles
🆔 Create your unique profile. Apply additional username utilities, add a photo, description and links to social networks. All information is stored on the Zilliqa blockchain.
* $ZWALL deposit only. You can always withdraw it, but then your profile will be cleared
–––
2️⃣. Followers
⛓️ Follow the updates of your favorite artist, participate in his boards*, view his arts*.
* Will be available with further updates
–––
3️⃣. Rating
🔝 Like artist's profiles, this increases rating in the list of users.
🔥 Burn $ZPAINT to perform social activity.
–––
4️⃣. Search
🔎 Search for an artist's profile by name or wallet address in the list of users.
😎 Create your unique profile, use add-ons for the name, add an avatar, like and follow to your favorite artists
💯 100% on-chain #PoweredByZil smart-contracts
–––
1️⃣. Profiles
🆔 Create your unique profile. Apply additional username utilities, add a photo, description and links to social networks. All information is stored on the Zilliqa blockchain.
* $ZWALL deposit only. You can always withdraw it, but then your profile will be cleared
–––
2️⃣. Followers
⛓️ Follow the updates of your favorite artist, participate in his boards*, view his arts*.
* Will be available with further updates
–––
3️⃣. Rating
🔝 Like artist's profiles, this increases rating in the list of users.
🔥 Burn $ZPAINT to perform social activity.
–––
4️⃣. Search
🔎 Search for an artist's profile by name or wallet address in the list of users.
https://twitter.com/ZilSwap/status/1432316377298182153
Mark your calendars for 6 September 🗓
Because the DeMons ZILO will be LIVE!
Be a part of the token launch offering for the first yield-generating, dynamic NFT in the Zilliqa ecosystem. GameFi and NFT fans, you're going to love this project.
For more details on the ZILO and the project check out the link below:
https://docs.zilswap.io/zilo/launches/03-demons
Mark your calendars for 6 September 🗓
Because the DeMons ZILO will be LIVE!
Be a part of the token launch offering for the first yield-generating, dynamic NFT in the Zilliqa ecosystem. GameFi and NFT fans, you're going to love this project.
For more details on the ZILO and the project check out the link below:
https://docs.zilswap.io/zilo/launches/03-demons
Twitter
ZilSwap
#Zilliqans, THE TIME IS HERE!!! Our 3rd #ZILO🔥#DeMons will be launching on Monday, 6 Sep. There are only 16,666,660 $DMZ that will ever exist, of which 1,666,666 will be up for grabs during this launch. All the details you need to know 🚀👇bit.ly/zilo3-demons…
Dear Zilliqa Community
Following the latest v8.1.0 upgrade, we’ve noticed some issues that require fixes. Transactions on mainnet are temporarily paused.
We appreciate your patience and understanding. Thank you.
The Zilliqa Team
Following the latest v8.1.0 upgrade, we’ve noticed some issues that require fixes. Transactions on mainnet are temporarily paused.
We appreciate your patience and understanding. Thank you.
The Zilliqa Team
Post-mortem Report for Mainnet Upgrade v8.1.0
Background: The Zilliqa protocol underwent a mainnet upgrade on Aug 30, 2021. This upgrade introduced important features to enable ZilBridge such as:
- Merkle Patricia tree data structure for contract storage
- Contract proof API needed for PolyNet relayers
It also included several stability, maintenance and bug fixes such as:
- Several memory clean up improvements
- Improve network stability for JSON RPC API service
- Improve PoW submission handling
- Node syncing improvement
The upgrade took a few hours and once the upgrade was completed, miners had started to join the network and started processing transactions, some exchanges like Binance had also opened up deposit and withdrawals.
Issue reported: At this point, one of the community devs from the Duck team reached out with an observation with their NFT token minting contract. They noticed that there were two transactions, one with TXID starting with 0xef and another starting with 0x02 which had minted the same token_id 1351. The first transaction was done before the upgrade had started, while the second one after the upgrade.
For some reasons, the transaction and therefore the state change that happened before the upgrade was ignored and the network after the upgrade wasn’t aware that the token_id 1351 had already been sold and hence after the upgrade, it was resold to a new buyer.
Early investigation and first action taken: As soon as we were informed about this, we started to look into the code of the Duck NFT minting contract. The contract code looked correct. After investigating a bit more, we suspected that the mainnet post-upgrade had started with a wrong global state and as a result the transaction before the upgrade even though it did happen, was considered to be non-existent from the network’s perspective. Since the global state that the nodes started with post-upgrade was somehow corrupted, we suspected the impact to be beyond the Duck NFT contract.
This took us a few hours and by that time 4,478 transactions had been processed by the network post-upgrade. Many of these transactions had been processed with the corrupt initial global state. In order to reduce the impact of the corrupted global state, we decided to disable RPC endpoints that allow users to send transactions. By doing so, we limited any future transaction to be processed under a wrong global state.
Investigating the root cause: After making sure that we had restricted the impact by disabling transactions, we started to investigate a bit deeper into what had gone wrong. We found that when the network was upgraded to v8.1.0 at block number 1,394,088, the final global state after the upgrade was not the same as the global state before the upgrade had started. In other words, the global state after block 1,394,088 was not the same as the state before block 1,394,089.
The main reason behind this was that the state changes for the last 88 blocks (i.e., for all the blocks processed in the last epoch, each epoch is characterised by 100 blocks) were not fully taken into account for the global state post-upgrade. The state changes for these 88 blocks are stored in what’s called a state delta as these 88 blocks had not formed a full 100-blocks epoch. Consider state delta as a temporary change in the global state to be effectuated at the end of the epoch. Nodes keep these state deltas separately until the epoch is fully complete. At the end of the epoch (i.e., every 100 blocks), the state delta is then merged with the global state.
To summarize, the issue was that while all the merged state deltas were considered part of the global state (i.e., all transactions until block 1,394,000), transactions made in the last 88 blocks such as the DUCK NFT minting transaction were ignored. As a result, even though those transactions were processed by the network, the state after the upgrade did not consider the state change that they created. It was as if those transactions never occurred.
Background: The Zilliqa protocol underwent a mainnet upgrade on Aug 30, 2021. This upgrade introduced important features to enable ZilBridge such as:
- Merkle Patricia tree data structure for contract storage
- Contract proof API needed for PolyNet relayers
It also included several stability, maintenance and bug fixes such as:
- Several memory clean up improvements
- Improve network stability for JSON RPC API service
- Improve PoW submission handling
- Node syncing improvement
The upgrade took a few hours and once the upgrade was completed, miners had started to join the network and started processing transactions, some exchanges like Binance had also opened up deposit and withdrawals.
Issue reported: At this point, one of the community devs from the Duck team reached out with an observation with their NFT token minting contract. They noticed that there were two transactions, one with TXID starting with 0xef and another starting with 0x02 which had minted the same token_id 1351. The first transaction was done before the upgrade had started, while the second one after the upgrade.
For some reasons, the transaction and therefore the state change that happened before the upgrade was ignored and the network after the upgrade wasn’t aware that the token_id 1351 had already been sold and hence after the upgrade, it was resold to a new buyer.
Early investigation and first action taken: As soon as we were informed about this, we started to look into the code of the Duck NFT minting contract. The contract code looked correct. After investigating a bit more, we suspected that the mainnet post-upgrade had started with a wrong global state and as a result the transaction before the upgrade even though it did happen, was considered to be non-existent from the network’s perspective. Since the global state that the nodes started with post-upgrade was somehow corrupted, we suspected the impact to be beyond the Duck NFT contract.
This took us a few hours and by that time 4,478 transactions had been processed by the network post-upgrade. Many of these transactions had been processed with the corrupt initial global state. In order to reduce the impact of the corrupted global state, we decided to disable RPC endpoints that allow users to send transactions. By doing so, we limited any future transaction to be processed under a wrong global state.
Investigating the root cause: After making sure that we had restricted the impact by disabling transactions, we started to investigate a bit deeper into what had gone wrong. We found that when the network was upgraded to v8.1.0 at block number 1,394,088, the final global state after the upgrade was not the same as the global state before the upgrade had started. In other words, the global state after block 1,394,088 was not the same as the state before block 1,394,089.
The main reason behind this was that the state changes for the last 88 blocks (i.e., for all the blocks processed in the last epoch, each epoch is characterised by 100 blocks) were not fully taken into account for the global state post-upgrade. The state changes for these 88 blocks are stored in what’s called a state delta as these 88 blocks had not formed a full 100-blocks epoch. Consider state delta as a temporary change in the global state to be effectuated at the end of the epoch. Nodes keep these state deltas separately until the epoch is fully complete. At the end of the epoch (i.e., every 100 blocks), the state delta is then merged with the global state.
To summarize, the issue was that while all the merged state deltas were considered part of the global state (i.e., all transactions until block 1,394,000), transactions made in the last 88 blocks such as the DUCK NFT minting transaction were ignored. As a result, even though those transactions were processed by the network, the state after the upgrade did not consider the state change that they created. It was as if those transactions never occurred.
Proposed fix: Once we had identified the root cause, we knew that the fix would involve the following steps:
- [Step 1] Roll back the network to block number 1,394,088: As the transactions made post upgrade were effectuated on an incorrect global state, we had to first nullify all the state changes that happened post upgrade.
- [Step 2] Reconstruct the global state at block number 1,394,088: We had to reconstruct the correct global state by taking into account the state deltas for the last 88 blocks.
- [Step 3] Replay as many as possible all the 4,478 transactions: At this stage, we would be ready to recreate the impact of all the transactions that happened post-upgrade. As users had sent their transactions, these were stored with the nodes and hence could be replayed. While one could replay all those transactions, it was apparent that some of these transactions may fail this time. For example, in the DUCK NFT minting contract, the second user who tried to buy the token_id 1351 would have his transaction errored out.
Impact of the fix: While we are working on implementing the fix, we would like to highlight that the roll back will have an impact on some users, exchanges, miners as well as some dapps. We are looking at each of the 4,478 transactions that are impacted by the fix. These transactions are of varied types. Out of these 4,478 transactions, 1,230 transactions were to smart contracts like staking, ZILSwap, token transfers etc., and the remaining 3,248 were simple ZIL transfers, many of which seem to be mining payouts.
Rolling back these transactions and then replaying them may not yield the same result as explained earlier with the DUCK NFT example. A replay of that transaction is expected to fail and therefore the user would have paid gas fees for a failed transaction.
Another example would be ZILSwap transactions, it is possible that the replay of a ZILSwap trade transaction may fail due to slippage as the liquidity after the rollback could be very different or due to the difference between expiration blocks that each trade includes.
As for miners, who have been mining the network, the rollback would cancel any mining reward that they may have received.
Compensating users: We are looking into ways to compensate all users, miners and other parties impacted by the fix by airdropping the appropriate number of ZIL to cover their losses. We sincerely apologize for the inconvenience that this may have caused to users, dapp developers, miners and any other relevant stakeholders. More information on the compensation will be provided in a separate post.
Status of the fix: We are in the process of implementing all the three steps needed for the fix and have prepared all the scripts to replay the transactions. The roll back (Step 1) and reconstruction of the correct global state (Step 2) are done. We are in the process of replaying and checking the impact of each transaction (Step 3). The last step is a WIP.
We sincerely apologize for the inconvenience and we are all hands on deck to enable transaction processing as soon as possible. Stay tuned for the compensation post.
Sincerely and with deepest apologies,
The Zilliqa Team
- [Step 1] Roll back the network to block number 1,394,088: As the transactions made post upgrade were effectuated on an incorrect global state, we had to first nullify all the state changes that happened post upgrade.
- [Step 2] Reconstruct the global state at block number 1,394,088: We had to reconstruct the correct global state by taking into account the state deltas for the last 88 blocks.
- [Step 3] Replay as many as possible all the 4,478 transactions: At this stage, we would be ready to recreate the impact of all the transactions that happened post-upgrade. As users had sent their transactions, these were stored with the nodes and hence could be replayed. While one could replay all those transactions, it was apparent that some of these transactions may fail this time. For example, in the DUCK NFT minting contract, the second user who tried to buy the token_id 1351 would have his transaction errored out.
Impact of the fix: While we are working on implementing the fix, we would like to highlight that the roll back will have an impact on some users, exchanges, miners as well as some dapps. We are looking at each of the 4,478 transactions that are impacted by the fix. These transactions are of varied types. Out of these 4,478 transactions, 1,230 transactions were to smart contracts like staking, ZILSwap, token transfers etc., and the remaining 3,248 were simple ZIL transfers, many of which seem to be mining payouts.
Rolling back these transactions and then replaying them may not yield the same result as explained earlier with the DUCK NFT example. A replay of that transaction is expected to fail and therefore the user would have paid gas fees for a failed transaction.
Another example would be ZILSwap transactions, it is possible that the replay of a ZILSwap trade transaction may fail due to slippage as the liquidity after the rollback could be very different or due to the difference between expiration blocks that each trade includes.
As for miners, who have been mining the network, the rollback would cancel any mining reward that they may have received.
Compensating users: We are looking into ways to compensate all users, miners and other parties impacted by the fix by airdropping the appropriate number of ZIL to cover their losses. We sincerely apologize for the inconvenience that this may have caused to users, dapp developers, miners and any other relevant stakeholders. More information on the compensation will be provided in a separate post.
Status of the fix: We are in the process of implementing all the three steps needed for the fix and have prepared all the scripts to replay the transactions. The roll back (Step 1) and reconstruction of the correct global state (Step 2) are done. We are in the process of replaying and checking the impact of each transaction (Step 3). The last step is a WIP.
We sincerely apologize for the inconvenience and we are all hands on deck to enable transaction processing as soon as possible. Stay tuned for the compensation post.
Sincerely and with deepest apologies,
The Zilliqa Team
Replaying Transactions after the Rollback and Compensation for Stakeholders
Context: As explained in a previous post, the Zilliqa chain had to be rolled back to block number 1,394,088. Post roll-back, all the rollbacked transactions were replayed. There were a total of 4,478 transactions out of which 1,230 transactions were to smart contracts like staking, ZILSwap, token transfers etc., and the remaining 3,248 were simple ZIL transfers, many of which seem to be mining payouts.
Replaying of the rolled back transactions was possible because the transaction data was available to the nodes as they had already processed those transactions post network upgrade. It is important to note that, while we could replay all those transactions, some of them failed. And the failed transactions still cost gas to users. In essence, rolling back these transactions and then replaying them did not always yield the same result in the rolled back state as compared to the unrolled state.
For example, for ZILSwap transactions, it is possible that the replay of a ZILSwap trade transaction may fail due to slippage as the liquidity after the rollback could be very different or due to the expiration block that each trade includes.
A particular note to miners, who have been mining the network, the rollback would cancel any mining reward that they may have received.
Replaying Transactions:
1. Mining Rewards: Mining rewards in Zilliqa are distributed directly at the protocol-layer and therefore there are no transactions to be replayed. For example, any reward going to a mining pool like EZIL.me directly from the protocol could not be replayed. For this group, we describe the compensation plan in the compensation section.
However, any reward distributed by a mining pool to the individual miners is considered as a regular ZIL transfer and has been replayed. So, if you are mining with mining pools like EZIL.me, all on-chain reward transactions from the pool have been replayed.
2. Users/Miners sending ZIL: All transactions of this type have been successfully replayed. As part of the replaying process, any shortfalls have been covered by our treasury to ensure the transactions that were previously committed on-chain are 100% committed after the roll back.
A shortfall may happen in situations where miners had received mining rewards before the roll back, but lost those rewards due to the roll back, and therefore have a shortfall when sending ZIL transactions.
The top up by the treasury is separate from the compensation plan for the miners. As such, it is possible for a mining node to receive both the top up and the compensation.
3. Users interacting with contracts: These are transactions that trigger contracts like ZILSwap, Duck NFT Minting contract, staking and others. When we replayed such transactions, we compared the transaction result (success or failure) on the rolled back network as well as on the unrolled network and filtered out those which gave different results, e.g., success on rolled-back network but failure on the unrolled network. There were a total of 173 such transactions that gave different results on the two networks.
All the staking related replay transactions went through successfully on the rolled-backed network. Any user who withdrew staking rewards or staked back any ZIL would not see any difference in the rolled back version.
Several replay transactions for ZILSwap failed. This was mainly due to 1) Rate could not be fulfilled on the rolled-back network 2) block expired for the transaction, etc. All such transactions were basically reverted and funds were returned to the transaction initiators. The transaction initiators still were charged the gas fee. There were some transactions that failed on the unrolled network but succeeded on the rolled-back one.
For users who interacted with contracts like DUCK NFT, any transaction that failed in the rolled back version will get a refund modulo gas fees.
Compensating Users:
Context: As explained in a previous post, the Zilliqa chain had to be rolled back to block number 1,394,088. Post roll-back, all the rollbacked transactions were replayed. There were a total of 4,478 transactions out of which 1,230 transactions were to smart contracts like staking, ZILSwap, token transfers etc., and the remaining 3,248 were simple ZIL transfers, many of which seem to be mining payouts.
Replaying of the rolled back transactions was possible because the transaction data was available to the nodes as they had already processed those transactions post network upgrade. It is important to note that, while we could replay all those transactions, some of them failed. And the failed transactions still cost gas to users. In essence, rolling back these transactions and then replaying them did not always yield the same result in the rolled back state as compared to the unrolled state.
For example, for ZILSwap transactions, it is possible that the replay of a ZILSwap trade transaction may fail due to slippage as the liquidity after the rollback could be very different or due to the expiration block that each trade includes.
A particular note to miners, who have been mining the network, the rollback would cancel any mining reward that they may have received.
Replaying Transactions:
1. Mining Rewards: Mining rewards in Zilliqa are distributed directly at the protocol-layer and therefore there are no transactions to be replayed. For example, any reward going to a mining pool like EZIL.me directly from the protocol could not be replayed. For this group, we describe the compensation plan in the compensation section.
However, any reward distributed by a mining pool to the individual miners is considered as a regular ZIL transfer and has been replayed. So, if you are mining with mining pools like EZIL.me, all on-chain reward transactions from the pool have been replayed.
2. Users/Miners sending ZIL: All transactions of this type have been successfully replayed. As part of the replaying process, any shortfalls have been covered by our treasury to ensure the transactions that were previously committed on-chain are 100% committed after the roll back.
A shortfall may happen in situations where miners had received mining rewards before the roll back, but lost those rewards due to the roll back, and therefore have a shortfall when sending ZIL transactions.
The top up by the treasury is separate from the compensation plan for the miners. As such, it is possible for a mining node to receive both the top up and the compensation.
3. Users interacting with contracts: These are transactions that trigger contracts like ZILSwap, Duck NFT Minting contract, staking and others. When we replayed such transactions, we compared the transaction result (success or failure) on the rolled back network as well as on the unrolled network and filtered out those which gave different results, e.g., success on rolled-back network but failure on the unrolled network. There were a total of 173 such transactions that gave different results on the two networks.
All the staking related replay transactions went through successfully on the rolled-backed network. Any user who withdrew staking rewards or staked back any ZIL would not see any difference in the rolled back version.
Several replay transactions for ZILSwap failed. This was mainly due to 1) Rate could not be fulfilled on the rolled-back network 2) block expired for the transaction, etc. All such transactions were basically reverted and funds were returned to the transaction initiators. The transaction initiators still were charged the gas fee. There were some transactions that failed on the unrolled network but succeeded on the rolled-back one.
For users who interacted with contracts like DUCK NFT, any transaction that failed in the rolled back version will get a refund modulo gas fees.
Compensating Users:
1. Miners: Miners who mined blocks between DS epochs 13,941 and 13,950 will be rewarded using our treasury to compensate for the loss of mining rewards due to the roll back.
The formula we are using is: 204,000 ZIL per DS block / numbers of mining nodes excluding guard nodes.
Usually, guard node rewards are excluded and remain in the mining reward pool. However, as a sincere apology to all our miners, we will be adding this component to the compensation plan. As such, mining nodes can expect to get higher than average reward for the compensation. Compensation will be distributed on-chain directly to the address of the mining nodes.
This compensation will be disbursed in the next couple of days to the pools/miners and it'll be up to the mining pools to compensate their customers from the rewards received.
2. Users sending ZIL: There will be no compensation for such transactions as all of these were successfully committed back to the rolled-back chain.
3. Users interacting with contracts: For transactions that either failed on the rolled-back network or on the unrolled network, we will look at the gas fees paid by the user and compensate them by 5x of the fees paid. We plan to do this in the next couple of days.
We would also like to reward the DUCK project team a sum of USD 30,000 (in ZIL) for reporting the bug to us. This is a small token of appreciation for their proactiveness. We will reach out to them in the next couple of days. Thanks again!
Sincerely,
The Zilliqa Team
The formula we are using is: 204,000 ZIL per DS block / numbers of mining nodes excluding guard nodes.
Usually, guard node rewards are excluded and remain in the mining reward pool. However, as a sincere apology to all our miners, we will be adding this component to the compensation plan. As such, mining nodes can expect to get higher than average reward for the compensation. Compensation will be distributed on-chain directly to the address of the mining nodes.
This compensation will be disbursed in the next couple of days to the pools/miners and it'll be up to the mining pools to compensate their customers from the rewards received.
2. Users sending ZIL: There will be no compensation for such transactions as all of these were successfully committed back to the rolled-back chain.
3. Users interacting with contracts: For transactions that either failed on the rolled-back network or on the unrolled network, we will look at the gas fees paid by the user and compensate them by 5x of the fees paid. We plan to do this in the next couple of days.
We would also like to reward the DUCK project team a sum of USD 30,000 (in ZIL) for reporting the bug to us. This is a small token of appreciation for their proactiveness. We will reach out to them in the next couple of days. Thanks again!
Sincerely,
The Zilliqa Team
Zilliqa Monthly Newsletter: August 2021
We were on fire this August, making enhancements for the upcoming Zilbridge, running around backstage on the Metaverse & Creator Fund, spreading word on our ecosystem projects including Unicutes, BLOX, XCAD, ZILHIVE, DeMons - and Zilliqa itself in every corner of the world - from USA to Uganda! 🇺🇸🇨🇳🇺🇬
Get the details here: https://blog.zilliqa.com/zilliqa-monthly-newsletter-august-2021-73b9b7770edb
We were on fire this August, making enhancements for the upcoming Zilbridge, running around backstage on the Metaverse & Creator Fund, spreading word on our ecosystem projects including Unicutes, BLOX, XCAD, ZILHIVE, DeMons - and Zilliqa itself in every corner of the world - from USA to Uganda! 🇺🇸🇨🇳🇺🇬
Get the details here: https://blog.zilliqa.com/zilliqa-monthly-newsletter-august-2021-73b9b7770edb
nft telegram-01.png
604.5 KB
Avid fan of the blossoming #Zilaverse? Interested in partaking in the growing Zilliqa NFT scene?
Join the Zilliqa Official NFT Community on Telegram! We’ve created an NFT channel for citizens of the Zilaverse to discuss all things NFT!
Join here:
https://t.me/ZilliqaNFT
Join the Zilliqa Official NFT Community on Telegram! We’ve created an NFT channel for citizens of the Zilaverse to discuss all things NFT!
Join here:
https://t.me/ZilliqaNFT
Calling all devs and blockchain enthusiasts!
Looking to #BUIDLonZIL?
Here's your chance to win prizes while building something cool
Zilhive is back with another NFT-focused hackathon with a bounty pool of $50k!
Check out the Gitcoin page for more:
https://gitcoin.co/hackathon/zilliqa-beyond-art/onboard
Looking to #BUIDLonZIL?
Here's your chance to win prizes while building something cool
Zilhive is back with another NFT-focused hackathon with a bounty pool of $50k!
Check out the Gitcoin page for more:
https://gitcoin.co/hackathon/zilliqa-beyond-art/onboard
app.buidlbox.io
Ongoing and upcoming hackathons. Every buidlers gateway into the digital frontier.
Great news. $gZIL and $ZWAP are now listed on Liquid! With USDT and BTC trading pairs for these tokens and ZIL, Liquid is a centralised exchange hub for ZRC-2 tokens, making it easy for users to on ramp from fiat to a pool of different ZRC2 tokens! From 17 Sep to 1 Oct, enjoy trading these tokens with NO trading fees.
CEO Juan Capilla of Plutos Network will be doing an AMA today at 2 PM UTC in the official Zilliqa channel. Plutos will be integrating Zilliqa into its cross-chain synthetic asset protocol. Feel free to pop in and find out what the future holds with this integration. $300 worth of $PLUT tokens will also be airdropped for questions that are picked!
👍1