ZK Coprocessor from 0 to 1 What can it actually do?

ZK Coprocessor Demystifying its Features and Capabilities

LianGuairt.1 Insight

ZK Coprocessor from 0 to 1: What Can It Actually Do?

The ZK coprocessor is an exciting innovation in the field of blockchain. It is pioneered by projects such as Brevis, Axiom, Lagrange, and Herodotus, and has the potential to completely revolutionize the way we develop applications on the blockchain. With the ZK coprocessor, developers can create data-driven dApps that can perform complex computations using the historical records of omnichain data, without relying on any additional trust assumptions. What’s more, it introduces a new development paradigm: asynchronous application architecture, which brings unprecedented efficiency and scalability to Web 3.0 software frameworks.

In this series of articles, we will unveil the mysterious veil of the ZK coprocessor. Whether you’re interested in its concepts, practical applications, underlying mechanisms, challenges it faces, market strategies, or comparing different projects, we hope these articles will bring you new insights.

The Case of Missing VIP Traders Program on DEX

To understand the basic idea behind the ZK coprocessor, we need to start with an incentivizing example from the real world.

One obvious difference between centralized exchanges (CEX) and decentralized exchanges (DEX) is the existence of volume-based fee structures, also known as “VIP trader loyalty programs”. These programs are powerful tools to retain traders, increase liquidity, and ultimately boost exchange revenue.

Interestingly, while every CEX has at least one of these programs, DEX has none. Why is that?

This is because implementing such functionality in DEX is more challenging and costly compared to CEX.

In CEX, implementing loyalty programs requires:

  • Recording the transaction history of all users in a centralized database – a task that is easy to reduce future query costs.

  • Performing a direct query on the high-performance centralized database every month, based on historical data, to determine the trading volume and fee levels for each user.

However, DEX faces significant challenges when trying to follow the same steps:

  • Due to the high cost of storage on the blockchain, directly storing the transaction history of each user in smart contracts is not feasible. Implementing this logic would mean four times higher transaction fees for users.

  • Even if we store transaction records, the cost of statistical queries and calculations on these data is higher. For example, calculating the trading volume data for an individual user with 10K transactions would cost 156M Gas (yes, we’ve done the calculations).

You might say, “Wait, what are you talking about? On the blockchain, every transaction of every user is automatically stored (because it’s blockchain!). With smart contracts native to the blockchain, shouldn’t all this data be accessible at any time, right?

Unfortunately, incorrect!

The data stored on the blockchain and the data accessible to smart contracts within the blockchain virtual machine are completely different.

For full/archive nodes of the blockchain, they store a massive amount of data from the history of the blockchain. Through these nodes, you can easily access:

  • The state of the entire blockchain at any given time in history (e.g., who was the first owner of a Cryptopunk).

  • The transactions and events generated by those transactions at any given time in history (e.g., Charlie exchanging $1,000 for 0.5 ETH).

In fact, popular off-chain data indexing or analysis tools (such as Nansen and Dune Analytics) can leverage this extensive dataset for in-depth analysis.

However, for smart contracts embedded in the blockchain virtual machine, there are much greater limitations on data access. They cannot use data generated by off-chain indexing solutions as it would introduce additional trust issues with these external and usually centralized index solutions.

In fact, smart contracts can only easily and trustlessly access the following data:

  • Data stored in the virtual machine state (excluding transaction or event data).

  • Data in the latest blocks (access to historical data is limited).

  • Data from other smart contracts made public through the “view” function (excluding private or internal contract data).

A key subtle difference in the above statements lies in the word “easily”.

Smart contracts are not completely unaware of all the data on the blockchain. In the EVM, smart contracts can access the block header hashes of the latest 256 blocks. These block headers encompass all the activity on the blockchain up to the current block and are condensed into 32-byte hashes through Merkle trees and Keccak hashing.

Compressed things can be uncompressed… it’s just not easy?

Imagine, if you want to utilize the recent block headers to trustlessly access specific data from a previous block. This approach involves obtaining off-chain data from archival nodes, then constructing Merkle trees and block validity proofs to determine the authenticity of the data on the blockchain. The EVM then processes the validity proof for verification and interpretation. Such operations are cumbersome and arduous, and retrieving past token balances alone could consume tens of millions of Gas.

