Categories
Feature Story

The TurtleCoin Journey: 2 Years and Counting…

Earlier this month, TurtleCoin celebrated its two year anniversary of starting the project. The community and project have come a long way in the last 24 months and we are all proud of what we, as a community, have accomplished during that time. That’s not to say that we didn’t have a few set backs, learning opportunities, and challenges to overcome that tried our patience at times and ultimately drove the community to make changes to how the network and core suite operates. From multiple PoW algorithm changes, difficulty calculation changes, and a move to static mixins, each change was evaluated and adopted by the community with excitement and hopes for the future health of the network.

We’ve heard the pleas of the community over the last two years and by far the majority of the requests revolved around the folowing:

  • What is the community doing about the chain storage size?
  • When can the community expect more stable daemon/node operation?
  • Is RockSteady Satoshi? (TBD)

These pleas have not fallen on deaf ears and the result of those requests include a culmination of upcoming changes to the network and software with the next release of the TurtleCoin core suite. We are very excited about these changes and believe they are important for everyone to understand.

zedwallet (Legacy Edition)

The application formerly known as simplewallet

Zedwallet Legacy: End of Life

We announced in the v0.20.0 release notes that the legacy version of zedwallet contained in that release would be the last and final release containing legacy zedwallet. This statement still holds true and the code for that old version of zedwallet has been removed from the project. The next release of the core suite replaces the binary named zedwallet with zedwallet++ which is a new, faster, stronger version of the CLI wallet software. The zedwallet binary released going forward will be powered by zedwallet++.

Zedwallet Legacy: End of Support

We also announced in the latest release, that support would end for legacy zedwallet December 31, 2019. Starting January 1, 2020 if you ask for help with legacy zedwallet issues, we will kindly insist (with a stick in hand) that you upgrade your wallet using the latest release of zedwalletwallet-upgrader, or wallet-api. Again, the old code has been removed, lost, buried, and forgotten about at this point.

But, Why?

Don’t be that guy, don’t say you didn’t know.

Simple: portability, maintainability, and scalability. Legacy zedwallet (also turtle-service) based on WalletGreen creates wallets using a very unfriendly internal wallet schema that makes it very difficult to work with in different languages, platforms, and etc.

The new hotness, WalletBackend, creates a friendly, easy to use, fully documented, and portable wallet schema that is a JSON object when decrypted. WalletBackend lowers the barrier of entry for other developers to work with data created by the core tools and thus makes it far easier to develop other cool portable projects like TonChan and many others.

Deterministic Subwallets

It’s pretty much like a choose your own adventure book

We’ve updated the code in WalletBackend to default to the deterministic creation of subwallet addresses and support the restoration of those addresses in a deterministic way. This change is designed to help services in being able to quickly restore subwallet in the event that they lose any subwallet keys.

Instead of generating new random spend keys for each new wallet created in a single container, new wallets in the same container are now derived from the primary wallet address. The details of the how we derive subsequent private spend keys for subwallets is detailed in Issue #831.

Making subwallet private spend key generation deterministic allows for the restoration of any subwallet by just maintaining its index (position) in the wallet container. No more need to store all those extra keys! This is a major improvement for the teams in the community that handle subwallet addresses and users who use subwallet for a variety of purposes.

TurtleCoind Threading

Threading solves everything

RPC

Zpalmtree has worked tirelessly to implement process threading into the core daemon for the RPC interface. This helps keep the RPC interface responsive during heavy load and greatly reduces the impact to the network when the transaction pool gets hit with an influx of transactions. This change will help minimize the effects of heavy load on the network and improve the overall stability of node operations.

Transaction Input Validation

Zpalmtree also added support for threading of the input validation routines for new transactions entering the network. This allows inputs to be validated in parallel and thus drops the transaction validation time considerably. In doing so, transactions enter the network, are propagated across the network, and are ultimately included in blocks faster.

Transaction Pool Changes

How the transaction pool is managed by the core software has been changed recently to help decrease the effects of transaction spam, chain bloating, and other less than helpful actions on the network. We quickly noticed some less than friendly transaction activity taking advantage of our 30 second block times, low network transaction fees, and our good nature as turtles to bloat the chain with low-cost and free transactions that consisted of only breaking apart their funds into shells and recombining them into whole TRTL over and over again.

Transaction Selection Process

We are not the sort to create our own sorting algorithm to sort our sortables

We’ve improved upon the transaction pool ordering and selection criteria for when a miner creates a new block. In short, we’ll always de-preference transactions that are fusions and low total amount transactions as the odds are considerably better that such transactions are “spam”. As always, miners will prefer transactions with higher fees, size, and other metrics to move transactions through the network faster.

Fusion Transaction Limits

We’ve employed additional changes to the transaction pool where each node’s copy of the transaction pool can no longer accept any more than 20 fusion transactions at a time. All other fusion transactions will be rejected until there is room in the transaction pool for more.

This may result in an extended number of fusion rounds for highly disorganized (non-optimized) wallets. If you haven’t fused your wallet in a while, you might want to do so soon.

