GRAFT Weekly Development Status Update October 22nd, 2018

Hi everyone, this is our weekly update on GRAFT development activities. Last week we were focused on RTA alpha debugging and new release, exchange broker development, and payment gateway UI, while dealing with an “anti-ASIC” major network update. Let’s review the status of all these activities.

The new RTA alpha release with stabilized communication is ready, the only reason we did not release it to the alpha testers last week was the work on the hard fork patch, so the release will happen later this week. This RTA release is a close version of the upcoming beta release to the mainnet, with a few things still in development.

Before RTA beta, however, we are going to open the RTA alpha to the public, so everyone will be able to “touch” and try to break it while still in test mode (right now it is only available to the 50 alpha testers.) Once we get a “confirmation” from the RTA Public Alpha testers, we will release the beta to the mainnet. This way we can test the supernode network scalability in environment pretty close to the real world operations before it goes to full production.

While the core dev team was focused on RTA and the upcoming major network update, another team continued working on payment terminal apps, exchange broker, and payment gateway. More specifically, last week there were working on an enhanced GUI for exchange broker and payment gateway (as shown on the screenshot below). Since the payment gateway is aimed towards the less technical, more business operations oriented audience, the quality and functionality of the user interface is very important.

Also, the core team is working on a patch for the upcoming major network update that will introduce a new variation of the hash algorithm that prevents ASIC mining. Network hashrate is important, but it is not the only factor in blockchain security. The way this hash power is distributed between the miners is also important. ASICs break the balance and facilitate centralization (concentration of hash power) which can be dangerous for the network.

The patch will apply a new variation of CryptoNight hash algorithm (CryptoNight V8 / CN variant 2) which is currently ASIC-resistant. The patch is still being tested – thanks to the group of GRAFT miners’ who help with the testing. We will announce the hard fork block number and date once the testing is finished (probably tomorrow). As usual, we remind that the major network update (aka “hard fork”) is only relevant to the miners and other full node operators; if you use one of the GRAFT mobile or desktop wallet apps you don’t need to do anything.

Finally, please check out the questions and answers from our first official AMA (“Ask Me Anything”) session which took place last week. We tried to answer all the questions from the community, but if you don’t find an answer to your question in the list – don’t worry, we plan to conduct periodic (shooting for monthly) AMA sessions!

Happy GRAFTing!

GRAFT Weekly Development Status Update October 15th, 2018

It’s been another hard working week for GRAFT devs, and here is our brief weekly update.

We are continuing work on debugging and improvement of the RTA communication protocol. During the last week we merged “blocking doubled RTA notifications” PR, fixed connection and white peer lists management, and did some internal debugging, merging, and testing. Also, we just finished creating a couple of diagnostics tools – an automated communication test framework and GraftnetExplorer (see the screenshots below).

The supernodes communicate to each other through “tunnels” which they build using the existing network of underlying cryptonodes. They use a special mechanism that allows creating a set of shortest and fastest tunnels. Currently, the protocol works but not in the most efficient way, so we are looking for weak spots and bugs. These diagnostic tools have already allowed us to find and fix a couple of bugs in communication between the supernodes. At some point we may release them to the alpha group (and then to the public as well).

As you can see on the GraftnetExplorer screenshot above, several supernodes in this dev network are interconnected, which means they can send each other instant notifications or broadcast messages to a larger group or even the entire network – all without knowing the IP addresses of other nodes, just by using their logical IDs. This is one of the major features (but not the only one) that differentiates the GRAFT supernodes from similar protocols such as Dash masternodes as it significantly enhances both the privacy and security of the GRAFT network.

The automated testing framework is another utility, recently developed by the team, that allows us to simulate various scenarios of communication between the supernodes and print the resulting diagnostics and statistics.

On the screenshot above you can see one of the results of the test run. There is a detailed backtrace located before the red line, while the next test is the same but without the details. 3 out of 4 the communication tests were successful, while one was failed (‘broadcast’, marked by letter ‘F’).

Another part of the team continues working on terminal apps, payment gateway, and exchange broker – optimizing the API, preparing for the production environment deployment, and developing reports. They are in the middle of the sprint, and the results will be reported next week.