The root of this challenge is that the blockchain virtual machine itself lacks the capacity to handle large volumes of data and compute-intensive tasks like the aforementioned decompression.

ZK co-processor architecture

(Source: Brevis in ETHSG presentation slides)

If there was a magic that could delegate this data-intensive and cumbersome calculation to the blockchain and quickly obtain results at a low cost without any additional trust assumptions, it would be ideal.

My friend, that’s exactly where the ZK coprocessor comes in.

The inspiration for the term “coprocessor” comes from the history of computer architecture. For example, the GPU was introduced as a coprocessor for the CPU because the CPU needed to offload certain expensive and computationally intensive tasks (such as graphics rendering or AI training) to an “auxiliary processor,” namely the GPU.

But what does “ZK” mean in the ZK coprocessor? Before diving into the complex technical details, let’s first understand the broader significance and potential of this innovative technology.

Data-driven dApps in Web 3.0

Fee rebates are a good example. With the ZK coprocessor, loyalty programs can seamlessly be introduced into various DeFi protocols.

However, this goes beyond DeFi loyalty programs. You can now see that the same problem exists in other areas of Web 3.0. Think about it, all modern Web 2.0 applications are data-driven, and the same applies to Web 3.0 applications without exception. To build killer apps that offer user experience on par with traditional internet applications, this data-driven approach is indispensable.

Let’s consider another example in the DeFi space: improving liquidity efficiency by redesigning liquidity mining reward mechanisms.

Currently, the liquidity incentives on AMM DEXs adopt a “pay-as-you-go” model. In this model, when LPs contribute liquidity, Farming rewards are immediately allocated to LPs. However, this model is far from optimal. Professional Farmers can quickly withdraw their funds to avoid impermanent losses when sensing market fluctuations. As a result, their value contribution to the protocol is minimal, yet they still receive significant rewards.

An ideal AMM liquidity incentive mechanism would trace and assess the loyalty of LPs, especially during periods of significant market fluctuations. Those who consistently support the liquidity pool in such situations should receive the highest rewards. However, obtaining the crucial LP historical behavior data for this model remains infeasible today.

To achieve this, you need the ZK coprocessor.

In the DeFi space, we can provide many similar examples, whether it’s actively managing LP positions using predetermined algorithms and rules, establishing credit limits with non-tokenized liquidity positions, or determining dynamic liquidation preferences for loans based on past repayment behavior.

However, the potential of the ZK coprocessor extends beyond DeFi.

Utilizing the ZK coprocessor to create on-chain games with outstanding user experiences.

Web 2.0 Real-time Operation Feature Example

When you enter a newly installed Web 2.0 game, every move you make will be recorded in detail. This data will not be idle, but will greatly affect your gaming journey. It determines when to offer in-game purchase options, when to introduce reward games, when to send carefully designed push notifications to you, and when to match you with opponents, and so on. These are all components of what the gaming industry calls LiveOps, which are the foundation for increasing player engagement and revenue flow.

To make the user experience of fully on-chain games comparable to that of Web 2.0 classic games, these LiveOps features are required. These features should be based on the historical interaction and transactions between players and the game’s smart contract.

Unfortunately, in blockchain games, these features are either completely missing or still driven by centralized solutions. The reason is similar to the example of DEX: it is difficult to mine and compute historical game data on the blockchain.

Yes, you also need a ZK co-processor to achieve this. Web 3.0 social and identity recognition applications are another area that cannot run without ZK co-processor support.

In the world of blockchain, your digital identity is a web woven together by your past actions.

  • Want to prove you’re an NFT OG? You have to prove you’re one of the original miners of Cryptopunks.

  • Boasting that you’re a big trader? Show me proof that you’ve paid over $1 million in transaction fees on a DEX.

  • Closely connected to Vitalik? Show me proof that funds have been sent from his address to yours.

Off-chain systems, whether human or Web 2.0 applications, can easily generate this kind of proof because, just like the example of transaction volume, they can access archival nodes that contain all of this data.

Identity proofs based on direct data access require strong wallet address correlation, hence also bearing the disadvantage of sacrificing privacy, but it is feasible.

However, just like in the example of transaction volume, if you want smart contracts to believe in your OG identity and be able to experience some new things without introducing additional proofs of trust, there is actually no good way.

