Categories
Feature Story

Oh shit, I think it’s dead

For 27 minutes the TurtleCoin blockchain was dead on the table. We shouted at it, poked it with sticks, it was muerto.. Difficulty went from a healthy 2 Billion-ish area to 1, not 1 Billion, but 1, a single digit.

What went wrong? What does this mean?

First, you’re reading this because we’re back online and working. Rest assured everything is fine. We were down for less than half an hour and stayed in touch with services the entire way. Had this gone any worse, you’d be reading this story from the back of a milk carton.

The difficulty with difficulty

Difficulty is the part of mining that makes sure that whether there’s 1 person mining, or 100 million people mining, that blocks stay difficult enough for a miner to solve so that we crack one every 30 seconds. Sometimes it can be 15 seconds, sometimes it can be 45, but as long as it averages 30 seconds over a few day’s worth of blocks, everything is fine.

Our difficulty algorithm is LWMA2, by Zawy12. This algorithm is suitable for networks of our size to keep our block difficulty smooth of spikes in the graph. It uses a moving average based on the blocks that came before the current one being mined to keep a constant adjustment of this difficulty factor so that no matter how many miners join us, all blocks come out as close to 30 seconds as possible.

Normally our difficulty algorithm works just fine, however during fork upgrades, especially ones that will radically change our hashrate, we have to make a best guess ahead of time of where we’ll be before, during and after fork hashrate wise. In this case, our test scenarios told us the difficulty adjustment we chose was good, but as with all things, running in production was a different story.

You can see the actual shit hitting the fan right here.

7:51 PM We first knew something was up, the first 11 blocks on the new algorithm came immediately, and difficulty immediately dropped to 1.

7:56 PM We had formed a plan and had an upgrade in the works when we realized what had happened. At this time we notified in #announcements on discord that there was a momentary delay and to stay tuned for a patch. Major exchanges and block producers were also notified.

Only a single exchange responded to our advisory. Their response time was 3 minutes.

8:03 PM We began tweeting the situation live after a mad scramble to find the login credentials. Not a single complaint was received during the delay, which was absolutely wonderful.

8:12 PM A patch is submitted and being built by CI on github to produce binaries. The source is released as 0.18.1 for others to build on their own while CI builds.

Wait a minute… did he merge without waiting for CI/CD tests to finish?!

8:14 PM Patch seems to work, we begin passing it on via Twitter and Discord to users. To bring some light to the situation we adopt the hashtag #BorkedFork

8:15 PM At this time we’ve received no complaints and only a single exchange responded to our message, which they responded in 3 minutes (Thanks TO, you’re a real one). We hold our breath and wait for the block producing (read: really big) pools to pass enough blocks to make it official.

8:33 PM Things have been going smooth enough at this point that we feel we can say we’ve revived the network and things are currently humming along at a blistering 159MH.

Well done everyone. You all helped each other to relay the correct information regarding the patch and we all made it through this small stumble.

This likely won’t be the last time we’ll go through this but a lesson learned is a lesson earned and we won’t be letting go of what we were taught tonight for quite some time. Thanks everyone who participated, especially IBMCD for providing the patch like a champ in just minutes. Bravo, all of you.

TurtleCoin®  Core Team

Categories
Feature Story

Reminder to upgrade your software tonight!

With the upgrade taking effect in less than 24 hours, we felt it was important to remind everyone to upgrade your software before you turn into a pumpkin!

Before we begin, go here and start the appropriate download for your system: http://latest.turtlecoin.lol

Who?

Chukwa, it’s the name of our new hashing algorithm. To make it brief, it’s Argon2id based, loves CPU miners, and is the first significant departure away from the Cryptonote family of hashing algorithms. Read more here >>

What?

This upgrade mainly concerns people who run mining pools, web wallets, asset exchanges, and other services that rely on the core software for their connection to the network to provide services to you. If you’re just a user, you’ll still want to upgrade, but just be sure to do it before the next time you want to access your funds.

When?

As with all of our network upgrades, you can track them with our handy countdown on the official block explorer. Click here >>

We do these types of upgrades several times per year as part of our commitment to a fair mining environment.

Where?

You can always get the latest software you should be running at this URL: latest.turtlecoin.lol

Why?

We believe mining should be fair for as many people as possible, and that means no ASIC on the network until everyone can have that advantage, which means there needs to be more than a handful of competitive ASIC manufacturers and it needs to be a decision the entire community comes to before we can allow it.

Thanks for reading and being a part of this evolution of the TRTL Network 🙂 if you started downloading the new software when you started reading this, it should be done now.

We thank you for choosing TurtleCoin for your services!

Categories
Feature Story

TurtleCoin Roles and Achievements

know your roles!

Colored chat names, so hot right now

You may have noticed in our weekly roundups that we have a new section for recognizing those who’ve gained new roles in the past week. We get asked a lot about the colored names and ‘roles’ in our Discord chat, and whether people just want the colored name or actively want to contribute to the community, we’re always glad to see someone wanting to involve themselves with TurtleCoin.

This article will be an explainer for each role and what it means to us, and the way to gain them. If you have questions, just ask us!

Let’s start at the top of the list, and work our way down, from what an admin sees when they log in to TRTL discord.

Green names, some say they aren’t even real people

Green names are Ninja, these are founders of TurtleCoin. This is a closed role, there is no way to earn it, it doesn’t even have any extra privileges other than having a green name. There are a few people with a green name, however this is the most chat-inactive role group on the server.

The first troop of goons to step foot off the Mayflower

Footclan is the role that was created when we were just a few weeks old. TurtleCoin started out with a bang, and we worked around the clock for about a month before taking a break. A few of us took vacations with our families and on our return two weeks later, we found the community still ready for more. We made a decision to move forward with the project in earnest that day, and to remember those who were present and helping, we created the footclan role. Footclan, like ninja is a role that is just a color, and has no functional role advantages on the server.

The exalted pink names. Rumor has it they control the media.

Developer is the first of the roles we’ll discuss that can be attained by anybody, and has some merit attached to it. The one requirement to be a developer is to have code you contributed merged into our repositories. Typos don’t count necessarily but if you submit a patch or a fix for something, or if you maintain your own project in our GitHub organization, you get the hot pink Developer role. This role has functions on the server such as managing messages and access to dev-bridge feeds to IRC for other organizations (IPFS, Monero, currently). A good way to get this role is to check out our Good First Issues which are easy, low hanging fruit objectives.

Do you have a liberal arts degree? We’ve got a job for you!