The line for the Coinstar starts at the back…

Network Upgrade at Block 2,200,000

We have a few consensus changes coming at block 2,200,000 to help improve the stability of the network. These changes are designed to be as transparent as possible but some will reach out and hit you in the face.

Some of these changes are the result of previous discussions in a meta issue and a thorough review of where the network and software can improve the overall experience of the community while maintaining the goals of the project.

Events unfolding over the last few months solidified in our minds the fact that some people just want to see the world burn and as a community, we must take precautionary steps to ensure the longevity of the project.

Output Creation Limits

Starting at the next network upgrade, the network will no longer accept transactions that create more than 90 outputs per transaction. Why apply a maximum you may ask?

+3,500 new 0.01 TRTL outputs created… why do we need those?

There is no legitimate use case in which a transaction need ever create 3,500+ outputs. All this type of transaction traffic manages to do is bloat the blockchain at the expense of every community member. It also ultimately causes the reverse effect and bloats things even further by stuffing the transaction pool and chain full of fusion transactions. Such transaction cycles serve absolutely no purpose and degrade the experience of all users.

Oh yeah… that’s why we need those: fusion spam.

Fee Per Byte

The Backstory

While setting the minimum transaction fee to 0.10 TRTL at the project’s launch sounded like a good idea at the time, such a minimum has serious long term implications. Most importantly, it costs just 0.10 TRTL to send data (transactions) on the network and that data is stored indefinitely and processed by thousands of nodes across the globe thereby consuming a growing amount of resources.

Using such resources is not free and unfortunately, as the chain grows, the resources required to operate nodes grows. The more resources required to operate a node, the less people will be able and willing to commit the necessary resources. Simply speaking, 0.10 TRTL per transaction is not maintainable for the long haul operation of the network.

Okay, Great, Now What?

That math stuff you hoped you’d never need, well… I hate to tell you…

Keeping this in mind, with the network upgrade at block 2,200,000, the network will require a minimum fee for each transaction that is based on a calculation of 0.01953125 TRTL per byte of data of the transaction. This equates to 5.00 TRTL for every 256 bytes of data sent across the network.

Increasing the minimum network fee for transactions means that each transaction is required to pay for its existence and the consumption of network resources proportionate to its size in bytes.

This means that the if you send a transaction using a lot of inputs, or a lot of outputs, contains extra data in the transaction, payment IDs, or etc. (increasing the size of the transaction), you’ll be required to pay your fair share to use the network to transmit and store that data.

As the fees for each transaction are included in the miner block reward, miners will be rewarded with these higher fees for processing transactions. The vast majority of nodes on the network are operated by miners (and pools) so the increase in fees will help to offset the costs of operating those resources to run the network.

So… What Now?

What does this mean for the average user? You’ll see an automatic calculation of the minimum network fee when sending transactions. Depending on how optimized your wallet is, how much you’re sending, and what data you include in a transaction, you’ll see the minimum network fee climb from 0.10 TRTL to about 10.00 TRTL at a minimum.

Fusion transactions will remain free so we highly recommend that you keep your wallet optimized. As a miner, you’ll also benefit from raising your minimum payout with mining pools to higher thresholds as you’ll indirectly pay less in fees for the transactions that pay you for your mining efforts.

If your wallet is mostly composed of shells, you’ll want to optimize your wallet before this new fee structure kicks in. If you mine only on the biggest pool or make most of your TRTL through tips, you’ll definitely want to optimize your wallet immediately.

What’s The Catch?

Sending small transactions, when we needed more mixable outputs for fungibility purposes, helped provide the necessary data to make everything possible. This could be done at a relatively low, low, low cost of 0.10 TRTL; however, with this change, sending 1.00 TRTL to someone will now incur a cost of 10.00 TRTL. We’re sure you can do the math there and understand the sending small amounts (ie. tips) less than the network fee won’t make sense going forward.

TL;DR

Changes to the core software, including moving to fee-per-byte network fees, better transaction selection algorithms, and limits on fusion transactions will bring additional stability to the network, the operation of nodes, and help to address the concerns of the community.

Our work doesn’t stop with these changes and we’ll continue to work on enhancing the network, tools, and experience for all of the TurtleCoin community members.

You can do your part by spreading the word regarding these changes, showing your support, and voicing your opinion(s) in the chat.

As always, Pull Requests are your best avenue to shape the TurtleCoin experience.

Categories
Feature Story

The Quest for Decentralized Proof-of-Work

In this article, we will look at the some of the goals of the TurtleCoin project, the concept of centralization, where the project stands, and what the project is doing to remain true to itself by maintaining its commitment to the community.

TurtleCoin Core Goals

Fun, Fast, and Easy

For those of you that have been to the TurtleCoin website, the goals below may seem repetitive. For those of you that do not know, TurtleCoin was born with a few goals in mind:

  1. Fast Transactions
  2. Privacy
  3. Easy to Use
  4. Easy to Mine
  5. Community
  6. Support