With a ZK co-processor, you can weave together a reliable identity proof, a proof of your past actions, a proof that any smart contract will undoubtedly accept. Your interactions on different applications or even different blockchains can be cleverly merged to form this proof.

What’s even more attractive is the inherent privacy of ZK. Your wallet address does not have to be publicly associated with your identity. For example, you can prove that you own a Cryptopunk NFT without revealing the specific wallet address. Or, you can prove that you have executed 10,000 transactions on Uniswap without revealing the exact number.

The ZK co-processor opens up a whole new field for data-driven dApp development, but its significance goes far beyond that.

Beyond the Data-Driven Paradigm: Pioneering Asynchronous Mode with ZK Co-processor for Web 3.0

While the data-driven dApp model is appealing, it’s just the tip of the iceberg.

The emergence of the ZK co-processor will completely change our perception of blockchain computation and usher in an era where asynchronous processing becomes the standard for Web 3.0. This shift redefines how tasks are handled, where dedicated processors can operate independently, thereby improving efficiency.

Let’s first understand what asynchronous processing is.

Imagine being in a synchronous restaurant where one person plays the role of both chef and waiter. You place an order, and they start preparing it, making you wait. They can only attend to another customer after serving your dish. While this setup might cater to your needs, it’s not efficient for others.

In contrast, in an asynchronous restaurant, different chefs and waiters work together. The waiter quickly passes your order to the chef upon receiving it, while also attending to other customers. Once the dish is ready, the chef signals the waiter, who then serves it to you.

In computer systems:

Synchronous architecture is like the first restaurant, where one person waits for each task to be completed before moving on. It’s simple and straightforward, but it can be slow since it handles only one task at a time. Also, this person might be a good waiter but not a good chef.

Asynchronous architecture is like the second restaurant, where there are decoupled and specialized system components that exchange information and tasks as a coordination mechanism. This allows each component to manage its own task queue simultaneously. While it may require more complex management methods, this architecture is faster and more efficient.

Every modern internet application is built on asynchronous architecture to improve efficiency and scalability, and we believe Web 3.0 should follow suit.

The ZK co-processor will be at the forefront of this transformation. For dApp developers, the blockchain is like the waiter in our asynchronous restaurant. It primarily handles computations that directly change the blockchain’s state, such as asset ownership transfers. All other computations should be handled by robust ZK co-processors, acting as skillful chefs, efficiently cooking up results and sending them to the waiter through asynchronous processing. Specifically, if the computations in a blockchain application meet either of the following “feasible conditions,” using a ZK co-processor should be considered:

Feasible conditions for ZK co-processor execution:

  • On-chain computation cost > (Off-chain ZK co-processor computation, including proof generation) + On-chain verification cost

  • On-chain computation delay > (Off-chain ZK co-processor computation, including proof generation) + On-chain verification delay

Even if they only meet one of them, they are worth considering!

Now you can see that it’s not just data-driven dApps! It’s a brand-new way of introducing high-level general-purpose computing like ML into the blockchain, but more importantly, it introduces an asynchronous architecture that changes the paradigm to build dApps, which was simply not possible before.

Next chapter…

If we have successfully convinced you that ZK coprocessors are an idea that will have a profound impact, then now is perhaps the time to talk about how they work. In the next blog post, we will explore the key architecture of ZK coprocessors and discuss the biggest technical challenges that still exist in this field.

LianGuairt.2 Investment Event

Neon Machine completes $20 million Series A financing, led by Polychain

* Gaming

Seattle-based Neon Machine announced that it has raised $20 million in Series A financing. The round was led by Polychain Capital, with participation from IOSG Ventures, Griffin Gaming Partners, Brevan Howard Digital, Franklin Templeton, and Tess Ventures. The Shrapnel manufacturer has now raised a total of $37.5 million through seed funding, Series A financing, and private token sales.

Moonveil Entertainment raises $5.4 million in financing, led by Gumi Cryptos Capital and Arcane Group

* Gaming

Moonveil Entertainment has completed $5.4 million in seed financing, led by Gumi Cryptos Capital and Arcane Group, with participation from IOSG Ventures, Longhash, and Infinity Venture Crypto, among others. The Moonveil Entertainment team is composed of core management and production teams from well-known gaming companies such as Riot Games, Tencent, and NetEase, as well as senior Web3 developers. Projects under development by Moonveil Entertainment include Astrark and Project B.