Some folks want to help with stuff like writing guides, fixing typos, creating branding material. We needed a way to acknowledge people who share non-code contributions with us, and this seemed like a good way to do it. Obviously this one is pretty easy to attain, so to maintain some degree of exclusivity, we require that you register an account and Pull Request your contribution yourself. We’ll help, we just want you to be a well-rounded contributor, otherwise we’d have to give this role to every pedant who points out a spelling error, and that’s no fun!

Nobody knows about this role

Core contributor is a Developer who has had code merged into our core software. If you complete a Good First Issue on the core repo, you’ll get Core Contributor and Developer all in one shot. Nobody really asks for this role so we just apply it to people we know have contributed code to the core software as we notice them. No clue why. Also just a color role.

These are the music makers

Service Operator is a role given to people who operate public nodes, pools, web-wallets, tipbot, exchange, and any other application that integrates with our daemon and has an interest in knowing when things are screwy on the network. This role came out of a need of a way to address all of our service providers when we had patch fixes, network advisories, or critical consensus updates. This role gives you access to a private water-cooler type room that gets used about once a month when a large service optimizes their wallets and fills the TX pool with 1000 fusion transactions.

This role is cursed

PR Guerilla originally was a role we gave to people who made heroic acts of recruitment. The first person to get this role, GT3000, recruited over 500 people in a single week. These were active users that flooded the chat due to his efforts, many of them stayed and became contributors. This role is cursed, however, because every person who’s ever achieved it has disappeared immediately after.

Guest Dev is the title for well known core developers of other well known networks. This role was created so TRTL Developers can easily identify core contributors from other well known networks and talk shop with them. If you’re from a TRTL sized network and you’re reasonably active in our chat, you probably already have this role.

Educators have written classes or course materials for the TurtleEDU platform. What’s TurtleEDU you ask? It’s an e-learning platform we made to turn crypto-newbies into knowledgeable users, and take curious knowledgeable users and turn them into contributing developers. If you’d like to be an educator, we’d currently love to have someone write a course on interacting with REST API’s via a class on interacting with Wallet-API. (hint hint, aspiring educators!)

PSSST! Hey kid, you wanna buy a Nintendo? *opens coat*

These guys are basically moderators of the #Merchandise channel in Discord, where anybody can list an item when the bot is working that describes an item and a price in TRTL to sell it for. We’ve got a weekly column for this in the weekly roundup. Technically one could gain this role, but with the new merchandise bot it may be useless as the bot handles most of this stuff. This role came from an era when the merchandise channel was just for posting a single listing per line and not using it as a conversational channel. As things go, nobody, and I mean none of you fuckers can follow a single damn rule and it quickly devolved into conversations so we just opened it up and told people to pin their listings instead. When it works, the merchandise bot is a great thing to have.

Crash Test Turtles

This is a fearless brigade of self-appointed masochists who test all of our software before it is released. To give yourself this role, and a spiffy yellow name, type *tester in the chat and you’ll receive pings when we need testers for new software releases. This is what the report that testers fill out looks like [link]

To gain access to the EDU chat channels, type *student in the chat. This is for people who are in the TurtleEDU program that wish to receive updates about it. The TurtleEDU program is an e-learning platform we created to help people who are new to cryptoasset networks get more acquainted with their surroundings.

Datacenter nerds are the most socially disjointed kind of nerd you’ll ever meet.

These are people who can add and approve and delete or revoke records to the TRTL DNS system. If you’ve ever seen someone with a .trtl domain name, someone with the DNS role approved it. If you want to know more about .trtl domains, check this article out.

Stay away from these people.

We have a disciplinary area called Exile, and if you’ve seen someone with this role, they’re probably in Exile, with a jumpsuit on as evidenced by their name probably being something like Inmate #558929. These are people who you will have to walk down to #exile in the chat to speak to, because although they can read, they cannot reply anywhere else. You can shout at the inmates through the intercom by typing @exiled and whatever your message is. This role has so few privileges, you’re basically in timeout and only people who love you can come see you.

FNG’s

We use a bot some of you know that applies levels and points when people are active in chat. We use it to help identify new or inactive people to get you involved in the community. When you first enter the chat, you’re an Egg. When you’ve said hello or anything really, you become a hatchling. If you stick around even longer after that your name will turn green and you become a Turtle. After that, sky’s the limit, some say there are level upgrades all the way to 100…

These people want to know everything as it happens.

News is a self applied role you can get by typing *news in the chat. This will give you an alert every Tuesday when we post the weekly roundup. This role was Farhod’s idea, who wanted a better way to know when we’ve posted the weekly update.

You shouldn’t want this role.

We label a certain type of user as ‘spoonfed’, and though it could happen for various reasons, functionally it means you cannot post in dev-general, and it flags you as someone who’s likely to pester helpful devs. If you have this role, you should feel shame. People who get this role typically pop in our chats asking a seemingly basic question, then when someone helpful assists them, they latch onto your leg and won’t leave you the fuck alone because they don’t have any interest in learning anything, they just want someone to do it for them. Helping these types doesn’t help them, and it doesn’t help you, and it aids in all of our own abuse. If these people annoy you, stop hitting yourself. You’ll quickly notice every person with this role has a half-broken TRTL-forked shitcoin network that they’re eagerly waiting to dump on unsuspecting miners as soon as it hits market.

This is a role that we just added recently, it has something to do with basically being a moderator for our karaoke bot, Grandmaster Riddim Bot. Not sure what it does exactly as a role, but the bot required it to acknowledge admin commands or something.

Categories
Feature Story

The Teacup Files

There’s a person named Teacup on Discord who makes these delightful TurtleCoin pics we like to use in the chat and in the roundup. A day or two ago Teacup gave us this collection of pics amassed from an illustrious tenure as resident meme artist, so I figured it’d be best to put it somewhere that gets the respect it deserves, right here on our blog!

Also, imgur.com were being some busters about hosting this collection, so we’re hosting it right here. Please don’t melt this server downloading them all, and don’t forget to tip Teacup.

Thanks Teacup 😀 We hope to do a part 2 some day -Rock

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
Feature Story

Ton Chan TurtleCoin Mobile Wallet Interview

One of the things that has been most requested of us is a mobile wallet. In the past we’ve always pointed mobile users to our web wallets, but a brave turtle came forward and put together a cool android wallet and we’re pretty stoked about that, so here’s an interview with the creator!


Image result for ton chan
A wild Ton Chan appears!