The community is reminded of these goals every time they interact with the network, participate in discussions, and help spread TurtleCoin around the globe. These core values drive everything that is done within the community from core development, documentation generation, learning opportunities, support, and community project management. We take these goals very seriously and will do whatever we can to make sure that TurtleCoin remains true to the initial vision.

Decentralization of Mining Resources

What is Decentralization?

Decentralization is, to put it plainly, the process by which planning, and decision making are shifted away from a central authority or group. The process can take many forms but in our case in the context of a Proof of Work (PoW), it means that no central authority or group controls most of the resources needed to complete the PoW.

Why Care About Decentralization?

When most of the necessary resources to satisfy the PoW requirements end up centralized, those that control those resources can, when motivated to do so, take control of the network away from the community. Such control can manifest itself in ways such as:

  • 51% attack where history can be rewritten which then typically results in the double-spending of currency that is made possible by off chain account balance tracking performed in traditional databases
  • Selfish Mining where miners remain ahead of the public chain and release just enough blocks to stay ahead of everyone else thereby reaping the majority of block rewards

Each of the above attack vectors result in a network that is no longer “Fun, Fast, and Easy”. These attacks are, in the eyes of many, fraud and in the very least theft. No one wants to use a network where their funds are constantly at risk.

In addition to the above sampling of on-chain attacks, centralization of mining resources also poses additional problems when those resources are controlled within, produced by, or otherwise restricted by one or two entities.

Where Does PoW Centralization Come From?

The most common forms of PoW centralization come from technologies designed to make PoW calculations more efficient, including:

ASICs and FPGAs are, to be fair, technologies that help secure PoW networks by increasing the overall hashrate of the network while drastically reducing the resources (electricity, physical space, management, monitoring, etc.) to do so. By increasing the efficiency of mining, others are encouraged to participate in the mining process. The more distributed hashrate a PoW network has, the harder it is to attack via the methods described above.

Supply Chain Centralization

Unfortunately, both ASICs and FPGAs are largely the product of a handful of special interest groups and organizations that create high barriers to entry and generally avoid transparency and accountability. This presents a problem in that a project that embraces these technologies today relies on just a few manufacturers to create the specialized ASICs and FPGAs needed to secure their blockchain.

While this may not sound like that big of a deal, all we have to do is think back to the countless instances in history where one group controlled the supply of a product or service.

Such centralization of manufacturing also presents a problem in that the production of ASICs and FPGAs for mining now falls under a limited number of jurisdictions. Governments could, and have, changed the legality of producing, owning, or operating such hardware on a moment’s notice. The fact that a single entity could control the hardware necessary for operating the network is in direct opposition of the goals of decentralization.

To prevent centralization of the manufacturing of the hardware there must be a multitude of manufacturers spread all over the globe. Only then is it possible to reduce the risk of a single group impacting the supply chain of ASICs and FPGAs.

Note: CPUs suffer from some of the same issues mentioned above; however, CPUs are general purpose integrated circuits that are commercially available in large quantities at affordable prices and their manufacturers are not solely focused on cryptocurrency mining activities.

TurtleCoin’s Commitment to Decentralization

The TurtleCoin community and core development team remains committed to the stance that TurtleCoin must be easy for all to mine, fair, open, and most importantly decentralized. We’ve posted numerous articles, videos, and GitHub threads reaffirming this commitment since the inception of the project. Notable examples of such include:

While others may deviate and split from their goals of decentralization, the TurtleCoin community remains fully committed to the vision that a decentralized PoW remains our best chance at long-term sustainability.

Upcoming Proof-of-Work Algorithm Change

The upgrade to CN Turtle at block 1,200,000 was a success; however, as mentioned in the Proof-of-Work Algorithm Change, we’ve had another algorithm change on the burner well before that upgrade. We always knew that CN Turtle would be a temporary step meant only to give us a bit of breathing room to test, what we hope to be, a PoW algorithm that will prevail in our quest for decentralization for longer than prior algorithms have allowed.

We have mentioned codename Chukwa in a few different places over the last few months. If you have not been following discussions in Discord or taken at look at the GitHub Chukwa Hashing Results thread, Chukwa is actually Argon2.

What is Argon2?

Argon2 is the memory hard winner of the 2015 Password Hashing Competition (PHC). Argon2 comes in three different versions; each with their own design goals.

  • Argon2d is designed to maximize resistance against GPU cracking attacks and accesses memory in a data dependent order. This means that the input data itself defines how the memory is accessed; however, it is susceptible to side-channel attacks
  • Argon2i is designed to minimize side-channel attacks and accesses memory in a data independent order
  • Argon2id is a hybrid between the two where Argon2i is used for the first pass over the memory and Argon2d is used for each pass after that

The Argon2 IETF RFC draft recommends the use of Argon2id.

Why Argon2?

