Disqualification Flow RFC
https://github.com/graft-project/DesignDocuments/blob/disqualification-flow/RFCs/%5BRFC-005-DF%5D-Disqualification-Flow.md
Disqualification flow is a critical part of fair and optimum Supernode sample selection. Please review the current proposal and comment.
Full Supernode Release -Stimulus Mode-
As promised, we’re very happy to be delivering the much anticipated big SuperNode release today!
It has been an incredible journey with lots of hard work, learning, stumbles, and small victories along the way! We owe a big Thank You to everyone who helped us get here!!!GRAFT SuperNode | GRAFT Node
To get started with the Supernode, you will need to install new GRAFT node and the SuperNode. You’ll find install instructions and binaries in github using links above.
Easy Install Guide
(thanks Tiago!)Staking is done via “cold wallet” staking transactions as described in the guide and install instructions. Staking transactions expire based on your preferences and can be added up for a higher tier.
RTA sample is chosen randomly using the staked blockchain based supernode list embodying the real RTA implementation.
The next few months will be spent building up the network using stimulus transactions, flushing out any bugs and vulnerabilities and finishing the workflow. We will then roll out mainnet production-ready external RTA API support along with new wallets around May-June timeframe, to run on top of a robust and stable network.
Network Upgrade
Public testnet seeds are being upgrade later today at block 287770
The mainnet network upgrade is scheduled for March 20, around 14:00 GMT, @ block 308460
With that, we would like to invite you to take a minute to celebrate with us!
Release Notes:
Included:
- Supernode communication and tier-based authorization selection
- support for “cold wallet” staking transactions
- RTA fee distribution
Not included:
- RTA sale transactions external API and flow
- client support
RTA Staking Primer
PoW Algorithm Update – GET READY!
After extensive deliberations, community feedback, research and testing, we are settling on a new tweak called CryptoNight v8 ReverseWaltz for the time being – it is based on Waltz’s number of iterations and small change in shuffle operation. We will be monitoring a promising CN-gpu algorithm with potential switch to it in the future.
The fork is tentatively set for block height 299200 (03.07.2019, appr 11:00 CST US)
We’re made several pull requests into popular mining software projects, waiting for Xmrig in particular to approve the pull request as critical path to mining support.
Testnet for CryptoNight v8 Reverse Waltz
- 54.208.86.27:28880
- 54.144.192.6:28880
- 35.175.164.180:28880
Links:
- PR in GraftNetwork: https://github.com/graft-project/GraftNetwork/pull/234
- Mining Pool SW: https://github.com/graft-project/cryptonote-nodejs-pool
Mining SW and Pool Support
- XMR Rig: https://github.com/xmrig/xmrig/releases/tag/v2.14.0
- Monero Ocean Pool:https://github.com/MoneroOcean/xmr-node-proxy
Selecting New PoW Algorithm for GRAFT
Some community members suggest that GRAFT should go beyond this change and implement different algorithm. Specifically, new CN-GPU is suggested. Note that introduction of completely new algorithm would induce the risk of blockchain failure due to unexpected consequences, which means more comprehensive and prolonged testing is required. Also, if we take this algorithm without any tweak, there will be more than one blockchain on the same algorithm, which contradicts the original goal.
With that said, we would like the community to express their opinions in a form of questionnaire, and in addition to simple voting for particular algorithm name explain the reason, benefits, possible downsides, and risks. Please submit your suggestions here. You can also join discussion on Telegram GRAFT Mining group. It’s important that everyone gets a chance to “chime in”!
Development Update – Jan 31
Ecosystem
Over the last week you saw a culmination of development efforts outside of the RTA supernode core track, geared at bringing the ecosystem network to its complete functional state. We published:- Exchange Broker (with fully functional demo)
- Payment Gateway (management and configuration of the end points)
- WooCommerce plugin
Our approach is to release the Exchange Broker and Payment Gateway as simplified, standalone versions using rapid application development tools, with the assumption that in the beginning merchants will run all the modules as a consolidated stack. The next phase will be to extend or rewrite these components to allow independent exchange brokers or merchant service providers to run these modules autonomously.
New RTA Alpha Patch Release
Today, we have released RTA Alpha 4.1 (bugfix patch release)
Changelog:
Cryptonode Fixes:
- disable logging to tmpdir
- fix: segfault while logging deleted connections
Cryptonode Known Issues:
- rarely happening random segfault in p2p server
Supernode Fixes:
- The program exits gracefully on bind fail.
- fixed appending X-Callback header caused “Too long header area” error
The github branches are the same as the previous release, so the latest instructions are unchanged.
The Core Team also continues working on Monero13 merge and Stake Transaction validation.
New POW algorithm for Nicehash resistance
Nicehash attacks have been a real nuisance and been cause for frustration for the mining community and community at large, causing long confirmation times at the exchanges and other disruptions. Earlier this week we implemented a tweak to CN8 algorithm we dubbed CryptoNight Waltz, which will prevent the attackers from using available Nicehash hashing power.
We have put together a private testnet. To test download CryptoNight Waltz here
Seeds:
54.208.86.27:28880
54.144.192.6:28880
35.175.164.180:28880
To launch miner on the node, simply run node and enter command “start_mining <wallet_address”>
The main reason we created this testnet is to add the possibility for miner and pool maintainers to add and test support of CryptoNight Waltz. Please reach out to your favorite mining software maintainer or pool operator to get them to update their software.
ColdPay Card
In the background, we’ve been toiling on the ColdPay card, working with the manufacturer on cryptographic algorithms and library support that’s required to support the CryptoNote protocol. We have also been prototyping the multisignature support in order to use the card as a payment mechanism with remote wallets.
At this point we feel comfortable with the proof of concept to move forward with production (assuming there is enough demand). To that end, we will be launching a crowdfunding campaign on IndieGoGo in the upcoming days (counting on your support there!). This crowdfunding process should also help elevate the overall project visibility.
Open Source Development
Finally, as discussed in the State of the Union, we’re moving towards becoming a truer open source project as many of you strongly urged us to do. In addition to publishing the Requests For Comments (RFC’s), we will be creating tasks for independent open source developers. Look for a list of these tasks in the upcoming days.
Best regards,
GRAFT Team
GRAFT STATE OF THE UNION
Last week GRAFT blockchain celebrated its 1st big birthday! We started this journey together one year ago when we launched the Mainnet and 1 year later (although it feels like 20 in blockchain years 🙂 ) we look back on it with feelings representing a spectrum from incredible pride and joy from what we’ve been able to accomplish to a bit of stress and frustration at times due to various attacks and hiccups along the way.
First, the Good
We have worked super hard for the entire year to deliver the base of GRAFT Blockchain Protocol and GRAFT Network ecosystem – 10’s of thousands lines of code, 100’s of architecture and status meetings and decisions, refactoring, optimizations, diagnostics, bug fixing, learning from other projects and science papers, and from the community.
We will let the results speak for themselves – we were able to deliver on all critical parts of the project and then some:
- Mainnet is live and kicking after numerous forks to combat various attacks and adjustments (with more pending)
- Full RTA Supernodes are in final alpha stages, ready to move on to Beta soon
- Alpha versions of the pay-in exchange broker and payment gateway
- Wallet apps covering all mobile and desktop platforms
- Point of Sale / payment terminal apps covering all mobile platforms (as well as desktop versions)
- Certified Verifone terminals integration, and preliminary Ingenico one
- WooCommerce plugin
- CryptoFind app for marketing and awareness
- Solid progress on ColdPay card
- Laying the groundwork with major payment terminal manufacturers, merchant service providers, ISO’s, large and small merchants, and many others partners and eco-system participants.
We are very proud of what we’ve been able to accomplish so far – it was no small feat!
The Hiccups
Did we learn a lot in that past year though! Coming into the project with lots of enterprise and startup product design and software development experience, with solid understanding of the math, principles, and techniques of the blockchain and business of payments, but with little practical experience in bringing up a new blockchain, and with limited experience running an open source project, we were in for a very steep learning curve getting up to speed and learning the ropes of this new frontier.
First, we want to own up to the mistakes that we’ve made and the improvements we can make:
1. We should have factored in the cost of mining as a factor for the ICO token price determination. It was difficult to forecast due to the fact that we didn’t know how many miners were going to step in and what the resulting hash rate was going to be, but we should have done more to model it. We also tried to remedy the situation with an idea of an airdrop if the price doesn’t recover – while we had the best intentions in mind with that, we didn’t think it all the way through and ended up retracting.
2. We should have been more upfront with publishing the RTA flow design to allow for feedback sooner – it would have saved us some redesign work.
3. We didn’t do enough to involve the community at various times in the project and didn’t communicate as much or as often as we should have at times.
4. We recognize that the alternative definition of the word “graft” can become an unnecessary hindrance during the commercial adoption phase and considering opening up a rebranding effort in the near future.
Finally, we want to take this opportunity to offer apologies to anyone we may have offended along the way – we realize people have had different expectations jumping into a project like GRAFT and sometimes expressed their grievances in a way that we couldn’t handle. We meant no disrespect – we are just watching out for the health of the project and for the team morale.
Course Corrections
We are taking steps to align with the vision of the community project by opening up design, development, and moving towards including the community into decision making. We have to strike a careful balance of getting the project up to speed before we “let go of the wheel” completely though. Opening up the project to community decision making is very democratic, but will usually lead to a lot of delays and stalling as various groups or individuals will see different solutions to problems and agreements will take time to emerge. DAO mechanism has to be thought out carefully borrowing from and innovating on top of the best practices.
As evidenced by other open source projects, the best strategy in regards to this dynamic is for the core team to lead the initial ramp in technology and business development and then start sharing the responsibility with the community once the community development and governance are strong enough.
To that end, we have implemented a hybrid development approach with a community tree https://github.com/jagerman/GraftNetwork and have opened up the design for community review.
https://github.com/graft-project/graft-ng/wiki/GRAFT-RFCs,-Proposals-Design,-Papers
Another balancing act that we have to do is balancing the long term and short term goals and approaches. While long term we’re striving for the ultimate in privacy and decentralization, at times we have to make some temporary compromises in order to expedite development, roll-out, or adoption.
What’s Next?
The next phase of the execution is to get ready for the real world adoption, which will include rolling out the RTA supernodes to the mainnet, updating the client (wallet) software, supporting reference software needed for integrations, improving liquidity through larger exchanges, and pursuing various market development efforts via existing channels as well as developing new creative ways to get traction. We’ve got a big year ahead of us!
We are also looking a step ahead from the technology perspective. All technological solutions must continuously evolve in order to survive, and blockchain and payment systems are not exception. As other forward-thinking projects in the field (e.g. Ethereum), we’re looking at migrating to pure proof-of-stake based model in the future with the following objectives:
- Retaining GRAFT’s marque privacy, real time authorizations, buyer-friendly fee structure, multi-currency support, special merchant transaction flows, custom merchant tokens, participating economy, and more (see original GRAFT white paper for more details)
- Eliminating Proof of Work altogether*
- Providing virtually unlimited scalability to enable TPS (transactions per second) rates competitive with traditional payment processing networks
- Eliminating a prolonged locking of funds in user wallets (both payer and payee) caused by waiting for multiple “block confirmations”
- Reducing the network latency that affect transaction authorization times to insignificant minimum
- Adding open banking features that would provide financial benefits to all users
The draft version of the new design and some preliminary proof of concept samples will be published for community review.
* When and if we switch to proof of stake blockchain, all the GRFT tokens will be converted and the total supply will always stay the same.
Wrapping Up
We have done a lot over this past year and learned a lot! We’ve built a solid foundation of a network that addresses three of blockchain and cryptocurrencies most promising areas (payments, loyalty programs, and decentralized exchanges).
At this point, we feel like we are on solid footing with the RTA Supernode and the rest of the ecosystem nearing the finish line, with major design issues having been addressed. We have a solid plan for going forward both technologically and roll-out wise.
There are lots of blockchain projects out there. A lot of them are a sham and a money grab, some are “scientific experiments”, and only a few are working hard on bridging the best technology and science with the real world applications in a genuine attempt to make a fundamental difference. We would like to believe that GRAFT is one of these projects. GRAFT is designed to make the best blockchain-based ideas fit together as puzzle pieces to form a solution that works now and in the future, is flexible and adjustable, lowers the bar to adoption on all sides, provides earning opportunities, and adheres to privacy and security standards of parties involved. It’s not a trivial undertaking, but we believe wholeheartedly that it’s a doable one and it’s never been as close as it is now to come to fruition!
We’d like to think that we know enough to not make mistakes, but we do make them from time to time. What’s important is that we learn from these mistakes and make quick corrections. If there was one thing we’d like to leave you with at this point is keep challenging us in a constructive manner – we’re listening! And keep rooting for GRAFT! Turbulent times like what the market is experiencing, provide opportunities for the best projects to pull ahead and shine. Big things will come, we just need to be patient and persevere.
Sincerely,
GRAFT Team
Pay-in Exchange Broker Alpha
We’re excited to publish the first version of the Exchange Broker that we’ve been working on for a while in parallel to the RTA in an effort to provide a complete second layer eco-system.
https://github.com/graft-project/exchange-broker
This is the first version of the exchange broker which aims to facilitate a scenario where the merchant or merchant service provider perform the accept, exchange and payout functions. (Future versions of the broker and other components will become further decentralized and separate those functions among other participants in the network)
The broker can run on the RTA Alpha testnet and comes with a nice demo application emulating a POS/terminal accepting testnet BTC and ETH for payment.
Join the Exchange Broker Telegram channel for community-based support and idea exchange.
RTA Design Receives Major Privacy and Security Updates
https://github.com/graft-project/graft-ng/wiki/%5BRFC-003-RTVF%5D-RTA-Transaction-Validation-Flow
In the new revision we’ve been focused on privacy and security of RTA transactions. We shifted significant amount of the work, required for transaction verification, from POS Proxy to POS itself. POS Proxy doesn’t know a recipient wallet address anymore. We also introduced an end-to-end encryption of the payment data.
Thanks to @jagerman42 and others for contributing their critique and ideas!
SuperNode RTA Alpha 4 Release
We’re happy to announce the Alpha 4 is ready to be tested! Alpha 4 is a big improvement in stability over Alpha 3.
Cryptonode (graftnode) v1.3.4 (alpha4) changelog:
- fixed random segfault caused by copying p2p_connection_context
- fixed “unexpected recv failed” error while cryptonode communicating with supernode (default HTTP timeout increased to 3 seconds)
- added extra build target “release-static-linux-x86_64-debug-info” (release binary with debug info in separate files)
- fixed memleak in case libwallet running in multithreaded mode
- removed extra (duplicated) p2p-rta outgoing connections
Supernode v0.4.0 (alpha4) changelog:
- fixed crash due to missing return values
- fixed auth sample validates only RTA transactions
- optimized auth sample selection code
- added check if supernode is busy before applying announce
- decreased amount of opened file descriptors by using shared io_service instance in libwallet
- fixed “refresh from block height” parameter in the future which caused 0 balance for stake wallet
- fixed random deadlock while processing supernode announces
- refactored internal project structure
Alpha RTA Testnet install instructions:
https://github.com/graft-project/graft-ng/wiki/Alpha-RTA-Testnet-Install-&-Usage-Instruction