RockSteady: Zpalm, thanks for taking the time to do this interview. You’re the first person to come up with a mobile wallet- with us being a year in, why do you suppose nobody else came up with anything in this time? There must have been significant roadblocks.

Zpalm: There are a couple of things that make a mobile wallet tricky. The first one is that you need quite a lot of cryptography code. ed25519 libraries are pretty common, however, they normally don’t expose the primatives we need. Implementing this is not too tricky, but it’s quite a bit of work. I ported the C code to C# for turtlecoin-cs, and it was quite a pain to do. I didn’t need to do this for the mobile wallet, since I’m using the turtlecoin-utils library. This library takes the core C++ code, and compiles it to JavaScript. Since the mobile-wallet is written in typescript/javascript, that was a big chunk of code I didn’t have to write. You also need the core cryptographic functions for the wallet to operate, like creating key images, generating ring signatures, and so on. Secondly, actually managing a wallets operation is a little tricky. The sync process is relatively simple, once you understand how to piece together the different cryptographic operations, but there are quite a few pitfalls which can make you miss blocks when syncing, or miss transactions. I had already learnt a lot on how to design a wallet backend when I rewrote the C++ wallet backend, so porting that over to typescript wasn’t too much of a chore. The majority of the code of the mobile wallet is in that external backend library – the frontend is pretty easy to do, just a bit slow to get everything looking nice.

RockSteady: TonChan is an interesting name, where did that come from?

Zpalm: There’s a nice quote, ‘There are only two hard things in Computer Science: cache invalidation and naming things.’ Finding a cool name which is somehow based on turtles was a bit tricky, so I nabbed the name of a cute Turtle, called Ton or Ton-chan from an anime, K-ON!

RockSteady: What features have you seen others talk about? Anything you think is interesting enough to implement?

Zpalm: One of the things I really like and I think some other people have commented on is how easy the transfer process is. If the payee is already in your address book, it’s one tap along with entering the amount to send a transaction. I plan on making this even faster – I’m currently working on implementing support for QR codes which have an amount+name attached – this will allow you to scan one QR code, and it will add the user to your address book, and pop you right on the confirmation screen. This feature is also supported by TurtlePay, so I think that can help with adoption – It’s easy to use TurtleCoin to accept payments, and it’s easy for users to pay with as well. Other features that have been requested is address book management, fusion transactions, dark mode, and more. Most of them I had already planned to add (and haven’t got round to yet). The dark mode one was interesting – I thought it would be pretty trivial to implement, but it ended up being a bit of a pain getting the theme to apply everywhere when changed. This led to a redesign of the theming process, and now it’s would be pretty easy to add support for user created themes. I’m not sure how many people would make use of a feature like that, maybe we’ll see it added.

RockSteady: Great answer, can you tell us a bit about what the wallet can do currently, and what you have on the development roadmap?

Zpalm: The wallet is perfectly functional as a daily use wallet. It can send transactions, receive transactions, and view past transactions. Not that much more a wallet needs! However, there are a number of other features to make the experience nice to use. One feature I’ve really been liking, and I think other people have been too is the notifications. It’s a very simple feature, but it’s quite nice to get a notification whenever you get sent a transaction. The roadmap right now is adding a few more features like fusion transactions and fixing up a few bugs have been experiencing, then iOS support.

RockSteady: Id also like to talk a bit about development, whats the app written in? What was that process like, if you had to explain it to a non developer?

Zpalm: There’s a few components of the app. There’s the frontend, that’s the UI, and so on, that the users see. That’s written in JavaScript, using React Native – A framework to write apps for both iOS and Android using JavaScript. Then there’s the backend, which manages the syncing process, sending transactions, managing balance, and so on. That’s written in Typescript, which if you’re not aware, is basically JavaScript, with optional typechecking. Helps you avoid some easily fixable bugs, like using variables that aren’t defined. Finally, there’s a high performance section written in C++. The wallet syncing process is quite CPU intensive, and sadly, the JavaScript cryptography code is slow as molasses – It can process something like 1 block a second. This was one of the big roadblocks when implementing the wallet. What I ended up doing, is we take the block data in JavaScript/Typescript land, then pass it through to the Java ‘bridge’. Most android apps are written in Java, and this is where the real work in React Native goes on. From there, we can pass to the JNI (Java Native Interface), which lets us call C or C++ code. We process the block in C++, then pass the results back to Java, then finally back to JavaScript/Typescript. This adds a little bit of overhead, but ends up being a lot faster than processing in JavaScript – It’s something like 15-50 blocks a second, depending on your phones power. Still quite slow compared to desktop wallets, but hey, that’s one of the downsides of using a mobile.

Image result for ton chan

RockSteady: What was that process like, if you had to explain it to a non developer?

Zpalm: Writing the UI was pretty frustrating – Trying to get everything to line up nicely, and all coloured in a nice looking way. Since you’re lining things up by pixels, or percentages, instead of dragging and dropping, there’s a lot of changing a value, reloading, and seeing how it looks. I found sometimes I’d have spent 3 hours and only written 50 lines of code for a screen I was designing. I’m very pleased with the final outcome, but it is sloooow to get there. Writing the backend was business as usual, since it’s not locked to just mobiles, I could test this all out on a desktop, rather than an android emulator, which makes developing a lot faster. Since I had done most of this work in the C++ already, it was pretty trivial, just copying code over and converting into the typescript equivalent Writing the high performance code was painful. Since you were working in three different languages, it was a pain to figure out where in the process you had gone wrong. If you ever did anything wrong, you pretty much always got an app crash, rather than a helpful error. The documentation on how to use the API is pretty sparse, so there’s a lot of googling to figure out how to do something pretty simple. After a lot of scraping logs, finally got it doing the right thing. I was stumped for a few hours by accidentaly swapping two parameters around

RockSteady: Given the popularity of the android app, do you think there’s interest in an iOS app, and what hurdles do you think someone might face in implementing it on iOS? Is there anything they could learn from your journey with the Android app?

Zpalm: Certainly, one of the most requested things is an iOS app. Since the wallet uses React Native, which is cross platform, there’s not that much that needs doing for iOS support. The main thing we need is to implement the high performance C++ code in iOS as well – since the Java/JNI stuff is android only. Since iOS uses objective C, which is a superset of C (All C code is valid Objective C code), this shouldn’t be too tricky – but I might have to change from C++ to C, which could be a pain. We’ll also need to make sure that everything looks good, and fits with the iOS theme – they have a few differences, and we want to try and make the wallet feel like a native iOS app, if possible. There’s a few things which I’m not sure what the iOS pattern is – like ‘Toast’ notifications on Android (Those little messages which pop up in a bubble at the bottom of your screen) that we’ll need to add.

