We continue to introduce you to Bytecoin development process. In our previous article, "Our Approach to Cryptocurrency Development", we covered the task management and development methodologies that we utilize. Today's article provides an in-depth overview of our testing process.
To recap, we rely on a mix of test-driven development (TDD) and extreme programming (XP). The main idea of XP is to create code in small batches. It allows thinking lean and efficient while avoiding excessively complicated solutions and over-design. For Bytecoin team this approach is aligned with the Test First paradigm. It implies that before producing a line of code, we create a test for it.
This is a guest post by Ray Patterson
Read the first part here.
Crossmating: The Altcoin Boom
By the mid-summer of the year 2013, more than a hundred altcoins were up and running, with almost half of them appeared in the latest couple of months. Should we mention that all those 'newbies' were LItecoin forks and utilized scrypt? Another trend of the season was an upstart Proof-of-Stake from PPcoin, so scrypt+PoS combo could be called 'standard alt-coin-beginner package'.
Such (quantitative) popularity of scrypt and exponential growth of Bitcoin complexity led to a simple thought: scrypt-ASICs will appear as soon as they are profitable. Despite the fact that giant November bubble (when Bitcoin was rated up to $1200) was far from beginning to balloon, the search for the new PoW function started again...
In Bytecoin 1.0.5 release we have introduced network-wide real-time transaction synchronization that allows every Bytecoin node to have the same unconfirmed transactions list (transaction pool). Any node will instantly synchronize with all nodes it is connected to, i.e. it will receive their transaction pools upon connection. This is yet another step towards building a user-friendly, broad ecosystem for Bytecoin.
To clear any confusion - we've planned to release network-wide real-time transaction synchronization in version 1.0.6 but rescheduled it for an earlier date. You can find out more about changes in the roadmap on the Bytecoin Roadmap page.
In the previous post I wrote about general direction of business development in the 21st century, and touched the subject of tools it would require. I am going to elaborate on the case from that post and tell you how can production and delivery of the 'customized' flakes be organized.
Let us have a look at the principal scheme of custom flakes business based on smart contracts. In the simplest case there are three actors entering contractual relations.
This is a guest post by Ray Patterson
Before Bitcoin: Hashcash & Moderately Hard, Memory-bound Functions
The Proof-of-work concept appeared for the first time in the paper "Pricing via Processing or Combatting Junk Mail" in 1993. Despite the fact that authors never used this notion in the article itself (it is 6 years before it appears), we are going to name it this way (or PoW).
So, what was the Idea proposed by Cynthia Dwork and Moni Naor in their paper?..
This Saturday, on the 4th of July, two important events happen for the Bytecoin Team. Despite the fact that not all Bytecoin team members are U.S. citizens, we will give proper respect to this country and the day this country became Independent. Another important event is that Bytecoin will be 3 years old.
We wanted to summarize the three-year-long development of Bytecoin, but summarizing is 20th centuryish. Our product belongs to the 21st, so we are going to look forward, and instead of talking about the past we will talk about the future.
Recently we've shown you an overview of Bytecoin development process which puts testing as a corner stone. During a testing process we sometimes face bugs: some of them are very simple and take not more than a few minutes to fix, but there are also a category of bugs that are very hard to find and reproduce. During Bytecoin 1.0.3 development we've faced one of these bugs that almost stopped our work for a week.
While developing Bytecoin Wallet for OS X we've faced a bug in pthread library condition variable implementation. This bug can't be called nothing else but pesky. Pthread is one of the cornerstones of multithread programming and used in almost every OS X application that uses multithreads, including gcc, clang, java and boost. Due to this bug - user can lose a vital piece of data that is placed in the memory. For instance, some applications are storing transaction amounts in the memory and in certain circumstances this bug can lead to the data corruption and therefore some info regarding the transaction amount is going to be lost...
Recent Blog Posts
Diamond provenance protection, asset trading, land title registry, passport issuance, smart contracts, currency... you n ...
I have a phone, and I have no idea how it actually works despite the fact that people, like me, created it. I know that ...
Financial experts put enormous effort into making their work look like rocket science. It pays off by keeping their club ...
On July 4, the fourth anniversay of the project, the Bytecoin team introduces Bytecoin v.2.0.0. This release marks a maj ...
On April, 11, a new version of Bytecoin was released. From now on, the RPC Wallet is able to use Fusion Transactions and ...
On the 18th of March, the Bytecoin Team presents the updated Roadmap. The new version contains the Bytecoin Platform dev ...