Also, please check out a new version of the GRAFT white paper which now can be downloaded from the website. In this version, we have added recent proposals created since the previous white paper release, and summarized the changes in the original functionality. As the ideas initially set forth in the original GRAFT white paper gradually materialize, we need to make adjustments as we get deeper into the project. There are three areas of new or updated content in this version of the white paper:

And finally, the GRAFT Team will be hosting an AMA (“Ask Me Anything”) live on Telegram and Discord on October 18th, at 12pm EDT, so if you have not submitted your questions yet please do so!

Happy GRAFTing!

Engineering Update: Pay-in Broker and Payment Gateway Demo

While we’ve been focusing on stabilizing the Full Supernode based RTA (real-time authorizations), part of the team has been diligently working on the other components that are necessary to make the main GRAFT Network use case (paying with any digital currency with your favorite wallet) a reality – namely Payment Gateway and an Pay-in (aka Accept) Broker, and it’s time to show some progress!

Pay-in broker is a type of an exchange broker that provides alt-currency acceptance for the network. It’s a critical piece required to enable any digital currency acceptance at the POS with the wallets of user preference.

Payment Gateway provides a layer between the payment terminal and a network that’s meant to handle business logic and part of the remote wallet functionality.

Real-time Transactions – GRAFT vs Electroneum, etc.

Electroneum recently announced real-time transactions available as beta on their network. We wanted to take some time to shed some light on the difference in approaches between solutions like Electroneum and GRAFT.

With their approach, Electroneum is effectively following the centralized model of Bitpay, Coinbase, Coingate, GoUrl.io, and many other centralized crypto payment processing gateways in that they issue an authorization immediately as the transaction enters the transaction pool, without waiting for confirmations on the network. There is little innovation in this approach which is well-known to the industry. With centralized entity in the middle, the buyer and the merchant must rely on trusted party just like with traditional plastic payment processing, which means compromise on privacy, security, and a single point of control.

Unlike Bitpay and other centralized payment gateways, Electroneum shifts the risk of transaction not getting confirmed onto the merchant rather than absorbing it themselves.

The vendor does not get the cryptocurrency instantly, but our system acts as a trusted 3rd party to ensure the ETN or other cryptocurrencies such as Bitcoin is sent (our patent covers ETN, Bitcoin and other cryptos). The vendor knows the payment is sent and will make its way to the blockchain, so they can allow instant checkout – and the customer can walk out of the store with their cup of coffee or checkout online etc.
https://electroneum.com/2018/06/12/announcing-instant-payment-beta-vendor-application/

This illustrates the fundamental difference in approach where GRAFT is decentralized and utilizes an independent authorization sample (selected from the distributed network of supernodes) to validate the transaction, and independent exchange brokers to handle off-network (alt currency) acceptance risks when handling real-time payments.

GRAFT’s approach not only minimizes the risk of real-time transaction processing, but distributes to remaining risk (and reward) to the right party. It also allows acceptance of alternative cryptocurrencies, where Electroneum’s current approach is limited to ETN currency.

Finally, but importantly, GRAFT builds a payment network eco-system as opposed to providing a single vendor solution, which is the essence of decentralization that’s at the very core of the blockchain-based cryptocurrencies like Bitcoin.

*** Note that our intent is not to pick on Electroneum with this article – we’re merely trying only to bring some clarity in what sets GRAFT apart from other payment solutions, using Electroneum as one of the better representatives of this class of centralized solutions.

GRAFT Development Status Update September 2018

It’s time for another dev update! It’s no secret that RTAs (real time authorizations) remain the main focus for the GRAFT development team, so let’s start from the alpha review.

RTA Alpha

We are excited to announce that RTA transaction now works end to end for the entire sale workflow – it is stable, and takes just a couple of seconds to get approval on both wallet and point of sale as expected. There is still some work to be done before we move to beta release, and there are many ways to do even more improvements. But here is the most important thing: the first instant payment on a private CryptoNote blockchain is now a reality!

