GRAFT Development Status Update May 2018

It’s time for another status update! Y’all are busy people, so let’s not waste any time and get right to the point.

Payment Apps

Let’s start from really good news – our Merchant Marketplace app just received certification from Verifone – big step towards GRAFT acceptance by brick-and-mortar merchants and a product of 6 months long development cycle in close communication with Verifone. We are working on improving this application as well as building apps for other major players in the area of hardware payment terminals such as Ingenico.

Also, we just started designing the online shopping cart integrations – the first implementation is going to be an integration with Shopify, one of the most popular online store platforms. While it’s not within GRAFT’s charter to produce all the integrations, we take it upon ourselves to provide reference integrations with few leading platforms, paving the way for the independent software developers to take GRAFT to all other platforms.

Blockchain

It’s not a big secret that GRAFT has been forked from Monero – in order to be able to reuse the best (as of today) implementation of Cryptonote protocol, which is the most secure blockchain protocol so far, at least for people who care about their privacy. The idea was (and still is!) to take the open source Cryptonote technology and use it as a tier-1 foundation of the future 2-tier application platform, when the 2nd tier consists of the network of full supernodes (please read the white paper for more details). So the GRAFT dev team was supposed to be mostly focused on design and implementation of the tier 2 from the beginning. Unfortunately, sometimes our plans diverge reality in unpredictable ways, and we admit that it was naive assumption. Instead of working on core development tasks, significant part of the team had to address several problems caused by network difficulty and timestamp manipulation attacks. As a result, we switched to more efficient difficulty adjustment algorithm, which is already used by a few other blockchains, and even managed to improve it. We also followed the majority of Cryptonote community and implemented ASIC-resistant code.

We appreciate a concrete help we receive from the community, including individual contributors zawy12 and jagerman – thank you guys! It’s also worth mentioning that our full time core dev team has been growing as well – we have added two senior core developers and project/product manager.

We are working on another potential modification – Cryptonote Heavy hash algorithm. Although the code change is ready, we are still testing, and haven’t made a final decision when (if at all) to switch to Heavy. We continue monitoring the situation in order to find the best time for changes that require major network update.

Real Time Authorizations (RTA)

Our top-most development priority right now is RTA and we’ve been hard at work doing the R&D and laying the foundation to meet our delivery timeframes. For those of you who are interested in details, here is the “10,000 foot view” of RTA – simplistic, optimistic sequence diagram of the RTA flow: Note that every line of text in this diagram correspondents to hundreds or even thousands of lines of the source code, so this diagram just demonstrates interactions between the main players, without going deeply into the details such as auth sample selection, fee distribution, message broadcasting, etc. We are working on various modules of the RTA so we could compile the full picture: supernode-ng server framework, porting DAPI/business logic into a new framework, and authorization sample communication, which includes both super-fast UDP-based direct communication protocol (for “urgent” messages) and “unhurried” protocol (for regular message transmissions) based on existing P2P implementation.

CryptoFind

Although CryptoFind was not designed to be the core product, its popularity recently skyrocketed, and so now we cannot imagine GRAFT without CryptoFind, which becomes the most comprehensive worldwide database of businesses that accept crypto. We have implemented some new features and improvements in CryptoFind since the last update: added a text search function, which allows you to find nearby points by name or type (cafe, store, refueling, etc.), enhanced the user interface, and created statistics page.

Network Monitoring

Also we are internally monitoring multiple parameters of GRAFT servers using special tools such as CloudWatch and Nagios, we thought that the community should be able to know about the basic status (“up/down”) in real time as well, without the need to ask and repeat the same questions on forums. So we have created a simple public network status monitoring page – don’t forget to check it out!

Happy Grafting!

GRAFT Major Network Update 1.2.1 at Block 68000

We just released a major network update 1.2.1. This update is intended to mitigate recent attacks on GRAFT blockchain and improve the stability of the block intervals. There are two major changes included in this release: timestamp manipulation prevention and improved difficulty adjustment algorithm. The major network update will be triggered at block 68000.

The block timestamp manipulation allows a miner with significant hashrate power to generate an alternative chain of several blocks and add it to the main chain. The corresponding code fix will disable this possibility.

The original LWMA-based difficulty adjustment algorithm used the same adjustment rate to increase and decrease difficulty. As the result, it was taking significant time to restore after a peak, leaving users suffering from a higher difficulty. In our novel approach, we introduce an adaptive adjustment rate, making return to a normal difficulty level faster. The mechanism detects a failing edge of the difficulty curve and change the rate accordingly, using the following formula:

The major network update is scheduled for block height 68000. Each GRAFT network node must be updated to the new software version before that block, otherwise, the node that wasn’t updated is going to be on the wrong version of the blockchain. 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 68000, your node will be blocked by other nodes. Note that the users of GRAFT mobile and desktop wallets (GUI wallets) are not affected by the upcoming 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).