RockSteady: How many people have downloaded TonChan so far? Have there been any interesting bugs reported? What is the best way someone can contribute to the project?

Zpalm: Google play is telling me 104, it takes a little time to update but that’s already a decent amount for something released only a week or two ago. The most interesting bug is probably the wallet sync slowing down when you swapped tabs – I think I fixed that one, but it was quite puzzling at first. The best way to contribute is to leave an issue on the github if you see something not working, or something that you think could be improved, which as much info as possible. Of course, if you’re a developer yourself, you could try and fix it too!

RockSteady: Tell me a bit about TonChan’s relationship w/ TurtlePay, I heard there’s something in the pipeline regarding fees

Zpalm: TurtlePay and TonChan work very well together in my opinion, TurtlePay making it easy to request payments, and TonChan making it easy to send payments. We’re going to waive any fees (other than the mandatory network fee) for TurtlePay transactions to help guide adoption.

RockSteady: That’s a pretty solid description, what advice do you want to give the person who ports it to iOS?

Zpalm: I hope iOS gives better errors when native code breaks than Android! I forgot to mention this earlier, but background syncing is another big hurdle for the wallet. When using React Native, there’s no way to just run our app forever, and sync in the background, unfortunately. Both Android and iOS allow us to fire an ‘event’ every 15 minutes, which we use to wake up the wallet and sync it. On Android, this event seems to be able to last as long as we like, so we run the sync for 14 minutes, then go back to sleep to wait for the next event. On iOS however, this event can only run for 30 seconds, which is obviously not very long. I don’t know if there’s any way around this, I couldn’t find any when I was searching. iOS also schedules the events with a proprietry algorithm – so they may end up never running, or just running once a day. This is going to probably be the biggest pain point to get around when porting to iOS.

RockSteady: As with most TRTL projects, we want to reach out to the community to help with things and give folks a chance to put their mark on the app, what are some “good first issues” for someone wanting to get started contributing to TonChan? Are there any features you’d like to see that you’re looking for collaborators on? What toolchain stuffs and helpful bits would someone need to follow in your foot steps and tinker around?

Zpalm: There are a couple of ‘Good first issues’ listed on the Github – https://github.com/turtlecoin/turtlecoin-mobile-wallet/issues – but frankly most of the things there aren’t too tricky to add. One not listed there but that would be very helpful is improving the setup guide. It’s kinda confusing to get the android studio setup done correctly, and an emulator running, which as you mention, would be needed to test things. I don’t think there are any huge features which we’d need collaboration on yet, aside from iOS support. If you’re wanting to implement something and are having issues, give me a ping and I’ll be happy to help you through them

RockSteady: What has it been like developing with React Native? For any developers out there considering it over something more conventional , what advice or forewarning would you give? How does it contrast from web apps written in React?

Zpalm: It certainly makes writing the UI nice. The react model of state always traveling down can be a little tricky to get used to, but once you’ve got the hang of it then it can be pretty fast to develop in. You can also use the majority of nodejs modules, however, you are likely to need a project like https://github.com/tradle/rn-nodeify/ to get them to work correctly, the setup is a little hacky. You will find some modules work perfectly in node, but a certain feature doesn’t work in react-native, which can be a little frustrating.

I would also advice against the react-navigation library – TonChan is using this to navigate between different screen, and it works OK, but some simple things, like going back to a specific screen are done in a very confusing way. I’ve heard good things about the wix library to replace this. If you need fine control over the Android OS, like running background/foreground services, then react-native is probably not for you. While you can write Java code and call it from react-native, it’s quite cumbersome and hard to integrate with the rest of your app. I would have liked to be able to launch a foreground service, but there’s currently no react-native modules which allow this, short of doing it yourself. Then, all your application code that runs in that service would have to be in Java, not JavaScript. Finally, all react-native code runs on a single thread, as that’s how JavaScript works. If you have high performance code, this may block the UI from rendering. So, pros include cross platform support, fast development, lots of libraries available, cons include somewhat hacky setup, single threaded execution, and not as fine grained integration with the OS.

RockSteady: Would you ever consider pure Java or Kotlin in the future?

Zpalm: Kotlin, maybe. I’ve written very little Java, but the small experience I had with it was poor, simple things were very verbose, and it looked no fun at all to develop in.

RockSteady: What was the process like boarding a crypto wallet app in the Google Play store? I know it’s been a bit of an uphill battle for people to get their wallet apps in the iOS app store. Can you walk us through the process of how you went from “now I have an app” to “now i have an app on the app store” and what all it entails being an “android developer”Also, please detail the costs and wait times involved.

Zpalm: It was really easy, to be honest. I just had to sign up for an account, send them $25, add some images to display in the store, and upload the apk. I think it was less than 24 hours from uploading my apk to it being live on the store.

Zpalm, thanks for the internet and thanks even more for the mobile wallet. It’s great seeing it grow as a project and I can’t wait to see who puts together the next great PR for it 😀

Categories
Feature Story

FunkyPenguin’s Turtle Pool Secrets

A lot of you out there have questions about how pools work and what goes into running a successful one. Today we’re checking out an interview with FunkyPenguin who runs probably one of the coolest setups I’ve seen so far with all of the pools I’ve seen. Maybe I’m just a nerd, but I have a big appreciation for the way he’s doing things.

You’re gonna love this one!

art by Teacup

RockSteady
Thanks again for agreeing to the interview. The purpose of this interview is for us to highlight smaller pools that have unique things about them. Giving exposure to smaller pools is important in diversifying the hashrate. I hope today to hear about you, your pool, your history in mining and what a user might find unique about your pool.

funkypenguin 

Cool :smiley:

RockSteady