The RTA alpha release contains a full set of components necessary to conduct an end-to-end point of sale transaction in real time:

  • completely redesigned full supernode, i.e. the supernode that can participate in authorization sample and approve a GRAFT transaction in real time;
  • completely redesigned wallet and point-of-sale proxy supernodes, i.e. the supernodes that provides an “entry point” to the RTA network and participate in RTA transactions;
  • mobile and desktop wallet and point of sale apps for iOS and Mac OS X redesigned for RTA.

In addition, there is a special testing environment created for RTA alpha testing – alphanet – a dedicated testnet which contains several seed nodes, a miner, proxy supernode cluster with load balancer, and blockchain explorer.

We managed to assemble a very efficient and quite large team of alpha testers – 50+ active members who are able to run both RTA supernode and iOS/Mac clients (wallet, POS). In addition, we have selected an extra “reserve” group of volunteers (also 50+) that will be able to join the testing once it’s extended to the next phases – additional clients for Android/Windows and then beta release.

People familiar with development release cycle know that alpha releases are usually unstable and may lack some features. RTA alpha was not an exception. Once the RTA functionality was released to the alphanet, we discovered issues that we could not see during regular testing. We are able to simulate the real network very well because the alphanet consists of real participants running on different networks and different hardware or hardware abstractions, rather than artificially cloned nodes and supernodes. We really appreciate the patience and positive attitude of alpha testers team!

So it’s time to learn more about the RTA transaction flow, which you will be able to experience in retail stores soon! It is very simple – a couple of clicks (literally) in the wallet app and a couple of clicks at the point of sale app: Figure 1: GRAFT RTA Workflow Between Mobile Wallet and Point-of-sale Apps

Payment Gateway for Merchants and Service Providers

As recently described in the Fees and economics update post, one of the important profiles in GRAFT ecosystem is a Merchant Service Provider (MSP). An MSP’s role is to provide and support payment network services to the merchant, ensure the uptime of the network (usually referred to as Service Level agreement or SLA), provide and manage equipment (e.g. payment terminals), provide reporting, etc.

To enable an MSP to do this, another type of server is needed – one that would:

  • Manage the terminal’s configuration (including wallet address)
  • Handle the MSP specific fee economics for the MSP (an MSP could choose to handle tiers of service differently or charge different fees for different transaction amounts)
  • Maintain transaction reporting and analyyics for merchants

In theory, such payment gateway can be designed and implemented by a third party such as traditional payment processor that wants to add cryptocurrency payments to their portfolio of services. However, we decided to create a “reference implementation” to enable faster adoption rate as a part of our go-to-market strategy.
Since GRAFT is a decentralized payment network, the payment gateway is multi-tenant, multi-instance, open source app, and everyone can host their own payment gateway and become a service provider on the network.

Payment Gateway is this “fifth element” that is supposed to manage the GRAFT payment apps on hardware payment terminals and GRAFT ecommerce interfaces, and link them with the GRAFT supernodes. Since it has transaction visibility, it is considered part of merchant’s ‘back office’ applications. Figure 2: GRAFT Payment Gateway, Service Provider Dashboard Figure 3: GRAFT Payment Gateway, Merchant Dashboard

* Note: With GRAFT network, the merchant can be their own MSP, but would still require the functions of a Gateway in order to manage the terminals setup, reporting, etc.

Upcoming Dev Updates

We’re moving forward with every track on the development roadmap and even pulling some of them forward. An interesting upcoming project, which is currently in design and not even announced yet, is GRAFT ColdPay Supercard. This is a smart card that combines functionality of cold wallet, which can be used with mobile or desktop host app, and payment card, which can be used for making a payment at hardware payment terminals and mobile points of sale. More details about this exciting development will be unleashed very soon. Stay tuned, happy grafting!

RTA now working in a sales workflow!

Please remember this day – September 6, 2018. After several issues were fixed, GRAFT RTA transaction now works in a point-of-sale workflow, end to end, on alphanet, and it’s stable! It takes just a couple of seconds to process the payment! There is still some work left to be done before we move to beta, but… it works!

We will be publishing a full development update soon shortly. Payment Successful

Changes in Transaction Fee Structure: Even More Ways to Earn with GRAFT Network