The source code of the version 1.2.1 is now released and available for download from master. The binaries of the new release are located here:

Ubuntu: https://s3-sa-east-1.amazonaws.com/graftbuilds/graft-1.2.1-20180422-release.tar.gz

Windows: https://s3-sa-east-1.amazonaws.com/graftbuilds/graft-1.2.1-20180422-win-release.zip

In order to check whether you are running the right version of GRAFT network node, launch graftnoded daemon in terminal window (in interactive mode) and type help command. If you are running the right version you should see Graft ‘Beta Lyrae’ (v1.2.1-release) in the first line of the help result.

GRAFT Network Major Update 1.1.2 at Block 64445

We decided to make the major network update even sooner due to the problems with ASIC and difficulty the nertwork has been experiencing over the past several days. The source code of the patch version 1.1.2 is now released and available for download from master. The binaries of the new release are located here:

https://s3-sa-east-1.amazonaws.com/graftbuilds/graft-1.1.2-20180417-release.tar.gz (Linux)

https://s3-sa-east-1.amazonaws.com/graftbuilds/graft-1.1.2-20180417-win-release.zip (Windows)

The major network update itself is rescheduled for block height 64445.

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. This release contains the ASIC-resistance changes in the hashing algorithm and enhanced difficulty adjustment algorithm, which are supposed to protect GRAFT blockchain from most hashing attacks and stabilize the block intervals.

As another reminder, 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 64445, it will be disconnected from the mainnet after block 64445.

In order to check whether you are running the right version of GRAFT software, launch graftnoded daemon in terminal window (in interactive mode) and type help command. If you are running the right version you should see Graft ‘Beta Lyrae’ (v1.1.2-release) in the first line of the help result.

Note that the users of mobile and desktop wallets are not affected by the upcoming 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).

Patch 1.1.1 Has Been Released – Major Network Update on Block 65110

We decided to make the major network update sooner in order to minimize the possibility of hashrate attacks. Patch version 1.1.1 is now released and available for download from master. The major network update itself is rescheduled for block height 65110, around April 14th.

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. This release contains the ASIC-resistance changes in the hashing algorithm and enhanced difficulty adjustment algorithm, which are supposed to protect GRAFT blockchain from most hashing attacks and stabilize the block intervals.

As another reminder, major network update means that if you are running the GRAFT network node (graftnoded daemon), you must upgrade it to the current software release between now and April 14th. If you do not install the updated node before April 14th, it will be disconnected from the mainnet after block 65110.

In order to check whether you are running the right version of GRAFT software, launch graftnoded daemon in terminal window (in interactive mode) and type help command. If you are running the right version you should see Graft ‘Beta Lyrae’ (v1.1.1-release) in the first line of the help result.

Note that the users of mobile and desktop wallets are not affected by the upcoming 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).

GRAFT Community Mining Pool – Required Miner Configuration Change and Software Update

IMPORTANT UPDATE April 12 – PATCH 1.1.1 HAS BEEN RELEASED – MAJOR NETWORK UPDATE ON BLOCK 65110

GRAFT Community Mining Pool (http://grftpool.com) has been updated to comply with the upcoming major network update which will change the hashing algorithm on April 14 (block 65110). In order to continue mining (even now, before the network update took place) you should update your miner’s configuration (and software if necessary) to be compliant with the recent changes. The new version of the miner with the new configuration is supposed to continue working after the network update as well, without additional changes.

You should change the current mining algorithm setting from “graft” (if you use XMR-Stak miner) or “cryptonight” (for other miners) to “monero7”. If your version of miner doesn’t support this algorithm, you need to update it to the latest version. Almost all popular miners already support “monero7” algorithm.

GRAFT 1.1.0 ‘Beta Lyrae’ Has Been Released

IMPORTANT UPDATE April 12 – PATCH 1.1.1 HAS BEEN RELEASED – MAJOR NETWORK UPDATE ON BLOCK 65110

We are excited to announce the release of major GRAFT network update version 1.1.0 ‘Beta Lyrae’ to the master / mainnet! Multiple tests are passed, and all the seed nodes are updated. The major network update itself is scheduled for block height 67850, about a week from now on April 17th. 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. This release contains the ASIC-resistance changes in the hashing algorithm and enhanced difficulty adjustment algorithm, which are supposed to protect GRAFT blockchain from most hashing attacks and stabilize the block intervals.

As another reminder, major network update means that if you are running the GRAFT network node (graftnoded daemon), you must upgrade it to the current software release between now and April 17th. If you do not install the updated node before April 17th, it will be disconnected from the mainnet after block 67850. In order to check whether you are running the right version of GRAFT software, launch graftnoded daemon in terminal window (in interactive mode) and type help command. If you are running the right version you should see Graft ‘Beta Lyrae’ (v1.1.0-29ae686) in the first line of the help result. Note that the users of mobile and desktop GRAFT wallets apps are not affected by the upcoming 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).