Your pool is a cool one, and I think the miners as well as developers will appreciate the unique qualities to it. You first came on my radar with some of the interesting infrastructure work you were doing behind the scenes. I’d like to get in to that soon, but first, tell us how you got involved in TurtleCoin, and what led to you running a pool.
(I’ve documented this here: https://www.funkypenguin.co.nz/opinion/what-is-turtlecoin-and-why-do-i-care/), but here’s the off-the-cuff version
I was opportunistically looking for coins to mine after the Monero Cryptonight v7 fork, so I spent some time on cryptunit.com. Every so often, I’d see “TurtleCoin”, and laugh at what a silly name it was, and how ridiculous the crypto space had become.
Somewhere (maybe Reddit) I saw the headline for the BlockZero (Kevin Rose) podcast featuring TurtleCoin, and the name triggered some brand recognition. The level of respect that Kevin had for the project, and the way “community” was highlighted, changed my initial skeptical opinion, and I jumped into the Discord
I felt that I wanted to be more than another opportunistic miner, and that a “baby” cryptocurrency was a good place to start learning. (There was no NZ mining pool)
I’d already spent 6-8 months building my Geek’s Cookbook (a collection of self-hosted apps running within Docker Swarm), and wondered whether I could build a TurtleCoin mining pool. I figured I should start with a testnet, so I started asking some questions in #dev_general, and @SoreGums pointed me in the right direction. I ended up submitting a PR for a testnet Docker instance of the TurtleCoin daemon which could be used to create a testnet in total isolation from mainnet.
Having built a testnet, I started working on the mining pool, learning about wallet/daemon/redis/pool, and how they interrelate. I wrote up the Docker Swarm design (a bit outdated now).
There were some interesting challenges re how the pool components talked to each other, some of which lined up very well with the “one-process-per-container” model of Docker. I sort of fell into it from there, started mining in my pool, discovered that I could advertise in #mining , posted my pool to r/TRTL a few times, and enjoyed the process of mining “together” with other geeky crypto enthusiasts

RockSteady

It’s great that you’ve documented your journey the whole way, and as a microservice nerd in my own life, I feel a personal respect for what you’ve done.
funkypenguin
(To be honest, I also want to profit from crypto, and I figured I’d leverage my systems experience to build pools to amass some coins, rather than strictly mining-and-selling-and-hodling)
You’ve got a cool frontend on your pool, and as I remember, you were one of the first to have the new-style interface. What are some of the unique qualities of your pool that would be interesting to a miner looking to diversify their hashrate some?
I polled my miners on this question, asking “what features does a miner really care about?”. The best response was from @slashatello, who said “miners care about.. BLOCKS”. I was interested in the telegram/email notifications from https://github.com/dvandal/cryptonote-nodejs-pool, which remain my favourite feature. Here’s an example:
That looks cool, break it down for me- what’s going on in that pic?

funkypenguin

11:57 : The pool restarted (I’m running turtlecoind-ha, that’s another story), my rig connected
12:04 : The same again (this happens when the daemon gets stuck, it sometimes takes a few goes to restore stability)
12:07 : One of the miners finds a block. Yay! Now we wait 20 min to confirm it’s not an orphan
12:11 : Yes, daemon restarts again
12:29 : Block is not orphaned, now is the first time (based on these notifications) we see what our effort was (43%). Unlike the original turtle-pool software, lower % is better, so we “found” this block in 43% of the time we’d statistically expect to (we were lucky)
<by this time, the wallet has received the block reward. Redis calculates how much each miner is due, and payments are prepared>
12:31 : The pool sends the miners their portions of the block reward (minus my 0.0987654321% fee), everyone is happy
(the fee is a funny story actually – when I first setup the pool, I looked at the list of pools and saw someone else’s pool listed as 0.0987..%. I thought it was a clever attention-grabbing move, so I adopted it for myself. I think I read later that it was just a math bug!)

RockSteady

That’s pretty funny, actually! Thanks for giving us the play by play. That’s a pretty intricate setup. So you’ve made a pool, and you’ve written guides and Dockerfiles for us, what don’t you do?! You’re awesome! What do you have planned for the future, and what are you interested in learning right now?

funkypenguin

Thank you :smiley: Well, this daemon restarting thing is a bit of a PITA, and the original platform I ran my swarm on was heavily contended at times, so I’ve just finished migrating the pool to a Google Kubernetes Engine (GKE) cluster. I still have the occasional daemon issue (as evidenced above), but we seem to recover from a stalled daemon with a few quick restarts.
I overspeced the GKE cluster when I built it (I’m only using 22% of my resources for Turtle/Moneytips pools), so I’m currently playing with autoscaling the cluster, as well as using a “tainted” nodepool running (cheap) pre-emptive node instances for doing CPU-heaving stuff like syncing new coins blockchains. The fact that they’re pre-emptive means that Google could turn them off at any time, but the GKE engine would just spin me up a new one in a few min, and for the purposes of an initial blockchain sync, I don’t need to maintain any sort of availability
So I’m enjoying learning more about the world of Kubernetes / Terraform. I’m also continuing to build the Geek’s Cookbook community, the Discord gets quite busy at times, and there’s now enough geeks on board that I don’t end up answer every question myself, which is great to see.
I’ve dabbled with “livestreaming”/”livecoding” – last night I had an audience of 4 geeks watching me configure Lidarr with NZBHydra – thrilling stuff!
Oh, and my new darling, Prometheus/Grafana – I’ve been building on the “swarmprom” stack , adding prometheus exporters for nvidia GPU stats, Emby, Nginx, etc

funkypenguin 

I’m planning on doing Geek’s Cookbook Vol II – The Kubernetes Edition, although how I combine this all into the same content structure is YTBD.
One of the challenges with either Swarm or Kubernetes is that it’s very hard to have the original source IP of the miner visible to your pool, because of all the layers of load balancing and NAT that applied. This means that you can no longer ban bad/misconfigured miners by IP address (because you don’t have their IP address). I haven’t found a failsafe solution for this yet, but I have an open bounty for providing a way to ban miners based on TRTL address, rather than IP address. I also had to add a workaround to the pool software to bypass the IP-address-check which you’d normally have to pass, in order to enable/disable email notifications.

RockSteady

If you had to make an appeal to miners out there wanting to spread out the hashrate some, what would be an advantage of choosing your pool?

funkypenguin

While I originally tried to “corner the market” on an NZ / AU pool, truth is that the latency to NZ has no impact on blocks found, in real world observation. 90% of our pool hash (@Slash-atello) is from the US. So I’d appeal to TRTL miners (worldwide) who are also into microservices / homelab / self-hosting (and LEGO, high-fiving @bruceleon) to not just mine with us but come and “geek out” with us in Discord at http://chat.funkypenguin.co.nz

RockSteady

I think I’ve got everything we need, is there anything you wanted to add that I may have missed?

funkypenguin

Probably yet (yet another) acknowledgement that the “secret sauce” in TRTL, which stands out from other coins, is the focus on community and fun. Thanks for welcoming me :smiley:
RockSteady 
Thanks for being a part of this experience!
Categories
Feature Story

Interview w/ SoreGums from TRTL Core Team

A while back we used to do an interview series called Out Of The Shell. This was a series of interviews done by an actual journalist, Gigantomachia, who would pull aside members of the community for an article, and when it was over the person being interviewed would pick another member to be next. The series was great, but sometimes life gets in the way, and this interview with SoreGums sat on the shelf for a few months.

I never want good content to go to waste, and I’m sure you guys would love to read it, so here’s the interview with a member of our core team, SoreGums.

This will be the last “Out of the Shell”, but it is far from the last interview, enjoy!

How’d you first learn about TurtleCoin?

I first learned about it via the Kevin Rose podcast BlockZero: #003 – TurtleCoin – The next Dogecoin?.

What was it about the coin that drew you in. Why are you involved in TurtleCoin as opposed to the other coins out there?

I listened to that episode during the 1st week of Feb 2018, then joined Discord. For the first 48hrs checked out everything and sat in #help and assisted others finding their way. Poked around the dev channels and ended up with contributor access to the Meta repo to help with issues there and got a dev-role tag as well. This level/kind of openness in projects is uncommon. I was also involved in discussions and liked the atmosphere and am now here for good. Other projects in this field pretty much have an agenda, and the dev teams don’t encourage outside involvement. I don’t like writing code; I can, I’m not great at it (as measured by speed and regurgitating things from memory – like on a whiteboard). My skill set is figuring things out (know how to find what is needed, be it tools, utilities, platforms, etc. and then put them together) and providing a way forward. I also like writing documentation. I very much enjoy supporting teams rather than being the star or leader.

Also, TurtleCoin is very much a currency application which runs on the TRTL Network. This distinction is relatively new (June 2018), however, has been in the roadmap from the start, see the Karai milestone. The appeal here then for me is getting in amongst it at a level that requires a fundamental understanding of how this all works. Primarily a learning opportunity, I am a believer in continued learning/development is essential for avoiding depression and being “happy” (to put it in simple terms).

How long have you been interested in crypto?

First got into it April 2011, bought 3x AMD GPUs to start mining Bitcoin. It seemed like it would be a thing. Would have been great if I believed that with conviction, haha.

So you gave up early?

About HODL. Always been following. Been moving around a lot, electricity vs reward at the time etc. I’m a member of the “if only” club of 2017 (BTC price surge etc.). I traded in 40BTC for an Amazon gift card to buy eBooks etc. Still worth it, however, in hindsight, 40*20k is a large number, that would have been nice. Now, 7yrs later it’s visible traditional central banking will be impacted. Blockchain genie is free, an energy-efficient application of it will need to be figured out long-term though.

Have you been involved in any other crypto project before TurtleCoin?

Not like with TurtleCoin. On BitcoinTalk, I was pretty vocal in the Coino Coin project, which died due to the core dev team being two people and real life got in the way. It was also a fast block project, ran into problems with that and the size of the blockchain database. It is funny, Dash, Digibyte, Coino all started around the same time. The core idea of fast blocks and what that enables is why I am so interested in TurtleCoin.

I’m as involved in TurtleCoin as I am because of how the project works and the people attracted to this way of working. I’ve been able to engage in discussions and contribute some value, that is accepted. Then the reason this is a thing is that the project has a focus on the platform as a tool, rather than a way to get rich quick (funny how incentives dictate actions/behaviour). Which leads to the people, we seem to be evenly distributed across the globe teaming up as it were on common end-goal objectives. Everyone I’m actively involved with comes at the work via the collaborative, open, straightforward, humble, mindset.

You’ve mentioned being interested in fast block times a few times. What about fast block times interests you and what do they enable?

Everyday transactions, the only way any cryptocurrency is going to become “the way everyday transactions are conducted” is if they are instant or close enough. In Australia/New Zealand they have self-service checkouts at the supermarket, NZ has self-service petrol pumps, a financial transaction needs occur to complete the sale as it were. So fast block times matter, no one is going to adopt a new way that requires them to stand around for more than 5secs before they can go. Thus immediate responses from the network are essential (fundamentally there doesn’t need to be fast block times, however as a building block it is a logical place to work from/at). Bitcoin is getting instant transactions via technology like lighting network, which briefly means people between the purchaser and seller guarantee amounts are moving from purchaser to seller instead of the network directly (over-simplified, general idea).

So practically how all this works is like this. A transaction broadcast to the network is the equivalent of authorisation in the current visa/card networks. This authorisation is saying “these funds have been allocated FROM this account TO this other account”, allocated means on the way to the destination, (privacy coins, of which TurtleCoin is one, only the sender and receiver know the FROM and TO parties) and is instant. In the visa/card networks at this point the sale is, and everyone moves on, the purchaser has their items, and the seller is confident they’ll receive the funds/the transaction will settle (funds show up in the clear in their account, arrived at destination), eventually as guaranteed by legal contracts etc. In the blockchain world, this is a little bit tricky as there is no guarantee by anyone that these broadcasted transactions will ever be settled/confirmed.

Settlement in blockchain tech comes in the form of included transactions in blocks, fast block times mean these blocks, and thus transactions being confirmed happens fast. Each time a block is produced from when the transaction was first included in the blockchain is an additional confirmation that the funds moved from one account to another. For TurtleCoin the target time for block production is 30 seconds. This means within 20 minutes a seller can be confident they will have the funds (technically they have the funds within 30 seconds). Contrast this to the Visa/card networks the seller needs to be cautious because the funds could be taken back up 90 days or even more depending on the card network and agreements etc., for various reasons. It is challenging in the blockchain world for a purchaser to take back the amounts they have sent as the confirmations continue to accumulate, there is no authority to turn to mediate on their behalf.

That is a super long answer however it is not often explained in detail for everyday people to make the connection between block times and how Visa/card networks operate. TRTL Network has attracted a lot of regular people due to how the community and project members interact with each other, so perhaps someone will find the above details useful.

Having code that enables fast block times isn’t the only factor that would lead to actual real-world adoption of TurtleCoin. What do you think needs to happen beyond the code for this to take off?

Utility. It is the answer to all blockchain adoption. TurtleCoin has it as a premise, however, in practice, it is still in the infancy stages. Once the TRTL Network Spec is defined, it’ll allow anyone to write any code that speaks to all nodes in the network. Said another way, the current TurtleCoind daemon can be replaced by some system that works perfectly for the people writing the code, and they will be able to interact with the TRTL Network just fine.

As for specific things that could promote real-world adoption, supplement all transactions that happen via cash with TurtleCoin transactions. It is going to take business relationships of the community to make that happen. One thing that will help any of those conversations is the access to reliable APIs, so the barrier to entry is as low as possible. I am talking about web wallets or platforms that act like web wallets. Just so happens that one such platform is under development by Fexra (GitHub/Discord). Fexra is building out a web wallet platform that enables merchants to integrate with the TRTL Network without having run, own and operate independent infrastructure and at least in the beginning, and this is needed. As the TRTL Network project progresses and standard tools are developed and released under the “Turtle Pay” heading, being able to find TurtleCoin and then be offering it the next day as a way to exchange value, this is what encourages adoption: ease of use; security; etc.

What do you do IRL? Career? Student?

I’ve been in IT since leaving high school in 2002. My predominant occupation is taking care of my son; he’s 1yr old. So am blazing my path doing different things here and there, IT related.

What are you doing in Vietnam?

I’m supporting a tourism company to attract foreigners, via native English website. They are a successful Vietnamese domestic tourism company.

What’s your favorite pizza?

Italian, from Italy; a bit of sauce, some fresh cheese, something green. Loved visiting there a few years ago, missed it immediately when we crossed the border to France. French delis are amazing, eating out of a deli all the time while possible, would not be ideal.

Any particular projects or initiatives you’re working on right now where you’re seeking community input?

I’m an analyst and details focused type of person that can also zoom out to verify the big picture as well. As such infrastructure and breaking down how things work has me focused on developing the project Krang. It is a Blockchain Automation Testing Suite, which means standing up infrastructure automatically and running tests on it, measuring results and creating reports. Said in plain language, turning on multiple computers, installing all the needed software for the blockchain network to function and checking how things run and writing about/reporting on it.

Krang will work for TRTL Network first, then move onto other blockchain projects. There are a bunch of goals that get covered by the above being real. It means we can automatically test releases before pushing them out. We can check for regressions in performance or even benchmark to figure out where we could make performance improvements. It enables us to test the theoretical parts with ease. It allows us to test different network attack scenarios with ease and assist in developing mitigations.

It is considered a massive project regarding what it enables. There will be a fair amount of code created to package all the standard tools and even more documentation written to allow others to use Krang or further extend it. The actual work to be done though is standard practice in organisations that prefer measured/ correct results, rather than guesses.

So if the above appeals to you, ping me on Discord. One other fellow in Australia is also involved and enjoys working on the infrastructure puzzle.

Now that TurtleCoin has been listed with CoinMarketCap what do you think that increased exposure might mean for TRTL.

I think it mostly signals a validation of the work being done. The group of contributors to the project is expanding each week. For them to be seeing that the project is getting positive attention will help with the positive feedback loop. For the users of the network and future users, it is also a positive signal.

There is a dark side to CoinMarketCap in that their timing on information updates has been shown to be self-serving and would encourage people to seek alternative data points instead of relying solely on CMC. One such site is CoinGecko.com, since TurtleCoin’s inception, the project has climbed up the developer ranking there and now (2018-09) TRTL is ranked 26. Slow and steady is the TurtleCoin motto, we’re here for the long term. The openness of TurtleCoin in terms of accepting contributions is great and wide, the project might be viewed at first glance as being a bit of a lark with its meme coin start, however, it is serious about the technology and the utility it is seeking to enable.

One of the projects primary objectives is to educate anyone interested in blockchain technology, either as a user or as a developer. As such the more exposure we get the more people we’ll be able to impact and give people a real handle on what this technology is all about so they can feel empowered and be an active participant in this new world. Like how the internet has connected everybody on the planet, it was the realm of the nerds when it started, blockchain technology needs to have some of the nerd transformed and made accessible for everyone.

Also…When you’re not working or hanging out in the TurtleCoin discord, what do you like to do for fun?

Go to the movies, went to see Deadpool 2 the other week. The first one was best, the second was good fun and entertaining as well, it is based on a comic series though, and well, it’s a bit hard to “out original” the original.

Travelling, reading, learning, visiting family, going out for the day, playing chess with my wife are some other things.

Categories
Feature Story

CN Turtle Will Steal Your Girl

With all the commotion about the next fork upgrade, and the debut of our new hashing algo, CN Turtle, I wanted to make sure everyone has the run down about the fork upgrade before it arrives in a few weeks. Today, I got with IBurnMyCD who has been the lead on this algo and got a short interview about what is CN Turtle and what does it mean to me, both as a miner and a user.

If you’re a miner, a user, or a fan of fine rewritable optical media, I think you’ll enjoy this article. It was a fun interview. If you have any questions, just click this link and join us in the chat, we’re all here waiting on you.

We’re all gonna make it

RockSteady

@iburnmycd thanks for taking the time to do this interview. I wanted to get with you to discuss the upcoming fork upgrade in simple terms so our users know what’s in store for them.
First, what is the deal with this fork upgrade and why are we doing this?

iburnmycd

Thanks for having me @RockSteady (TRTL). It’s always an honour to help let the community that isn’t in the Discord all the time to catch the latest and greatest news. A while back, the project made the commitment to the community that the project would do its best to remain mineable for as many users as possible. Part of holding to that commitment is investigating, testing, implementing, and upgrading the Proof of Work used by the project. We’ve done this with experimenting with CN Soft Shell that a few forks of TurtleCoin have implemented and again with CN Turtle that we’re forking to at block 1,200,000. This upgrade is designed to help keep the project mineable for everyone by reducing the resource requirements necessary to mine. As a result, everyone will see higher hash rates which also means that there is a higher chance of solving a block as each miner will be producing hashes noticeably faster. However, there will be more hashes required (on average) to find a block. Our hope is that in the larger scope of things, this works out to be a win for the the littlest miners.

RockSteady

You mentioned our miners will be mining faster, what does that translate to for someone who has 100H/s of CPU power or another person who has 100H/s of GPU power?

iburnmycd

Based on testing, we estimate that miners will see on average an increase of anywhere between 3.0x and 4.0x for CPUs and 2.0x to 3.0x on GPUs. Personally, on my hardware I’ve observed a 3.8x increase on my CPU (AMD 1950x) and 2.8x on my GPU (AMD Vega64). However, not every CPU and GPU performs the same so the increase may be more or less than what we’ve observed. Variations in drivers, the mining software used, etc may result in higher or lower increases; however, what we can all agree on is that miners will see an increase in hashrate, no matter how small, due to the lower resource requirement and iteration count. On average a miner who was seeing 100H/s on CPU may see approximately 350H/s and a miner seeing 100H/s on GPU may see approximately 250H/s after the upgrade takes effect.

RockSteady

That’s great news. Let’s say you’re a miner, what do you need to do to be ready? Are most major miners already ready to work? And what if you’re just a user, do you have to do anything?

iburnmycd

That depends on how you mine 🙂 If you’re a solo miner and you use the miner binary distributed with the project, you’ll need only upgrade to v0.12.0 once it’s released. The miner software will automatically switch to the new PoW algorithm when it’s time. If you’re mining with a pool, you’ll need to contact the pool operator or check their website to verify that they have upgraded their pool software for the upgrade. If they haven’t, you might want to give them a gentle reminder that they need to do so. In addition, you’ll want to make sure that you have the latest release of your favorite mining software. For instance, we’ve released the necessary updates for xmr-stak via trtl-stak (https://github.com/turtlecoin/trtl-stak/releases/latest) that has the updated algorithm available as cryptonight_turtle. In the coming weeks, we’ll submit a pull request to the main xmr-stak repo to support the change. We’re still working the kinks out of the automatic algorithm switch in the package but in the event we don’t work that in, a miner need only manually switch the algorithm, delete their CPU & GPU configs, and let the software do the rest. We’re still working on adding support into XMRig and hope to have that completed before the network upgrade. We’ve also received information that SRBminer has also implemented the algorithm. Users of that mining software will need to switch the algorithm over when it’s time. Everyone, miners or not, need to keep their eyes out for the v0.12.0 release of the project. Service Operators, home users, pool operators, and other services will need to upgrade to v0.12.0 well ahead of block 1,200,000 to be ready for the upgrade. For most users, this upgrade will be like any other upgrade that we’ve done where you drop the new version in and you’re good to go.

RockSteady

Whats the best way to see how long we have before the upgrade takes effect?

iburnmycd

The quickest and fastest way is to head on over to the official block explorer at https://explorer.turtlecoin.lol/ In the Network Stats area, you’ll see an area that says Next Network Upgrade In (est.) with the approximate number of days, hours, minutes, and seconds until the next network upgrade.

RockSteady

Thanks for taking a second to tell us about the fork upgrade, is there anything else you wanted to add?

iburnmycd

If you’re reading this and you are not on Discord, you should be. We’d love to have you. It’s the only way to get a real feel for the project and meet all the different personalities. If you want to help out, there’s plenty of different areas to check out from development, education, marketing, international groups, and everything in between. Discord is the best place to meet other cryptocurrency developers who share a passion for the technology and their projects. Besides, where else can you learn about codename Chukwa?

RockSteady

:smiley: Thanks
Categories
Feature Story

Mining Turtles in Spanish – Interview with CryptoHispano of Bytecanarias

Some time ago we began a series of interviews with pool owners who operated mining pools with unique flair about them, or who had ventured off the beaten path in what they offer their miners. The goal was to help decentralize the network’s mining power, which we actually accomplished. We still want to interview our service operators though, both because it’s fun and it helps you guys get to know those in your local community.

Speaking of local communities, today we have a special interview for those of you in our Spanish speaking community- an interview with CryptoHispano who operates a pool for our Spanish speaking miners. We’re very thankful to get to speak with them and happy to introduce you!

I went hunting for a good turtle mining pic and found this in the memes channel 😀 Minecraft turtle and rainborg by WarlordN1k from the Discord

RockSteady

Thank you for taking the time to do this interview with the community, CryptoHispano. Your pool is special to us because you are one of the few who cater to a regional community, in this case, the Spanish-speaking community. How did you get started in mining, and if you don’t mind, tell us a bit about the Spanish-speaking mining community you’ve created.

Cryptohispano.net

Hi, thank you for this opportunity to explain about the Cryptohispano project. I started with a friend riding a rig and good investigating a bit of how it worked all that rig, the riser and all those strange words that I hear in this world. We started mining Eth until we reached the goal of two, in that period of learning, I met people for chats and with some I made good friendships in particular with Jorge who was a Dev from a company and commented why not set up our popio pool. I told him that I would help him as much as I can since I’m not a programmer and I do not know how to program. We said we are going to open a pool for the Hispanic community and from there cryptohispano.net was born a pool that is born to bring the cryptos closer to people who have problems with the language barrier, as I Carlos (bytecanarias) do not speak English nor what I write and I saw that it cost a lot to get information, that they explained how this was going, where it started, etc. I told Jorge we had the pool but everything will be in Spanish, to reach all those people who do not understand English very much or even do not master anything. So he got down to work and we set up a BCN pool with the bad luck that the ASISC went into BCN in the weekend and we had to leave or die, one of the members of the channel, a restless Raul, was always saying look at this model look at the other and in one of those named Turtlecoin, because we started looking at it and we lived with many people behind working on it and responding in time to doubts, Jorge said that these people are serious on GitHub all well ordered , explained step by step, a very clean code “This coin will be very good” so we lasso for the turtles.
After a month, due to work issues, Jorge left the project and I saw myself alone, so I started to investigate and ask and bother all those who were in the channel, in the end I found people who helped me with all the problems and I am very grateful that there are people who want to help. I help in what I can to all within my limitations since not knowing about programming I can only help with what I have learned. I also want to tell since I have the opportunity to ask me why the pool has the 1% fee and there are pools that are at 0% is something that I also wonder, because with the work that costs to keep the pool in operation, the rental of hosting and the hours of dedication that this requires I do not understand either. Thank the entire community that supports us and those who continue to do so. We will continue to strive to be a great community.

RockSteady 

Cryptohispano, you’ve been a very good gift to the Spanish-speaking miner community. What do you think TurtleCoin can do to engage the international community more effectively?

Cryptohispano.net 

Well, from my point of view I honestly would not know what to say, on the part of the miners, what I always hear them is that they would like the currency to rise or that there would be less suppley for it to rise in value more quickly. I think that for a coin to take value you need to use, understand both physical and online. For example, I accept crypts for the hiring of vps I think that if many were like this we would achieve that the cryptos had a real use and not of expectation.
What Turtlecoin could do or try is to find a way to use it so that it takes form and value. Supermarkets, neighborhood stores go looking for people who are willing to accept them like me.

RockSteady 

CryptoHispano, it has been a pleasure to interview you, and I hope our Spanish speakers will find a comfortable community mining with you!