Blockaid raises $33 million in financing, with participation from Sequoia Capital, Ribbit, and others

* Web3 Security

Web3 security startup Blockaid, co-founded by two former Israeli military cyber intelligence personnel, has raised $33 million in funding, which is divided into two rounds: $6 million in seed funding and $27 million in Series A financing. Seed investors include Sequoia Capital, Greylock Partners, and Cyberstarts. Three investors and co-leaders Ribbit Capital and Variant all participated in the Series A financing.

Port3 Network receives investment from DWF Labs

* Social

Port3 Network announced on the X platform that it has received investment from DWF Labs. This financing round will be used to drive the development of its on-chain interactive automation language BQL and enhance the upcoming social data layer.

HYTOPIA raises $3 million in financing, led by Delphi Ventures

* Metaverse

HYTOPIA (formerly NFT Worlds) announced that it has raised $3 million in financing on the X platform, with Delphi Ventures leading the round. Several venture capital firms and angel investors also participated.

HYTOPIA is a game platform and engine created from scratch that incorporates social features and provides game creation tools inspired by Minecraft to developers. It is currently building a transparent and open monetization layer for HYTOPIA, supported by its L2 blockchain and TOPIA token. The HYTOPIA mainnet went live on October 20th.

Noble raises $3 million in seed funding, led by Polychain Capital

* Ecosystem Application Chain

Noble announced that it has raised $3 million in seed funding, with Polychain Capital leading the round. Other participants include Circle Ventures, Borderless Capital, Wintermute Ventures, Hustle Fund, CMCC Global, and Interop. Noble is also collaborating with Circle to bring native USDC into the Cosmos inter-blockchain communication (IBC) ecosystem.

Cube.Exchange raises $9 million in seed funding

* Exchange

Cube.Exchange has raised $9 million in seed funding, with investors including Asymmetry Technologies, Susquehanna Private Equity Investments LLLP, Everstake, Foundation Capital, Big Brain Holdings, Third Kind Venture Capital, Arche Fund, WW Ventures, and members of the Cube.Exchange management team. The new funds will be used for hiring development, marketing, compliance, and management personnel, obtaining licenses, and opening more offices. Cube.Exchange will first launch as a spot exchange and then expand to other products next year.

smlXL raises $13.4 million in seed funding, with participation from a16z and others

* Infrastructure

smlXL has announced that it has raised $13.4 million in seed funding, with support from a16z crypto, Greylock, and others. The funds raised will be used to build a team of 16 individuals and develop products including EVM.code and evm.storage. smlXL launched its first product, an interactive guide to EVM opcodes called evm.codes, last year and has officially released its website today. smlXL’s mission is to make blockchain more transparent, useful, and accessible. It is currently expanding its coverage to include unverified Solidity contracts and is also launching a transaction page.

Triple-A raises $10 million in Series A funding

* Cryptocurrency Payments

Triple-A has raised $10 million in Series A funding, with Peak XV LianGuarnters (formerly Sequoia’s India and Southeast Asia division) and Shorooq LianGuarnters leading the round. Triple-A will use the new funds to further develop its product suite. Founded by fintech entrepreneur Eric Barbier in 2018, Triple-A offers stablecoin and blockchain-based payments, supporting major tokens including USDT, USDC, Bitcoin, and Ethereum. Triple-A obtained a payment institution license from the Monetary Authority of Singapore in 2021. The Triple-A team consists of over 70 employees and has offices in Singapore, Miami, Hong Kong, Paris, and Barcelona.

Aera Completes $8 Million Financing with Lead Investment from Bain Capital Crypto

* Fund Management Protocol

Aera announced the completion of an $8 million financing round led by Bain Capital Crypto, with participation from Jump Trading. Aera is an autonomous, data-driven fund management protocol designed to help decentralized autonomous organizations (DAOs) manage their finances. Chitra states that Aera’s goal is to enable DAOs to quickly respond to market changes without sacrificing decentralization, providing them with crowdsourced portfolio management advice.

LianGuairt.3 IOSG Post-Investment Project Progress

Celestia Network Ready to Launch, will First Release Mainnet Test Version

* Modular Blockchain