As the ideas initially set forth in original GRAFT white paper gradually come to fruition, we have to adjust some “game rules” as we get one reality check after another. One of the most important rules in payment processing is the transaction fee structure. Transaction fees are equally important for all players including merchants, buyers, full (RTA) supernode owners, proxy (gateway) supernode owners, exchange brokers, miners, and service providers. After several white paper editions and other adjustments, we propose the following fee structure to be implemented in the GRAFT ecosystem:
  • Full Supernodes RTA Fee (any RTA Tx): 0.5%

    1/8 of this fee, or 0.0625% of the total RTA Tx amount, goes to each supernode participating in the RTA authorization sample.

  • Proxy Supernodes Fee (any RTA Tx): 0.1%

    1/2 of this fee, or 0.05% of the total RTA Tx amount, goes to each supernode in the proxy pair that provides connectivity into the network (wallet and POS proxy supernodes).

  • Wallet Proxy Supernode Fee (non-RTA transfer): 0.1 GRFT

    This small fee is going to be charged by the wallet proxy supernode to the mobile or desktop sender’s wallet in addition to the existing network fee (miner’s reward).

  • Exchange Broker Fee (RTA with altcoins): 0.25%

    Exchange brokers include pay-in, payout, top-up, and interchange brokers.

  • Miner Transaction Fee (RTA): variable

    Determined by the merchant service provider through the payment gateway, but not lower than 0.1 GRFT.

Figure 1: GRAFT Ecosystem Fees

If a particular RTA transaction is processed via the payment gateway, which will be the case for most hardware payment terminals, the fees are set and calculated by the MSP (merchant service provider). This occurs through the payment gateway plugin to the POS proxy supernode using the information about the pay-in and payout currencies as input, and setting a miner fee commensurate with the service level they are obligated to provide to the merchant.

Here’s a table-form summary of various fees in combination with various workflows:

1 2 3
Regular P2P Transfer RTA Tx (GRFT) RTA Tx with altcoin exchange broker (i.e. bitcoin acceptance)
a Sender’s wallet proxy Supernode Reward 0.1 GRFT * 0.05% * 0.05% *
b Full Supernode (auth sample member) Reward N/A 0.0625% ** 0.0625% **
c Exchange Broker Reward N/A N/A 0.25% **
d Miner (settlement) Reward Variable, based on Tx size in KB Configurable *** Min: 0.1 GRFT Configurable *** Min: 0.1 GRFT
e Merchant POS/Recipient Gateway Proxy Supernode Reward **** N/A 0.05% **** 0.05% ****
Total Fee Amount paid by the Tx sender (buyer in RTA) a1 + d1 0 0 *****
Total fee amount paid by the Tx recipient (merchant in RTA) 0 a2 + b2*8 + d2 + e2 a3 + b3*8 + c3 + d3 + e3
Total amount charged to the Tx sender Tx amt + a1 + d1 Tx amt Tx amt
Total funds available to the Tx recipient Tx amt Tx amt – (a2 + b2*8 + d2 + e2) Tx amt – (a3 + b3*8 + c3 + d3 + e3)
Table 1: GRAFT Transaction Fees/Rewards Structure

* wallet proxy supernode can be a proprietary server or a public cluster hosted by a service provider. You can run and use your own proprietary proxy supernode to avoid the proxy fee altogether. The supernode must have a stake in order to be able to charge the fee.

** stake is required for full supernode or exchange broker in order to participate in RTA Tx processing and receive this reward

*** set by the merchant service provider or the owner of the POS proxy supernode

**** POS proxy supernode can be a proprietary standalone server, a part of the merchant infrastructure, or a part of a payment terminal or/and ecommerce gateway maintained by the merchant service provider. POS supernode must have a stake in order to be able to receive this reward

***** does not include the altcoin network fee

You can see that the new fees have been introduced on proxy supernodes—both wallet proxy and point-of-sale/payment gateway (a1, a2, a3, e2, and e3 in Table 1). Those changes will achieve increased decentralization of the infrastructure, which means no more complaints about GRAFT wallet downtime or delays! If you don’t like the proxy supernode cluster hosted by GRAFT, there will be alternative providers ready to serve your wallet or POS. In order to receive the reward, the proxy supernode must demonstrate the unique stake wallet linked to the supernode’s public IP address. The amount of proxy stake is 250,000 GRFT.

