Frequently Asked Questions

Below are answers to a few common questions about the Tari protocol. For other questions or additional clarity, please post your questions to the Tari community on Discord.

What is Tari?

Tari is a highly versatile layer 1 blockchain protocol built in Rust. It is ultra-high performance, infinitely scalable, open source, and has an ingenious native app distribution platform that puts all of its power in your hands.

What is a Digital Asset?

A digital asset is one that consumers can purchase or earn the right to use, but which exists entirely in digital form. Digital assets include event tickets, in-game items, loyalty points, and cryptonative assets.

How will this help the businesses issuing digital assets?

Creators of digital assets will be able to issue them as programmable non-fungible tokens on the Tari blockchain and trust that their rules will be enforced. Rules may be economic in nature (e.g. X% fee every time a given asset is transferred), time-based (e.g. A given asset can only be transferred X days after receipt) or something else entirely. Our goal is to architect Tari in a manner that gives asset issuers meaningful flexibility with the rulesets they create for their digital assets.

When is the Tari token sale?

Tari is not running any kind of public token sale. We’re not currently soliciting or accepting investment, and any opportunities to buy Tari tokens you may see online are scams.

Can I convert my testnet Tari (tXTR) to mainnet?

No. Testnet Tari has no value and will not be transferred or converted to mainnet.

Can I mine Tari?

After the launch of the Tari genesis block, you will be able to opt into mining Tari by mining Monero.

Why merge mine Monero?

We chose Monero because we care deeply about decentralization, are passionate believers in the ideology that drives the Monero community, and think Monero is a great fit for a foundational security layer. We hope other projects will consider leveraging Monero in this manner.

What’s the Tari roadmap?

Open-source projects are typically built by many participants, from the ground up, with only the end-goal in mind. As stewards of the project our role isn’t to force a roadmap on those building the Tari protocol. Our goal is to help guide and direct, where suitable, to help everyone accomplish the end goal. Tari is a destination, and we welcome anyone who believes in the Tari mission to contribute.

What’s the origin of the name “Tari”?

Tari literally means “newly minted money” in Arabic. It also refers to a small gold coin used in the Mediterranean from the 10th through the 14th centuries. Since it was lightweight and convenient to use compared with other coins of the time, it became a popular medium of exchange for everyday commerce. Similarly, we envision the new Tari protocol being commonly used to create and distribute digital assets of all types.

What can I do to help with Tari’s development effort?

The Tari organisation exists to steward the development of the Tari protocol, and is allowed to do so by the nascent Tari community. Tari Labs employs some full time Tari contributors, but the best way for us to build a powerful, robust protocol is to have many contributors working on the Tari project. Thus we invite you to participate by checking open issues on the Tari GitHub, and participate in the ongoing development discussion on Freenode in #tari-dev or #tari-research for research-oriented discussions.

What sets Tari apart from decentralized application protocol projects? Why not use an existing protocol?

There are many blockchain protocols that currently, or plan to support some form of digital assets. However, many of these protocols also support the development of decentralized applications. Due to the many trade-offs involved, we think it’s harder to build a scalable, decentralized applications focused protocol, than a protocol that focuses only on digital assets. We also think that protocols that will ultimately change how our world works will combine great technology and a great go-to-market strategy.

How will this help consumers?

Consumers will be able to use applications built on top of the Tari blockchain to more easily transfer their digital assets while respecting the rules set by issuers. Ultimately, our intended result is a frictionless, lower cost digital asset ecosystem that benefits consumers and digital asset issuers.

What are specific use cases for the Tari protocol?

The Tari protocol is being built for a specific use: to facilitate the issuance, management and transfer of digital assets. Digital assets include: tickets, loyalty points, in-game items, and crypto-native assets like CryptoKitties.

Who are the participants in the Tari Network?

The Tari Labs organization is very honored to have support from the following network participants: Redpoint, Trinity Ventures, Canaan Partners, Blockchain Capital, Pantera, Slow Ventures, Aspect Ventures, Vy Capital, Bee Partners, Sora Ventures, Macro Ventures, Draft Ventures, Base Ventures, and more.

How are you going to make Tari scalable?

We plan on making Tari scalable by utilizing technologies like payment channels and transaction cut-through.

What is merge mining?

Merge mining allows miners in one cryptocurrency to also mine another cryptocurrency with minimal extra overhead or cost to themselves. If you think of mining as drawing lottery balls out of an enormous bucket, you win Monero if you draw a number greater than 1,000, say. If you draw 100, you win nothing. By opting into merge mining Tari, you get an additional free ticket to win Tari if that number is greater than, say 90. If you draw 1,001 you win both Monero and Tari. If you draw 100, you don’t win Monero, but you still get your Tari.

What makes Tari different from Monero?

Monero and Tari share the philosophy of doing one job, and doing it well. Monero is a privacy focused cryptocurrency. Tari is a generalized digital assets focused protocol. The two are complementary and not in competition.

The Tari logo was designed by Office, an iconic San Francisco branding firm. It features two main themes: 1) a “T” for “Tari” centered within a gem, representing the type of digital gems or treasures which will be issued on the Tari blockchain and 2) the shape of a three-dimensional block with a chain wrapped around it (you may miss this one at first glance!), referencing the core technology upon which Tari is built.