Celestia announced on its official blog that the Celestia network is ready to launch, and will first release a mainnet test version introducing features such as Data Availability Sampling (DAS) and the Celestia-node API for rollups. The Celestia Foundation will then coordinate with genesis validators to collect their genesis transactions, which will be included in the genesis block created collectively by the decentralized validator set. Once the genesis block is determined by consensus mechanism by the validator set, Celestia’s mainnet test version network will go live.

In addition, Celestia announced the establishment of the Celestia Foundation, a nonprofit organization based in Liechtenstein. The foundation aims to guide the Celestia ecosystem and uphold its values, with main goals including funding scalable decentralized systems, open-source development of public goods, and supporting developers of infrastructure and applications based on Celestia. The foundation’s management team consists of four initial members, including Celestia co-founder and Celestia Labs CEO Dr. Mustafa Al-Bassam, crypto entrepreneur and investor Batuhan Dasgin, Celestia co-founder and Celestia Labs CTO Ismail Khoffi, and Reinhold Wohlwend, owner and CEO of Revalier.

MakerDAO Adds Another $50 Million in RWA Assets, Protocol’s RWA Total Assets Surpass $3.3 Billion

* DeFi

MakerDAO, on October 21st, added another $50 million in RWA assets through BlockTower Andromeda. Additionally, the protocol’s RWA total assets currently amount to approximately $3.327 billion.

Starknet Decentralized Roadmap Released: Includes Two Paths such as Delegating Operational Power to Stakers

* Scaling

StarkWare has released the Starknet decentralized roadmap to ensure the transition of the Starknet protocol to a decentralized proof-of-stake protocol, including two paths: implementing various components required to run a decentralized protocol, and a gradual process of delegating operational power to Starknet stakers. The latter involves four paths: transitioning to a decentralized network architecture while keeping the operator role centralized, ensuring the availability of a fully open-source software stack, developing an increasingly extensive testing and integration network, and attracting stakers before the eventual transition of the operator role to proof-of-stake.

Arbitrum integrates its Orbit stack with Celestia to achieve data availability.

* Layer 2

The Arbitrum Foundation announced that Celestia will be the first modular data availability (DA) network integrated into the Arbitrum Orbit and the entire Nitro stack. This integration will be completed after the launch of the Celestia mainnet, and developers will be able to choose to publish data to Celestia in addition to the existing Arbitrum One and Nova blockchains. This means that Celestia’s data availability proof will be incorporated into Arbitrum’s current L2 ecosystem, aiming to improve the throughput and efficiency of Ethereum-based applications. The Arbitrum Foundation also stated that Celestia’s Blobstream will be deployed to Arbitrum’s Layer 2 through the Orbit software stack.

In addition, Arbitrum launched the third week of Odyssey on October 24th at 0:00. This week’s interactive tasks involve the popular exchange Uniswap and the derivatives exchange ApeX Pro, and users can earn Galxe badge rewards by completing the tasks. According to the schedule, the end time for this week’s activity is 0:00 on October 29th, Beijing time, and badge claims will be open until 0:00 on October 30th, Beijing time.

Illuvium will release the public beta version in Q1 2024

* Gaming

Illuvium will launch the public beta version in the first quarter of 2024. The in-game exchange IlluviDex will evolve into the core for asset trading and purchasing within the Illuvium Universe, aiming to position IlluviDex not only as a marketplace but also as the hub for community interaction. IlluviDex introduces new features including a quote system for negotiated prices, a new structured layout for assets organized by game, and card stacking functionality to simplify browsing asset collections.

LianGuairt.4 Industry Pulse

Aleo expects to launch its mainnet by the end of this year, currently in the final stage of launching the testnet

* Infrastructure

The programmable privacy network Aleo is in the final stage of launching its testnet and is expected to launch the mainnet by the end of 2023. After the mainnet goes live, Aleo Systems will relinquish all control over the Aleo network, which will operate independently of its founding company, similar to decentralized systems like Ethereum.

LayerZero introduces new feature to transfer wstETH across Avalanche, BNB Chain, and Scroll

* Cross-chain interoperability protocol

LayerZero introduces a feature that allows the transfer of wstETH tokens across Ethereum, Avalanche, BNB Chain, and Scroll through the Lido Finance liquidity staking protocol. wstETH is also integrated into LayerZero’s Overall Financial Token (OFT) standard, which aims to mitigate the risk of bundled assets in cross-chain native token transfers. OFT moves tokens via its decentralized communication protocol instead of minting and burning wrapped tokens. This token has not yet received formal endorsement from Lido.