Unlike an authorization sample supernode, the proxy supernode will still be operational even without the stake, however an unstaked proxy supernode won’t be able to charge the fee. This option is reserved for proprietary proxy supernodes, so the users with elevated privacy needs can host their own entry points to the network. Without the stake, the proxy reward will be sent to the GRAFT community donation wallet address. This way the total transaction fee, which is assembled from several components, always remains consistent regardless of the status of the proxy supernodes.

Another major change, which was partially proposed earlier, is the flat fee paid to the miner for RTA transaction settlements (d2, d3). The miner’s fee is traditionally calculated based on transaction record size in KB (d1). With RTAs, however, we cannot make the miner fee variable as it would make the total fee paid by the merchant inconsistent and unpredictable, which is unacceptable in most situations. Additionally, we cannot make this fee proportional to the value of the transaction (similar to the supernode fees) because miner fees are visible on the blockchain, meaning the transaction amount could be calculated from a proportional fee (although we may fix this in the future). Therefore, we made it a simple configurable flat fee, with a minimum amount of 0.1 GRFT.

The fees associated with RTA transaction with exchange brokers are the same as RTA fees (column 2) with an extra 0.25% taken by the broker (and paid also by the merchant).

Merchant Fees and Service Providers

The MSP sets a fee schedule that’s consistent with their business model and fees could be structured in tiers with options, for example:

  • Transactions below $10: 2%
  • Transactions above $10: 1%
  • Min transaction amount: $1
  • Miner: 0.1 GRFT
  • Transactions in altcoins: + 0.25%
  • Instant payouts in altcoin or fiat: + 0.25%

Below is an example of a sample $20 altcoin transaction and the associated fees given a reference Merchant Service Provider fee schedule. Figure 2: Example of GRAFT RTA Altcoin Tx Fees and Rewards with Service Provider

GRAFT Emission Correction

When you take a look at whattomine, mining GRAFT is as profitable as mining Monero. At first glance, this seems like a good situation for everyone who cares about GRAFT, especially for the miners. But let’s compare Monero and GRAFT market capitalization (the dollar price of one GRFT multiplied by the number of tokens in current circulation): $1.68 billion (Monero) vs. $3.76 million (GRAFT). There is a huge difference between these two market caps, but they have the same mining profitability (actually GRAFT is even higher).

The current GRAFT block reward (the proof-of-work fee that the miners receive when they “solve” the block and successfully add it to the blockchain) today is approximately 1,420 GRFT, so every day the GRAFT circulation grows by more than 1 million (!) GRFT. Unfortunately, many miners use the high profitability of GRAFT to immediately sell their mining rewards on exchanges, which keeps bringing the price down as the demand cannot keep up with such a rapidly growing supply. Even growing demand cannot catch up to the emission rate because the project is too young.

Although the block reward is designed to decrease with every block, the current rate by which emissions are decreasing is not significant enough to counteract the overall supply increase rate from miners dumping. It will be significantly lower in, let’s say, one or two years, but the GRAFT team and supporters (including miners) cannot wait that long. We all need the economics to stabilize in the near term in order for the project to regain its footing and bring things into balance.

It is hard to anticipate these imbalances ahead of time as we’re trail blazing in a lot of respects. The only thing we can do is react quickly and adjust things whenever we see the “go off the rails” potential.

Note that ERC20 token-based projects do not have the problem described above because they don’t have a real blockchain. Their token supply remains the same (actually, it is even reduced with every exchange transaction), so they just need to make sure their demand at least remains the same in order to constantly pump the price and the market cap.

With that said, in order to rebalance the network economics, we have decided to correct the emission by reducing the block reward by 50%, so the new block reward formula will be as following:

reward = (M – A) * 2^-19 * 10^-10 / 2

Where M is max total supply and A is current supply.

As you can see, the correction will not change the total maximum amount of GRAFT that will be ever created, it will just stretch the emission curve such that it will take longer to mine the total supply (see the existing and the new emission curves on the diagrams below).