Argon2 was selected for the following reasons (in no particular order):

  • Winner of the PHC that follows the same kind of processes as the NIST’s AES & SHA-3 competitions
  • Memory hard algorithm
  • Source code is GPL-3.0 compatible
  • Easily integrated into the core code, pools, etc
  • Only one known cryptocurrency project (Aquachain) uses Argon2id

Argon2 is also relatively unique in that it allows for a high-level of customisation in how the hashes are calculated including parameters such as:

  • The number of threads to use (parallelism)
  • Arbitrary resultant hash length
  • Memory requirements (memory hardness)
  • Number of iterations (time cost)
  • The use of salts

Argon2id Parameters

The various input parameters allow us to tune the implementation of Argon2 such that it makes sense for TurtleCoin.

Memory Requirement
  • Be large enough to fit an entire block so that all of the data can be shuffled
  • Not exceed common L2 CPU cache sizes to allow for the largest range of CPUs to participate in mining
Iterations
  • Provide a higher base hashrate than previous algorithms to increase the mining efficiency
  • Take advantage of the multiple memory passes used in Argon2id (>2 iterations)
Parallelism (Threads)
  • Make the use of as many physical and logical cores as possible by using 1 thread per hashing operation
Benchmark Testing Results

We solicited single-core performance benchmarks from the community in the Chukwa Hashing Results issue thread on the main repository. The summary of those results are below.

Note: For brevity, we have truncated the summary table below to the algorithms we have used before and Argon2 parameters that meet the requirements above.

Chukwa Parameters

Given the above requirements and the testing results provided by the community we were left with 5 clear options. One option stands out and sits nicely in the middle among the group of options. It provides a healthy 2.5x increase in hashrate and meets the requirements above.

We’ve selected the following Argon2id parameters for the next PoW:

  • Threads: 1
  • Iterations: 3
  • Memory: 512kb

Note: You can play with different parameters with a simple Argon2 hash generator at argon2.online

TurtleCoin’s Argon2 Implementation

Like other PoW algorithm changes, there is quite a bit of work to be done to ensure that this network upgrade is a success at block 1,800,000. We have adapted the Argon2 reference implementation for our use.

Caveats

Miner Package Availability

At this time, we have found very few miner packages that support Argon2id. While the native CPU miner provided in the core project will happily support the algorithm for solo mining, we understand that the network and community requires the availability of mining pools. To help facilitate pooled mining, we are currently working on building pool support into the native CPU miner provided by the project.

GPU Mining Support

We have not currently been able to find any miner packages that support Argon2id GPU mining. While we are confident that the community at large will work towards having an Argon2id GPU miner available at some point, it is unlikely that a GPU miner will be available at the time of the upgrade. As a result, we fully expect a substanial drop in the network hashrate as a result of this upgrade. We are planning a difficulty reset to account for this drop at the time of the upgrade. This has a byproduct of making TurtleCoin a CPU only coin for the foreseeable future.

Completed

Core

We have completed the necessary changes in the core project to implement Argon2id at block 1,800,000 that will activate with block major version 6. The changes can be found on the codename_chuckwa branch of the TurtleCoin repository. This code has not been pulled into the development tree or master as of the time of this writing.

Support Packages

The necessary changes have also been applied to the development branch of the turtlecoin-multi-hashing Node.js module that pools use to validate miner shares.

Pool Changes

The necessary changes to the turtle-pool software have been completed on the chukwa branch.

In Progress

Testnet

We will also be launching multiple testnets to test the algorithm change including a difficulty reset to adjust for the anticipanted loss of GPU mining hashrate.

How You Can Help

We need help from the community to test this algorithm change to try to ensure that everything goes as smoothly as possible. The more people that are involved, the easier it is to spot issues and correct for them before the upgrade.

Community Reminder

As always, be mindful of TurtleCoin core releases. Watch or star the main TurtleCoin repo to help stay abreast of changes and updates. Join Discord and read the #announcements on a regular basis. Or, sign up for the @news role by typing *news in the chat and be alerted whenever a new announcement is posted in Discord.

Make sure you’re ready for the network upgrade as early as possible. As with any network upgrade, prior versions of the software will no longer be compatible with the rest of the network after upgrade completion.

Remember that you too can participate in discussions regarding the direction of the project via Discord and the TurtleCoin Meta Issues. Join the discussing regarding the PoW change via the Chukwa: The Argon2 PoW Algorithm discussion on GitHub.

Correction: The article above was corrected to reflect the intent of the writer as the original copy referred to the security of PoW networks based solely on the network hashrate and not the distribution of such. Thank you to @Taegus for pointing this out.
Categories
Weekly Update

This Week In TurtleCoin (Jan 28, 2019)

Developer Updates

FORK IN 3 DAYS UPDATE YOUR MINERS! UPDATE YOUR DAEMONS! https://github.com/turtlecoin/turtlecoin/