And finally, we would like to thank everyone from GRAFT community who contributed to the first major GRAFT network update by providing their feedback! We appreciate your support! We look forward to working together on our next major milestone – alpha and beta releases of RTA (real-time authorization) functionality of full supernodes. Stay tuned!

Latest Testing Results of The Enhanced Difficulty Adjustment Algorithm

The upcoming GRAFT network update will take care of problems with hashrate attacks and instability of block intervals (in addition to ASIC resistance upgrade). We would like to share the most recent results of the new difficulty algorithm testing on the testnet. The first graph shows how the existing algorithm slowly adjusts to multiple spikes of the network hashrate: The second graph shows how the upgraded algorithm quickly reacts to virtually any change of the network hashrate: The release candidate build is finalized but we are still in a process of testing of the upcoming network update. We are still on track to release it next week, stay tuned to get further notifications about specific date/time. By the way, if you haven’t seen it yet, here is the most up to date and detailed GRAFT engineering roadmap.

Upcoming GRAFT Network Difficulty Algorithm Update

The code release for the upcoming GRAFT network update, which includes ASIC resistance, enhanced difficulty adjustment algorithm, and minor bug fixes, is almost ready to go, and we are on track to release it on Monday, April 9th, with the actual switch scheduled to be triggered around April 16th (the block number will be announced later). Currently, we are conducting regression tests. The ASIC resistance code in conjunction with the new difficulty algorithm is supposed to minimize the possibility of hashrate attacks – when significant hashrate power (generated by ASIC or large GPU miner) is connected for relatively short period of time and making it difficult for other miners to compete and solve the blocks, until the existing algorithm adopts to a new hashrate and adjusts the network difficulty. This is how the existing algorithm reacts to sudden hashrate spikes in the mainnet: The following graph shows how the updated algorithm adjusts the difficulty much better after the simulated hashrate attacks: Although we think the upcoming network update will be sufficient to protect the blockchain from the majority of hashrate attacks, we are also working on original, even more enhanced version of the difficulty adjustment algorithm, which is supposed to provide even better, more “symmetrical” and balanced response to any hashrate fluctuations. Since such enhancements require significant testing, which is very time consuming, we are planning to include it in the next network update (the one after the upcoming update on April 6th), along with the merge of recent Monero changes. As usual, we will follow up with more details soon. Stay tuned!

Consolidating “US” and “EU” GRAFT Mining Pools Into a Single Community Pool

GRAFT team is going to consolidate the “US” and “EU” mining pools into a single community pool, which is supposed to increase the efficiency and reduce the costs of maintenance and support. Initially, at the moment of GRAFT blockchain launch on January 16th, 2018, two pools were supposed to ensure better decentralization and stability of the new blockchain; however, rapid growth of GRAFT popularity and mining community made this issue irrelevant shortly after the launch. Now Graft team is seeking a better distribution of the hashrate load, and as the network grows bigger, we are decommissioning one pool to allow operators of independant pools to gain a bigger market share.

The URL of the consolidated pool is going to be grftpool.com. Users of both current pools will be automatically redirected from the old urls. Miners connected to the “EU pool” will not be affected. Miners connected to the “US pool”, which is going to be shut down, will be receiving their payouts in full after the mining on the US pool is turned off. The switch will take place on April 1st. We recommend all miners currently connected to us.pool.graft.network to switch to eu.pool.graft.network as soon as possible in order to avoid any unexpected issues. Happy mining!

Upcoming GRAFT Software Release and Major Network Update

As was promised in the last week’s post, we provide more details regarding the upcoming major network update. The mainnet release of GRAFT software update has been scheduled tentatively for April 9th, with the major network update to happen on April 16th (specific number of the block that triggers the update, which is hardcoded into the node, will be announced on April 9th).

As a reminder, major network update means that if you are running the GRAFT network node (graftnoded), you must upgrade to the latest software release between April 9th and April 16th. If you do not upgrade your node before April 16th, it will be disconnected from the mainnet. Note that users of mobile and desktop wallets are not affected by the 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).

This network update will include two major changes and some minor bug fixes. The major changes are the Cryptonight update (for ASIC resistance) and new difficulty adjustment algorithm (for preventing hashrate attacks and stabilizing the block intervals). We are still testing the new difficulty algorithm to determine the best set of parameters. The testing results will be published next week. Stay tuned!