All GRAFT supporters should benefit from the corrected emission formula because it is supposed to limit the daily increase in circulating supply, which will reduce the overall supply growth rate and stabilize the price. Long-term miners will benefit from the reduced emission for two reasons: 1) the price will go up so they will receive the same, or even better, revenue, and 2) the emission curve will be stretch, so they will get a more steady income over the extra years without the need to rely on transaction fees.

The emission reduction change requires a major network update (aka “hard fork”), which will be scheduled for block 176,000 (September 17, 2018). The major network update means that each GRAFT network node must be updated to the new software version before that block/date. Otherwise, the node that wasn’t updated is going to be on the wrong version of the blockchain. The new release will be available for download on September 10, 2018.

As another reminder, a major network update means that if you are running the GRAFT network node (graftnoded daemon), you must upgrade it to the current software release as soon as possible. If you do not install the updated node before the block 176,000, it will be disconnected from the mainnet after block 176,000.

Note that the users of mobile and desktop wallets will not be affected by the upcoming major network update and don’t need to do anything—as long as they are still connected to the default proxy supernodes (if you are connected to your own supernode, however, do not forget to upgrade the underlying network node to stay on the right network).

How GRAFT is Going to Conquer the Crypto Payments World. Part 1: Blockchain and CryptoNote

Slava Gomzin, GRAFT Co-Founder

Although we have created a lot of materials explaining GRAFT (both existing features and future developments), including countless technical or semi-technical pages, marketing brochures, blog posts, and educational videos, it’s often difficult to see the whole picture while going through all of the specifics. A focus on the multiple features and their design details can obscure the view of the entire system, creating a so-called “you can’t see the forest through the trees” effect. We are getting many questions from supporting community members as well as potential customers and partners about “the big plan”: what is the ultimate goal, and how exactly are we going to achieve it? Whereas the answer to the first part of this question is quite simple and short, the answer to the second part requires some time and efforts. In this series of blog posts we will iterate through the various GRAFT features and try to explain why they are there, and how they help achieve our ultimate goal: Conquest of the crypto payments world.

Part 1: Blockchain and CryptoNote

Let’s start from the very beginning with the blockchain, or layer one of GRAFT. The blockchain is maintained by a peer-to-peer network of computers, or network nodes. We refer to these network nodes as “cryptonodes” to distinguish them from our “supernodes” (a.k.a. “masternodes” in other networks), which constitute the second layer of the GRAFT network (to be explained in a future blog post). The GRAFT blockchain is based on the CryptoNote protocol, which is the most private blockchain protocol in use as of today. In order to save time and resources, we used the luxury of the open source principle and forked the initial code of the GRAFT cryptonode from Monero — the best implementation of the CryptoNote protocol. In addition to acquiring fundamental privacy features “out of the box”, forking Monero provided a high degree of confidence in our blockchain from day one of the mainnet existence. It’s important to note that the code of GRAFT supernodes, which we create from scratch, is also open source, so essentially everything that we add on top of the previously existing features is also available for others to reuse.

Now let’s go back to the initial question and apply it to the blockchain layer: Why a brand new blockchain and why CryptoNote?

We’ll start with the new, dedicated blockchain: Yes, it would have been easy-peasy to run the GRAFT ICO on ERC20 or a similar token, as most people do these days to avoid blockchain maintenance, mainnet, mining, emission, seed nodes, etc. However, creation of the GRAFT payment network requires our own blockchain because we have to modify the cryptonodes as we develop the supernodes so they will support each other and work together. Without the ability to modify the code, we wouldn’t be able to create the network of supernodes and implement features like real time authorization or exchange brokers on top of any existing blockchain or token platform. In addition, there are features such as payout tokens, loyalty points, store credits, gift certificates, and discount coupons that are required for merchants — all of these are based on the merchant tokens platform, which cannot be built without a dedicated blockchain.