XMRig – Hey, Wixer here. I just wanted to let you guys know that xmrig as well as xmrig-amd and xmrig-nvidia have received an update. CryptoNight Turtle is now officially supported!
https://github.com/xmrig/xmrig/releases
https://github.com/xmrig/xmrig-amd/releases https://github.com/xmrig/xmrig-nvidia/releases
Huge thanks to Github users: lost-bro, fexra, brandonlehmann, davehlong, YetAnotherRussian, SChernykh, Bendr0id and of course xmrig who worked on making this happen! So far I’ve only tested xmrig-amd for a few days and it runs very stable. The hash rate for my rig has increased by 3.7 times. If you’re curious of how your hardware will perform after the upcoming fork, you can simply download or build the right miner for your system. There already is a CryptoNight Turtle coin you can mine to test xmrig. It’s called DeroGold and it’s a lot of fun to mine because of the high supply. So why don’t you update your miner, so that you’ll only have to change algorithm when it’s fork time? – Wixer

https://github.com/xmrig/xmrig/releases

TurtlePay – Just a tiny update at the moment. I’ve added a small “Powered By TurtlePay” badge that people can use on their TurtlePay sites. Check it out at https://turtlepay.io/start.html – IBurnMyCD

https://github.com/TurtlePay

TurtleCoin Docs – 1000th commit! – Just wanted to say, the TurtleCoin Docs (docs.turtlecoin.wiki) just got it’s 1000th commit; it’s 1000th update, since its inception in around March of last year. Huge thank you and shout out to everyone who made this possible, and here’s to another year of more updates and information! – Sajo8

https://docs.turtlecoin.lol

Promote Your Bounty

50,000TRTL bounty – Write a comprehensive introduction to TurtleCoin based on https://docs.google.com/spreadsheets/d/1CFMWdGG-b44soTKblfXj6TWw-DQPzZYtMgojpFeA-Ig/edit#gid=763521774 So once PR is submitted and accepted I’ll pay out the bounty. thanks a lot. – SalmonDealer

Community Advertisements

Motivated by the recent dramatic increases in network difficulty, we’re testing out a new feature at our predictable solo mining pool that lets multiple users “mine as one” for faster payouts. Simply specify “pprop” in the password field of your miner config to join the mining collective. Come on by, check out the whitepaper on this new payment scheme, and jump on in — the water’s warm!
https://cryptonote.social/trtl
turtle2.japakar.com 5 turtle fee! and turtle.japakar.com 5 turtle fee! *MIND BLOWN*
http://turtle.japakar.com

Shoutouts & Thanks

Great support from Belorion in helping get the Nibblebox all in one miner running smoothly for NibbleClassic! – sups

Shoutout to @Rock’s new avatar, which is scary-as-hell – funkypenguin

<3 the turtlecoin community. – dsanon

will you go to prom with me zpalm – anonymous

have a great week everyone 🙂 – rock

Categories
Weekly Update

This Week In TurtleCoin (Jan 15, 2019)

Developer Updates

Core Update – For those of you who haven’t heard yet, at block 1,200,000 (or in 17d 4h 17m 0s) we will be upgrading the network to a new hashing algorithm, CN Turtle. If you’d like to know more about CN Turtle and the fork, check out the articles below, but in short, it’s about renewing our commitment to keep ASIC off the network.
If you’re a normal user, just update your core software or gui wallet and you should be fine, if you’re a miner, you may use TRTL Stak or XMRig, or SRB with more to likely follow. – rock

https://blog.turtlecoin.lol/archives/proof-of-work-algorithm-change/

https://blog.turtlecoin.lol/archives/cn-turtle-will-steal-your-girl/

TurtleEDU – We’re so proud of all of the helpers who have helped us find bugs and corrections for the TurtleEDU class “TurtleCoin 101”! Who could have expected us to launch our beta semester with over 60 people helping us search for bugs, I’m so impressed.
Next, Professor Fexra and I are looking for some Turtles in the community who are experienced with OpenEdX (the edu platform we use) to help us bring a more rich educational experience to you guys. We are looking for help with implementing the badging system, effective course design, as well as overall advice regarding the devops side of running an OpenEdX system specifically. If you think you have something to contribute, or advice to give, we’d be happy to have you, or if you’d like to try out our beta class “TurtleCoin 101”, swing by the Discord chat at chat.turtlecoin.lol and type *student to get access to the EDU chats, and grab an account at edu.turtlecoin.lol – rock

From the blog…

We are always pursuing a more fair mining experience. One of our early efforts to get the network to decentralize was to interview pool owners who had unique qualities about their pool to encourage new miners to adopt new pools.  This next interview was more for pool admins and aspiring pool operators, and also just for general users alike. It’s a good one! Check out funkypenguin’s pool! https://blog.turtlecoin.lol/archives/funkypenguins-turtle-pool-secrets/

A while back, we had an actual journalist helping out witht he interviews, and this was one that slipped through the cracks and actually took a while to get published. It’s a great interview with a member of our core team, and I’m happy to show it to you! https://blog.turtlecoin.lol/archives/interview-w-soregums-from-trtl-core-team/