Horizen launches the mainnet of its EVM-compatible sidechain Horizen EON

* Infrastructure

The fully EVM-compatible sidechain and smart contract platform Horizen EON, developed and supported by Horizen, officially launched its mainnet today. Horizen EON (Ethereum Open Network) is a scalable blockchain platform optimized for simplified and diversified dapp development. It is compatible with the Ethereum Virtual Machine and leverages Ethereum’s vast resources and community to easily deploy dapps on Horizen.

Circle’s cross-chain transfer protocol CCTP is now live on the Base mainnet

* Cross-chain transfer protocol

Circle’s cross-chain transfer protocol CCTP is now live on the Base mainnet. Currently, CCTP allows for the transfer of USDC between Ethereum, Avalanche, Base, Arbitrum, and Optimism through more than 20 routes.

Coinbase Cloud to support on-chain staking services for Celestia mainnet

* Infrastructure

Coinbase Cloud announced on social media that the modular blockchain Celestia mainnet is about to launch, and it will provide support for on-chain staking services once the mainnet is live. Token holders and builders will be able to stake on the Celestia blockchain using Coinbase Cloud.

Linear Finance to reopen protocol and fully restore pools, and launch new website and branding

* DeFi

Linear Finance, a DeFi protocol that was previously attacked, announced on the X platform that it is soon reopening protocol version 2.0 and completing the restoration of pools. It will also launch a new website and branding, as well as introduce an order book DEX and multi-collateral staking services. Additionally, Linear Finance will introduce artificial intelligence.

Merit Circle integrates LayerZero, a full-chain interoperability protocol, into its gaming subnetwork Beam

* GameFi

Merit Circle announced that its gaming subnetwork Beam has integrated LayerZero, a full-chain interoperability protocol, to enhance interoperability within the Beam network. Users can transfer assets from Ethereum to the Beam network using the Beam Bridge, including the Merit Circle token MC and various game tokens to be released on Beam in the future. The Beam SDK will integrate with the LayerZero stack through its fungible token (OFT) and non-fungible token (ONFT) full-chain contracts.

dYdX open sources its V4 code, dYdX Chain v1.0 officially released

* Exchange

dYdX announced on Tuesday that it is open sourcing its code, marking the launch of the exchange’s V4 upgrade and the transition from Ethereum’s layer 2 network to the independent blockchain dYdX Chain v1.0 within the Cosmos ecosystem. If the proposal is accepted by the community and passes through governance voting led by the dYdX Foundation, the new main network or “mainnet” of the blockchain will go live. Earlier this month, the founder of dYdX stated that the transition to Cosmos is scheduled for this month, at which point the platform will be “fully decentralized.” dYdX Trading Inc. has also updated its bylaws and transitioned to a public benefit corporation.

We will continue to update Blocking; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Market

BlackRock’s Move into Ethereum ETF: Another Step towards the Moon!

Ethereum has broken the $2,000 mark as fashion enthusiasts eagerly anticipate BlackRock's Ethereum ETF campaign.

Market

BlackRock’s Bitcoin ETF: Banks Welcomed with Open Arms

BlackRock's updated Bitcoin ETF proposal now allows banks to participate through broker-dealers, providing wider mark...

Market

Reddit IPO: All You Need to Know About the Popular Social Media Platform’s Public Offering

Exciting news for investors and social media enthusiasts, as Reddit, one of the top platforms in the United States, p...

Market

Decoding Ethena Arthur Hayes' Views on USDe Opportunities and Risks

Arthur Hayes is confident in the exceptional approach and high yield of Ethena's (USDe) stablecoin, which could poten...

Market

Vanguard CEO Shuns Bitcoin ETF, Urges Long-Term Investment The Plot Thickens!

Vanguard CEO Rejects Bitcoin ETF Support, Stresses Firm's Focus on Long-Term Investing Strategy.

Market

Decentraland Unveils Ambitious Plans for 2024: A Powerful Desktop Client and Expansion Strategy

The latest announcement from Decentraland reveals their ambitious plan to launch a highly advanced Desktop Client by ...