Why is my transaction stuck "in progress?"

Sending a transaction from Aurora is simple and intuitive, but under the hood there’s a lot going on. A lot.

To give you an idea of what happens between you clicking “send” and the transaction being confirmed on the blockchain, have a look at this article explaining how Tari transactions work.

In case that’s tl;dr, here’s what happens every time Alice sends Tari to Bob. Remember that there are no servers or centralised parties that are able to co-ordinate these communications! Everything is done on the peer-to-peer network.

  1. Alice taps “send”.
  2. Alice’s wallet selects which coins to spend, creates her change, and determines the network fee. It then builds her half of the transaction. At this point, her wallet will display “Waiting for recipient to come online”.
  3. Alice’s wallet then needs to find Bob’s wallet on the peer to peer network. It does this by
    1. Checking to see if she already knows Bob,
    2. If not, asks some of her peers if they know Bob.
  4. Alice’s wallet will then try and establish a connection to Bob directly.
  5. If Bob responds, Alice sends over her half of the transaction.
  6. Bob’s wallet will check that the transaction looks legit, and then fill in his part of the transaction, sign it, and then try and send it back to Alice. At this point, Bob’s wallet will say “Waiting for sender to complete transaction”.
  7. If Alice is still online and receives Bob’s reply, she’ll check that the transaction still checks out, signs it and then attempts to broadcast the transaction to the blockchain network.
  8. Alice’s wallet sends a courtesy message back to Bob to say that she’s done this. Now both wallets update the transaction status to say “Completing final processing”.
  9. Once the transaction has been mined and is included in the blockchain, it can be marked as complete. Both wallets need to periodically ask a base node whether the transaction has been mined yet, in order to know whether that last step has happened.

When this goes smoothly, the transaction negotiation completes in under a second, and then it takes roughly two minutes to get confirmed. But there are at least a dozen points in that flow where things can be disrupted.

  • If either Alice or Bob go offline at any point in the above flow, or
  • if either run iOS and put the app in the background, or
  • if there’s a problem with the Tor client making a connection to the network, or
  • the blockchain is congested and the transaction is not mined immediately, or
  • the blockchain is congested, the transaction is not mined immediately, and then it falls out of the mempool (the network forgets about it), or
  • Alice tries a double spend, or
  • The base node that the wallets are polling goes offline, or has stopped responding for some reason, or
  • There’s a bug in the wallet or base node code that is affecting the usual harmonious flow.

If any of these things happen, the process pauses until the issue resolves and the flow can continue. This is where you’ll notice that a transaction appears to be “stuck”.

Luckily, the Tari devs have anticipated a lot of these issues and have put additional safeguards in place to try and keep the flow moving as smoothly as possible.

For instance, if Bob is suddenly unreachable in steps 4 and 8, then Alice’s wallet will ask some of Bob’s peers (Charlie and Dave) to keep the message for him, and deliver it when he appears again. Now, if Alice goes offline, at least Bob will still get the message and the flow can limp forward.

The same thing happens when Bob tries to send messages back to Alice in Steps 5 and 6.

The Aurora wallet also has a small database of base nodes it uses to poll in Step 9, so if one of those nodes stops responding, Aurora will try another one.

The wallets will also detect if the network has forgotten about the transaction for some reason and resubmit it.

All in all, in a system that has so many moving parts and requires careful choreography for things to go right, with no central party directing the steps, it’s fairly impressive that transactions get mined at all.

The Tari peer-to-peer network does a great job in building lots of robustness into the system, but from time to time, things can and do go wrong.

What can I do if my transaction is stuck "in progress"?

If your transaction has been stuck “in progress” for a long time, there are a few options available to you.

As sender

If you are the sender, and the status is “Waiting for recipient to come online”, then you can choose to cancel the transaction. It’s possible that the recipient is never going to countersign the transaction, so you can free up the funds locked up in this transaction and then try again at a later stage if you wish. The transaction has never been broadcast to the network, there’s no chance of this transaction ever completing and so your funds are perfectly safe.

If the recipient hasn’t replied within 3 days, then Aurora will cancel the transaction automatically.

Once the transaction says “Completing final processing”, then the transaction is being broadcast to the Tari network. It will usually be mined in about 2 minutes and become finalised, but if the network is congested, or there is a sudden drop in hash rate, this can take much longer.

The wallet will periodically check to see whether it has been accepted into the mempool and then if it has been mined. The wallet will rebroadcast the transaction if it has fallen out of the mempool without being mined. At this stage, the transaction can no longer be cancelled.

As recipient

If you are the receiver, unfortunately there’s nothing you can do except wait. Until the transaction is finalised, you should never treat the transaction as complete. For example, if you’re a merchant, you should not consider payment complete until the status reflects this.

If the status does not change for three days, the wallet will discard the transaction and assume that the sender will never broadcast it to the network. This is not a guarantee however, but since you’re the recipient, there’s no real risk to you.

In principle, one could continue to scan the blockchain indefinitely looking for the output you created, but the mobile developers decided not to implement this feature on Aurora to save on battery consumption.