Community Advertisements

  • Two brand new community projects to check out already this year! Who sent 10 turtle by MrRovot and a custom minecraft server by WarLordN1k. So come any play all the communities amazing games @ games.turtacus.com
  • FREE public node, one of the only free ones left. greywolf Germany turtlenode.co
  • TurtleDice – Bet and try your luck with this new gambling website. You choose your winning chances and we roll the dice for you! No registration, fair and fun playing! https://turtledice.de.cool

Shoutouts & Thanks

D4D – D4D luvs you all 😉

Top Secrets – 23

Rogerrobers – Shout out to Capetn!

Captain Jac) – Shoutout to all turtles and welcome to all new ones

Rock – You’re all pretty awesome

 

Categories
Weekly Update

This Christmas in TurtleCoin 2018

This Christmas we received the blessing of the community’s progress and our mutual friendship with other networks. TurtleCoin users are quickly becoming the most helpful crew in the industry, and that’s a hat we are happy to wear any time 😀

Here’s to another great year, and a good time this New Year for all of our new friends who’ve just joined us!

Developer Updates

Image result for turtlecoin asic

Core Update at block 1,200,000 !! Miners! Service Operators! Users! This is your update! Tell a friend!

What is a fork? -> Click here to see our article about updates like these and what they mean for you!

1,200,000 – This update is a big one, and unlike our normal fork upgrade schedule, this one packs a little bit more of a punch than others in the sense that we have a new hashing algo variant we’ve been working on called CN Turtle. This new algo affects miners two different ways, GPU miners will see about a 4x increase in power, and CPU miners will see about a 6x increase in power. This just means more heat for most of you but for us it means another upgrade without ASIC, and for the first time it means TurtleCoin is branching out from just using whatever Monero and Aeon use. We’re doubling down on our commitment against Nicehash and ASIC, and have already started research on the next PoW change for when that time comes. Everyone probably also wondering, but if you’re on XMR Stak or XMRig, you’re fine, with more compatibility for others coming soon. – TRTL Core Team

This wall of text means one thing- We’ve got you covered. This is our commitment to a 2019 without ASIC.

https://github.com/turtlecoin/turtlecoin

solo miner improvements – If you’ve ever used the solo miner, you might know it’s a little ‘meh’. You need to know all the arguments to start the miner with, it doesn’t even output barely anything on the default log level, and the output is pretty verbose. One thing you might not be aware of is it actually by default only scans for a new block template every 30 seconds. So, a lot of the time you might be mining on an old block template when the daemon already has a newer template. This fixes that issue, so there should be a lot less orphans. Annoyingly, the windows network stack seems to hold open the closed connections for some time, so polling for a new template every second can end up exhausting the available sockets. I’m working on a fix for this by reusing the same connection. I know most people don’t use the solo miner, but this should help out projects which fork TurtleCoin and don’t have any pools up yet. – zpalm

https://github.com/turtlecoin/turtlecoin

Oiboo’s Game Emporium – Merry christmas and Seasons greetings to all! Thank you for your support this year. So far we have 11 amazing games made by our community! Well done everyone! I have nearly finished the tutorial section of the website, so hopefully we will have loads more games next year! As always any ideas you have or if you have a project you want featured email me @ info@Games.Turtacus.com or message me in #Dev_Gaming Oiboo – oiboo

https://games.turtacus.com

New Turtle Game – I’ve started gitting gud with Godot game engine, following guides and exploring uncharted lands! Me and bunny will be working on new turtle games, coming out sometime 2019. Stay tuned! – Sajo8

Fork Watch!

Do you run a TRTL fork, or are you part of a fork community? Take a second to tell us a bit about your fork and get some exposure for your project!
Name of your TRTL fork :
DeroGold
Github link for your code:
What is special or new about your network?
The DeroGold Association is the future of crypto today and we welcome you aboard. An open source project since block number 1, DeroGold plans to be one of the most illustrious cryptocurrencies ever. Forking our coin from TurtleCoin and using their new CN-TURTLE hashing algorithm will be instrumental in helping us to achieve this goal.
Some specs of DeroGold include 100 trillion max supply, only 2 decimals, 10 second blocks, cutting-edge lite-blocks, and a wallet prefix of dg. It has been said to be very reminiscent of the early TurtleCoin days, since we have a low nethash and large block rewards with a lot of questions about our huuuuge supply.
Join our discord to learn more about us: http://derogold.gq
Special thanks to RockSteady, Zpalmtree, ExtraHash, and Bearybullish for their contributions toward the making of this cryptocurrency, I appreciate y’alls help.
Name of your TRTL fork:
Tax
Github link for your code:
What is special or new about your network?
High Fee, Low Emission -> No inflation but mining is still “worth it”. New hash algorithm to assure satoshis vision will be realised Scalable Blockchain (coming soon)

Community Advertisements