Now for CryptoNote: it’s not just “nice to have”, it is absolutely required in order to be competitive with traditional payment systems such as Visa network or PayPal. Ironically, Visa and PayPal provide much better privacy to their customers than most existing cryptocurrencies such as Bitcoin and Ethereum. Let me explain. When you swipe/insert your payment card at the point of sale terminal, or click the PayPal’s pay button online, there are two entities in the world that are aware of your transaction: the payment network (Visa or PayPal in our case) and the merchant. In reality, of course, there are more organisations that “know” about your transaction because the payment network is more complex. This network includes, at the very least, the issuing bank (the one that gave you the payment card), the acquiring bank (the one that approves the payment), the payment gateway (the one that routes your transaction to the right payment processor/acquiring bank) and the payment processor (which processes the payment and merchant’s payout). However, in any case, this list of organizations is limited because they are under security and privacy regulations, and they have typically implemented some decent security controls that protect your transaction records from prying eyes. Of course, everyone in this list can be hacked or give away your info to a law enforcement agency, but this is a different story (which is, by the way, another good reason to switch to cryptocurrency payments and throw away your plastic cards!). For the sake of simplicity though, let’s assume that random people cannot gain access to your data in most situations.

Finally, let’s see what happens with blockchains. The key innovation of Bitcoin (the first blockchain and cryptocurrency) was the open ledger that is accessible to every node participating in the network because your transaction must be verified to make sure you are not trying to spend your money twice. But this also means that anyone in the world can see your transactions and how much money you have in your wallet! Now, unlike plastic cards, Bitcoin wallets are, in principle, anonymous because transaction records are not directly linked to your identity. At first glance, this feature appears to compensate for the fact that your transaction records are laying there in plain sight on the blockchain for anyone to see. Well, the problem is that there are ways to link addresses to identities. Once this happens, all of your transactions magically become visible forever because the blockchain is always there and it cannot be erased!

Fortunately, there is a solution: the CryptoNote protocol, which hides the sender’s address, the recipient’s address, and the transaction amount , while still preserving the ability to validate each transaction and prevent double spending — and it’s all thanks to advanced cryptography! One day I am going to explain how it works in layman’s terms to unveil the beauty of CryptoNote and its cryptography (the same as I have done to explain RSA and Elliptic Curves cryptography in my book about Bitcoin payments). But for now, let’s just take it on faith that CryptoNote ensures a high degree of privacy for all participants. Moreover, on top of existing CryptoNote features, GRAFT adds even more privacy and hides transaction fees!

Summary of Part 1:

Why a brand new blockchain and why CryptoNote?

The dedicated blockchain allows GRAFT to create a merchant token platform. This is required for features like payout tokens and loyalty programs, and the second layer supernode network, which enables special retail features such as real time authorizations and exchange brokers.

The Cryptonote blockchain protocol provides an absolute privacy to all participants of the transaction, which is required in order to compete with existing payment platforms such as Visa or PayPal that are more private than most exciting (non-Cryptonote) cryptocurrencies.

To Be Continued — Part 2: Supernodes and RTA

GRAFT Wallets are Safe and NOT Affected by Double Counting Bug

As you probably know, most exchanges recently took offline all CryptoNote wallets (including Monero) due to Double Counting Bug. We tried to reproduce an exploit of the double counting bug with GRAFT master (current GRAFT version) to prove that GRAFT is not affected. In order to do that, we have prepared a special testing branch with the exploit: https://github.com/graft-project/GraftNetwork/tree/double-accounting-exploit, where we duplicated the “add_tx_pub_key_to_extra” call inside “construct_tx_and_get_tx_key(…)” method in cryptonote_core/cryptonote_tx_utils.cpp. The destination wallet with the bug was supposed to show the wrong (doubled) balance after the transfer from the exploited source wallet.

The destination wallet (GRAFT master, private testnet) before the test transfer shows 20 GRFT balance:

Now, we are transferring 10 GRFT from the exploited source wallet (private testnet), trying to “trick” the destination wallet:

The destination wallet after the transfer shows the correct amount (30 GRFT):

Here is the destination wallet log:

So this case is already handled in current Graft version (1.2.1), which is based on Monero v11, and the bug seems to be introduced in Monero v12, where subaddress functionality was implemented.

Therefore, current GRAFT wallets are safe for all users including exchanges.