Good news everyone! If you’re mining TurtleCoin with us at Cryptonote.Social, you’re now also (solo) mining Aeon through the wonders of “merged mining”. For now if you’re lucky enough to mine an Aeon block, you get to collect the full reward. Make sure you specify an e-mail address in your miner config so you’ll be notified of any Aeon blocks you mine.
The NibbleClassic Faucet has launched! Come and have a little nibble!

Shoutouts & Thanks

anon – shoutout to kev and beary for being awesome

sups – A thank you to everyone

soregums – Kudos to rashedmyt for lite blocks feature

morpheus – Merry Christmas to One and All! May your holiday be filled with warmth and cheer, and all the best of luck and good fortune for 2019.

rogerrobers – Shoutout zpalmtree :3

sups – Massive thank you to KSupremex#5671 for putting together the “How to” videos for NibbleClassic! Absolute star!

japakar – Best. Discord. Ever. Best. Coin. Ever.

gobble – Merry Christmas, eat, play, drink hard. Enjoy your time with mates and family. Crank up the volume on them Christmas Carols and enjoy the smiles on your kids faces. Build a snowman if you’re in the cold, but if you’re in the heat, put ya boardies on and bomb dive the pool, drink them beers, spread the cheers! (ps. eat bunnies not turkeys)

See you all next year 😀 – rock

Categories
Feature Story

Proof-of-Work Algorithm Change

The core development team has observed the fact that the network hash rate has climbed substantially over the last few weeks. Luckily, the hashrate has remained rather decentralized and balanced over the large number of pools that the community operates. However, the significant increase in hashrate has made it more difficult for the project to meet one of its core goals. To remain mineable for everyone. After careful consideration, we believe it’s once again time to perform a soft fork to a new Proof-of-Work (PoW) algorithm.

Such a change is not taken lightly, and we’ve given considerable thought to where the project should go in this regard. We’ve seen a few networks using CryptoNight Soft Shell variants with success. Although considerable work has been done to support Soft Shell pools and the like we’re not quite ready to move over to Soft Shell just yet.

You’re probably asking yourself, “So what’s the plan?”

Supported PoW Algorithms

If you’ve read through the TurtleCoin fork guide, forked TurtleCoin yourself, or have read through the code, the next few statements are going to come to no surprise to you.

We like to collect PoW algorithms like they are pogs. The more you have, the more fun you’re having with your friends.

Keeping this in mind, TurtleCoin currently has built-in support for no less than twelve (12) different PoW algorithms. Yes, you read that right, twelve.

They are, in no particular order:

  • CryptoNight v0
  • CryptoNight v1
  • CryptoNight v2
  • CryptoNight Lite v0
  • CryptoNight Lite v1
  • CryptoNight Lite v2
  • CryptoNight Turtle v0
  • CryptoNight Turtle v1
  • CryptoNight Turtle v2
  • CryptoNight Soft Shell v0
  • CryptoNight Soft Shell v1
  • CryptoNight Soft Shell v2

Woah, Wait, What’s CryptoNight Turtle?

To put it mildly, CryptoNight Turtle is a tweak to the standard CryptoNight family that significantly increases the speed at which hashes can be computed. This is accomplished in two ways.

Iteration Change

We’re dropping the iteration count in fourth as well. From 524,288 iterations to 131,072 iterations. This will result in the base hashrate increasing for every miner.

Scratch Pad Change

We’re dropping the scratch pad size in fouth. From 1MB (CN Lite) to 256KB. Why? because we want to make everything go faster and when we’re dropping the iteration count, we need to make sure that the scratchpad is used effectively to prevent some interesting attack vectors.

Faster? Doesn’t That Mean an Even Higher Network Hash Rate?

It sure does! There’s a reason for what appears to be chaos and we’re just getting to the good part.

TurtleCoin Major Block v5

As you’re likely thinking, “This doesn’t sound better, no, no, these guys are crazy…”

Block Major version 5 is planned to activate CryptoNight Turtle v2. That’s right, variant 2. Those of you following other projects using v2 likely know that there is a performance penalty incurred by variant 2 hashing. We’ve personally seen a performance hit of anywhere from 12% to 45% on some hardware. We think that’s unacceptable; however, we do like the premise behind variant 2.

To balance the performance impact of variant 2 out, we’re going to hash faster with CryptoNight Turtle. The two effectively cancel each other out and we gain the benefit of soft forking away from potential ASIC/FPGA/etc. miners. As a matter of fact, you’ll see a hashrate increase on your miner(s) because of the move to CryptoNight Turtle.

The move to variant 2 will help strengthen TurtleCoin’s ASIC/FPGA resistance. Future PoW changes will also be designed to further strengthen the project’s ASIC/FPGA resistance to try to keep TurtleCoin mineable for everyone.

Doing Your Part

We’re confident that we have the core code ready for the soft fork to CN Turtle tentatively scheduled for block 1,200,000. The main pool software has been updated to support it as well as the underlying Node.js Hashing Library and the Node.js Cryptonote Library have been updated.

There’s still work to be done and any community assistance is, as always, appreciated.

Test Network

We’ll need help from the community to test this algorithm change to try to ensure that everything goes as smoothly as possible. The more people that are involved, the easier it is to spot issues.

Miner Support

We’re working on adding support to common miner projects to support this change including:

Miner software needs support added before we can fully test the update pool deployments. If you want to give us a hand in getting that support completed, join us on discord at http://chat.turtlecoin.lol in #dev_general.

Alternative Pools

The pool software changes need ported to the other pools that the community service operators use on a daily basis. If you are familiar with one of the following pools, your assistance is appreciated in this regard.

Upgrades

As always, be mindful of TurtleCoin core releases. Watch or star the main TurtleCoin repo to help stay abreast of changes and updates. Join Discord and read the #announcements on a regular basis. Or, sign up for the @news role by typing *news in the chat and be alerted whenever a new announcement is posted in Discord.

Make sure you’re ready for the soft fork as early as possible.

As with any soft fork, if and when the fork occurs, prior versions of the software will no longer be compatible with the rest of the network after soft fork completion.

What’s Next?

We’re already putting thought into the next PoW algorithm change after v5. Those discussions will be a different article, so as always, stay tuned.

Categories
Feature Story

What The Fork?!

Fork this, Fork that, Fork yer mom, Fork you too. Let’s get to the bottom of this whole forking deal and talk about what the fork is going on!

There are a few types of forks, and the goal here is to give you a basic understanding of all of them so nobody has to be afraid of what they mean. If you have questions, or want to talk more, you can catch us in Discord.

Type 1, the “GitHub Fork”

We use a website to hold our code called GitHub. GitHub lets nerds from across the globe collaborate on the same project at the same time, with all of the changes recorded to see where something broke along the way.

It really helps us when people click the star and follow us, but it super helps us when you fork the code and make a pull request
It really helps us when people click the star and follow us, but it super helps us when you fork the code and make a pull request

In order to write code for TurtleCoin, you have to fork the code on GitHub, which just means clicking a button that says “Fork” in the top right corner. This just puts a copy of the code in your workspace so you can work on your part of the project without interfering with others, and then when you are done, you create a “pull request” which asks the main TurtleCoin project to pull in your changes. That’s why it’s called a pull request.

These are all of the TRTL Forks
These are all of the TRTL Forks

This can also be someone creating their own fork of TurtleCoin which is something we support, and have written guides how to do. Forking our code is not stealing anything, and it even helps us rank higher on CoinGecko, which measures the amount of developer attention a certain project receives. Our license specifically allows for other projects to use the TurtleCoin code as a base for their projects and learning, as long as they give others the same chance. This helps the community learn about how the project works, and helps us spot bugs and errors before they become bigger problems by having more eyes on the prize.

Type 2, the “Soft Fork”

This is the second most common type of fork. We commonly refer to this as a fork upgrade. When you’ve been gone a while, and you come back and notice your old software wont go past a certain block on the network anymore, you’ve likely missed a soft fork upgrade. A quick update of the daemon will get you back on the network and your funds are right where you left them.

So what’s a soft upgrade do anyway? Well, it’s hard to come up with a real life comparison, but to put it in simple terms, the entire network has to agree on how blocks are produced, and when we create an upgrade to the format of how blocks are made or validated, then we have to place a bookmark in the chain that says “ok, people should be upgraded by the next 3 weeks, so anything after that needs to be running the next version to keep going”.

This does not create two chains, and this does not create free money. The old chain branches off and stops, the main chain keeps moving.

Future updates to the software will enable us to drop old clients from the network that haven’t updated, and give them a gentle message urging them to upgrade their software to regain access.

IS YOUR FORK HARD OR NOT
IS YOUR FORK HARD OR NOT

Type 3, the “Hard Fork”

This type of fork is least common, and like in the Bitcoin and Ethereum world, is a result of a section of the network deciding to change the rules and the network_id and new seed nodes to create their own network signature and branch off from the main chain.

This type of hard fork is called a hard fork because the software has to be hard-coded to accept the new changes, which would consist of adding new seed nodes, removing old ones, and assigning a new network ID and so on.

THIS KID KNOWS THEIR SHIT
THIS KID KNOWS THEIR SHIT

This creates two chains that continue independently of each other, but does not necessarily give you double the coins, as the demand for the secondary currency doesn’t magically appear overnight.

4th Place, Honorable Mention, the “Network Fork”

These happen all the time, and they are always resolved automatically by the network, behind the scenes. When you see anything about “Resolved” on your daemon, that means a network fork was detected and resolved.

What this means is that two miners reached the conclusion to the same block at roughly the same time and momentarily, the network allowed both chains to continue while the rest of the network decides which one grows longer over the next few blocks. This is nothing to worry about and is what an orphan blocks is.

This is almost always because people are adding hash power to the network in bursts when the difficulty is low. It causes the network to spit out blocks quicker than normal, and raises the chances of two pools hitting the same result at the same time.

Image result for haha stupid fucking bcash forkers you fucking rubes i cant believe you thought that would work meme latest