01 CAELUM INTRODUCTION

SCOPE

With the creation of Blockchain technology in 2009, people all over the world are starting to use cryptocurrencies as an alternative form of payments and investments.

But this form of currency has a flaw – if the user can’t access the digital wallet where the currency is stored (because of death or loss of memory), then these assets will remain dormant and lost to anyone forever.

This in turn can lead to huge losses if a single person stores all of his assets in crypto wallets. Only recently, $137 Million in bitcoin has been locked forever due to keeping those bitcoins on an encrypted drive without anyone knowing the password. Currently no other autonomous and decentralized solution exists for making cryptocurrency assets inheritable (while still using them). Regarding solutions like password boxes, the master password still needs to be handed out to an inheritor (that could be forgotten) and the information needs to be made known to the inheritor in the first place.

The passing on of digital keys can also be done with the help of physical storage means e.g. a “paper key” or USB stick, but they are still vulnerable to theft. Additionally, centralisation plays a huge role in the asset storage process. From the crypto currency holders point of view, it doesn’t seem safe or viable to hand their valuable information on to a centralised service, that would be vulnerable to internal human resource misconduct - this is where blockchain steps in.

Blockchain and the decentralisation aspect of it is the perfect setting for an asset encryption and distribution storage service. This allows to encrypt, split and store information on multiple devices across the world thus ensuring that we, as a service provider, do not have access to the information the user wishes to encrypt (a completely decentralized service) and the threat of internal risks which come from human resources is mitigated completely.

A smart contract is a powerful tool if applied correctly. In our case we are using this technology to create a new service for those who wish to keep their assets safe, make them inheritable and remain anonymous (if they wish to) in the process. In addition, we have created a solution that deals with the inheritance access send-out in an automated way, by utilizing the “activity tracking” of the user through multiple web based integrations or the smart contract itself. Our solution requires only a one time setup of the service, if no additional fees/information need to be added to the inheritable “vault” and CLMP - short for ‘Caelum Project’, our native cryptocurrency  ticker - which allows the user to prolong the asset release timestamp for the smart contract.

ABSTRACT

During my quest for the perfect inheritable digital asset storage solution, I encountered several issues over the past 18 months of development.

Starting out as a basic QT wallet, we soon realized that this wouldn't suit our needs. Next, we moved on to Smart-Contracts, and after countless hours of developing, a basic solution was found. During my work at a previous successful project, I refined this technique by using Storj as a decentralized backend to store all the data. While I developed a fully working Alpha and Beta version of all these techniques combined, we faced another issue during the crypto boom in 2017; Crypto Kitties.

Crypto Kitties taught us that it doesn't take much to clog up the Ethereum network, forcing users to use higher gas fees to have their interactions processed faster. During the ATH in 2017, a single transaction could cost up to 8$. At least 3 smart-contract interactions are needed before a digital vault can be created, and configured to become inheritable. This illustrates how quickly transaction costs can add up.

While this was a step in the right direction, the above mentioned issue taught us that using congested networks like Ethereum for storage was a bad solution. Not only could it become expensive, it could potentially become unusable in terms of speed.

Taking some basic principles in mind, a new project was born that would combine the best of every needed aspect and bundle it in one package, Caelum.

02 UNDERSTANDING THE CAELUM ECOSYSTEM

To understand what Caelum is, we need to dissect our core application and understand each needed component’s usage that will make Caelum the ultimate digital asset storage platform.

Caelum, as a platform, needs to rely on the following components:

With these components in mind, we can start to explain how caelum will bring these components together, and how they will be used.

STABLE NETWORK

Keeping in mind that we need smart contracts to make our platform work, we start of by using the Ethereum source as foundation for our project. Even tough Ethereum itself wouldn’t comply to our specifications, many projects have been working on Ethereum, changing specifications, making changes, adapting their own versions.

One project that caught our attention on their work is Tomochain. Tomochain uses the Ethereum ‘Clique consensus’, commonly known as POA network. Starting from this entry point, they created and added the Proof-of-stake-voting consensus (PoSV), double validation, masternodes, and many more. Thanks to their work, Tomochain has become a near-zero fee, low latency and highly secured network that can handle over 2000 transactions per second.

Given all the above benefits, we decided to base our work on Tomochain for a stable network.

MILITARY GRADE ENCRYPTION

One of the most important aspects of file storage, certainly in the case of sensitive data, is the encryption.

Integrations require a high level of security - the aim is to set up PCI DSS level of security and get the appropriate certifications in place. PCI DSS is a commonly used certfcaton type by banks and other financial industries which require a strong auditing and PII (personally identifiable information) protection. Caelum will use the AES-256 algorithm to encode the credentials publicly on the blockchain. AES became effective as a federal government standard on May 26, 2002, after approval by the Secretary of Commerce.

Detailed information on the encryption/decryption process can be found in section “ENCRYPTION GUIDELINES

DECENTRALIZED FILE STORAGE

Caelum will base it’s storage solution on the open source IPFS protocol. IPFS stands for InterPlanetary File System. IPFS  is a protocol and network designed to create a content-addressable, peer-to-peer method of storing and sharing hypermedia in a distributed file system. Similar to a torrent, IPFS allows users to not only receive but host content. As opposed to a centrally located server IPFS is built around a decentralized system of user-operators who hold a portion of the overall data, creating a resilient system of file storage and sharing.

One of the major benefits of IPFS over classical storage, is that you can even host a complete website on the IPFS network without the need of an actual server. Shortly put, it’s an ideal, secure and well tested protocol to use as file storage for Caelum.

All files will be stored fully encrypted in a truly decentralized way.

A COUNCIL OF TRUSTED MEMBERS (MASTERNODES)

Since our goal is to provide decentralized file storage, we need a circle of trusted members who are willing to share storage space to host the encrypted file parts. First seen on Storj, the idea to shred an encrypted file in tiny bits and send them around across the network of nodes as storage solution.

Caelum will enhance this concept by shredding the encrypted file across our network of trusted members, also known as masternodes.

A masternode is a computer on a decentralized blockchain network  running 24 hours a day that keeps the network operating. It powers the blockchain network by processing transactions and signing blocks.

Masternodes help support the network by creating and signing blocks, providing faster transaction times, and decentralized operations. They utilize PoS (Proof of Stake) vs PoW (Proof of Work) consensus-building. Masternode operators are paid a reward (coins) as an incentive for their involved investment of coin-deposit, server setup, and continued operation.

HIGH SPECIFICATION HARDWARE

Since each masternode is community voted, it’s important for the masternode operator to ensure the best possible hardware specifications, together with a smooth server, high uptimes, and participation on community levels.

Our masternode list is limited to 150 candidates only to ensure the best quality.

To become a masternode, the operator most give a collateral of 50.000 CLMP to the network. Those funds will be locked until the operator decides to retire his node. Should the node operator fail in keeping his node on top of the list, he risks getting voted out, or even being slashed for delivering poor performance as masternode. In that case, the funds are locked for a certain amount of time, basically giving a penalty towards the operator.

Keeping all above factors in mind, masternode operators will be the links who make a solid chain to base our network on.

FAST SMART CONTRACTS

Knowing the structure of what our network will be build on, we can also provide 2 second validation times and near-zero fee transactions on our network. These aspects are necessary to form a fast, secure, and cheap file storage solution.

03 INITIAL DISTRIBUTION

 

Caelum’s initial distribution took place over the course of 1 year on our token based solution, CLM Token (CLM). CLM token was the first hybrid PoW/Masternode smart contract created on the Ethereum network. Throughout this year, users could mine CLM tokens and stake them in a masternode, generating passively CLM tokens. Mining/Masternode rewards started out at 90/10 and moved progressively towards 2/98 ratio.

 

At the time of our snapshot, 2.029.995 CLM tokens are locked inside the smart contract as masternodes, and 154.221 tokens are held by users in their wallets. Tokens locked in the masternode contract will get swapped on a 1:1 ratio, where tokens who remain in users wallets will get swapped at 5:1 ratio.

 

Swapped CLM tokens will become the first wave of CLMP token holders on our new chain.

 

The distribution of Caelum (CLMP) happens on multiple levels.

 

 

These methods have been carefully chosen to ensure a fair and even token distribution to all users, regardless of their entry level or funds level.

 

Besides the above explained CLM to CLMP token swap, there are two alternative ways to get CLMP tokens before our mainnet goes live.

 

 

AIRDROP FOR TOMO HOLDERS

 

All Tomochain token holders will receive an airdrop of CLMP tokens. The airdrop ratio is set at 10:1, meaning that for every 10 TOMO you hold, 1 CLMP will be credited to your TOMO wallet address. It’s important to note that only users who hold their own private keys will be guaranteed to claim the CLMP received. We do not control what exchanges or third party platforms will do with the airdropped tokens. More information on this subject can be found further down this paper at section “AIRDROP FOR TOMO HOLDERS”.

PUBLIC SALE

 

To support our development, a public sale will be held. More information on this subject can be found further down this paper at section “PUBLIC SALE”.

04 Economics

 

Caelum has several ways of rewarding CLMP holders.

 

MASTERNODES

 

Masternodes are full-nodes that create, verify and validate new blocks in Caelum’s platform.

Masternode Candidate: Any account can deposit 50K CLMP using the official on-chain governance d-app to become a Masternode Candidate. 50K CLMP deposit can earn staking rewards. A Candidate can resign, but the tokens will be locked for the next 30 days (1,296,000 blocks) after the resignation.

Becoming a Masternode: A Candidate becomes a Masternode when he/she belongs to top 150 most voted Candidates in each epoch. A Masternode can resign, but the tokens will be locked for the next 30 days after the resignation.

Reward: The reward a Masternode receives in each epoch is proportional to the number of signatures he/she signs.

 

 

 

TOKEN VOTING AND STAKING

 

Token voting: Token holders can vote for Masternode Candidates by sending CLMPto each Candidate specific voting address using the official governance d-app. Top 150 most voted Candidates will become Masternodes. Token holders can un-vote a Candidate, but the tokens will be locked for the next 48 hours (86,400 blocks) after the un-voting.

Staking: Masternode token deposits, and all tokens used to vote for Masternodes will enter staking program, and earn block rewards in each epoch, plus any fees. Tokens used to vote for Candidates who do not become Masternodes will not earn staking reward.

 

 

TOKEN MINING

 

Miners: Users who choose to use their hardware to mine tokens on the Caelum network. We choose to use the EIP918 0xBTC mining algorithm and award the submitter of a correct solution with CMT tokens. CMT stands for Caelum Mining Token. This is a token that lives on our blockchain and can be swapped against CLMP native tokens at all times.

 

 

REWARDS IMPLEMENTATION

 

Our rewards are based per epoch. Each epoch consists of 900 blocks, which will reward a total of 250 CLMP per epoch in the first two years.

250 CLMP will be divided to all the Masternodes proportional to the number of signatures they sign during the epoch. Afterward, the reward achieved by each Masternode will be divided into three portions.

The first portion of 40% called “Infrastructure Reward” goes to the Masternode.

The second portion of 50% called “Staking Reward” goes to the pool of all voters for that Masternode which is shared proportionally based on the token stake.

The last portion of 10% called “Mining Reward” goes to a special account controlled by the Mining Foundation, which is run by Caelum team initially. These are the rewards that can be swapped for by using CMT tokens generated by mining our contract. Each mined block consists of 10 CMT tokens reward.

 

 

05 CAELUM INCENTIVES

 

 

 

Candidate/Masternode incentives

Masternodes will receive a significant amount of block rewards, which likely exceeds the cost for running the infrastructure. However, Masternodes need to invest in Caelum by depositing at least 50K CLMP, and stake them for a long term. Furthermore, after depositing 50K CLMP to become a Candidate, if the account cannot become a Masternode (has less votes than Top 150 most voted Candidates), he/she will receive no rewards. Therefore, Candidates have an incentive to do as much as they can such as signaling their capability to support Caelum to get into top 150 most voted Candidates.

 

Voter incentives

 

Token voters should vote for Candidates who signal a strong support for Caelum because if the Candidate does not become a Masternode, voters will not receive any rewards. However, token voters should also vote for the less voted Candidates because the most voted Candidates will receive less reward per token stake comparatively.

 

Miner incentives

 

Caelum mining was brought in the project to allow users to accumulate tokens in a way they can control themselves. The general idea behind this is that not everyone is capable of buying tokens at exchanges, thus allowing them to participate in our product as well. The mining rewards should cover the mining costs depending on market value of CLMP.

 

06 DECENTRALIZED GOVERNANCE

 

 

Become a Masternode

Becoming a Masternode is an important signal of long-term support for Caelum platform. We would welcome other entities to become a Masternode, to show their support by helping the network, and gradually decentralize the platform governance.

 

Masternode Council

It is postulated that Caelum platform would later be coordinated by non-profit body such as Masternode Council (or Foundation) amongst many other decentralized bodies which receive a steady amount of income from the network, and act solely in the interest of the network.

 

Technical decision making

The technical decisions should be considered, debated, and decided upon by qualified experts based on the long-term interest of the network.

 

Economic decision making

The economic decisions such as the amount of block rewards, inflation rate, the division of block rewards might be based on the consensus of the majority of Masternodes (with their voters). Masternode Council could be one of the coordinating bodies for these activities using the official governance d-app.

07 TECHNICAL OVERVIEW

 

To get a copy of our Technical Whitepaper, please see https://docs.caelumfoundation.com/papers/technical.pdf

 

08 ENCRYPTION GUIDELINES

The database that will be accessible with the help of the Caelum platform is completely decentralized and utilizes data storing on multiple storage providers, thus eliminating the threat of a single point of access to any user’s data.

The Caelum platform does not know and does not intend to know about the contents of the vault. All files can additionally be encrypted by the users, encouraging the user to keep a security passphrase separately from the Caelum platform. This passphrase can be distributed physically, for example in the last will. When storing your credentials on the blockchain, we need to assume security first.

Caelum will use the AES-256 algorithm to encode the credentials publicly on the blockchain. AES became effective as a federal government standard on May 26, 2002, after approval by the Secretary of Commerce. AES is included in the ISO/IEC 18033-3 standard. AES is available in many different encryption packages, and is the first (and only) publicly accessible cipher approved by the National Security Agency (NSA) for top secret information when used in an NSA approved cryptographic module.

While AES encryption exists in multiple forms, Caelum will use AES-256-CBC, also known as Cipher Block Chaining (CBC). In CBC mode, each block of plaintext is XORed with the previous ciphertext block before being encrypted. This way, each ciphertext block depends on all plaintext blocks processed up to that point. To make each message unique, an initialization vector must be used in the first block.

 

Structure of AES-256-CBC methods:

If the first block has index 1, the mathematical formula for CBC encryption is

If the first block has index 1, the mathematical formula for CBC decryption is

Decrypting with the incorrect IV causes the first block of plaintext to be corrupt but subsequent plaintext blocks will be correct. This is because each block is XORed with the ciphertext of the previous block, not the plaintext, so one does not need to decrypt the previous block before using it as the IV for the decryption of the current one. This means that a plaintext block can be recovered from two adjacent blocks of ciphertext. As a consequence, decryption can be parallelized.

OpenSSL AES-256-CBC uses what’s known as salt, that Caelum names the Sharing key, in combination with the password to generate two values: the IV and the actual encryption key. The IV is derived from the password and the input data present in the file header, and calculated on the fy. The OpenSSL developers preferred to derive the IV from the password, just like the key (i.e. they produce from the password a long sequence, which they split in two, one half being the encryption key, the other half being the IV). The IV and the salt must be uniformly random as possible to prevent possible attacks on the publicly stored hashes.

Caelum ensures this uniform random by applying the OpenSSL standards of using the IV derived from the password, and the sharing key in randomly generated at each contract creation event. One of many options on how to make the drive inheritable consists of publicly storing this Sharing key in a separate contract. By using high security strength encryption processes, Caelum can create a sharing key derived from the user’s input.

It would still need data that only the beneficiary knows to decrypt this publicly stored hash value, that in terms hold the sharing key to unlock the storage drive with the user data inside. With the option to publish the sharing key encrypted on a separate contract, the key can be derived from up to 7 different parameters, fully selectable by the user.

Flowchart on how we will create a public hash to decrypt the sharing key:

Note that his function is only applicable if the contractor wishes to hide the existence of the drive from his relatives until the death trigger has been set. Security wise, this is considered the least stable solution.

09 TECHNOLOGY

The technology for Caelum will be based upon the open source of Tomochain.

Caelum will create a framework around their already well built, tested and very trusted protocol, thus ensuring that the best practices of the community are put to use. Caelum will ensure cooperation with the community regarding the network server software under GNU2 General Public License.

“Smart Vaults” are stored on the Caelum blockchain through IPFS via an ERC20 compliant smart contract. The Caelum service has wallet addresses stored of the appropriate entries on the smart contract, so the activity period can be tracked more precisely and improved even further by connecting API integrations for activity tracking, or by downloading mobile apps that perform this task in the background.

The upside of this approach is that the release is not being activated solely on the activity of the vault creators wallet, but instead is accumulated from different channels, eventually incorporating machine learning aspects to avoid false positive activity pings and removing the necessity to perform manual resets. The goal of the service is to become fully autonomous without the necessity for the user to spend any time whatsoever on thinking, whether the asset release timestamp has been reset.

The goal of the service is to provide the same peace of mind as a physical last will. An email with an inquiry about the whereabouts of the user is sent as the final fail-safe before the asset release is made. The email address of the vault creator is necessary for following scenarios - notification about the balance of the CLMP running low, periodical check on whether the email provided for the inheritor is still the same and fail-safe before the asset release

Caelum allows to have the verification with and without the user ID - users who will choose the former will be able to use third party services as the “activity tracking” channels. In the case of the latter option, there will only be 3 options for the resetting of the “inactivity period” (see section “SERVICE DESCRIPTION”). In both cases, the access to the “smart vault” will be directly passed on to the inheritors via the details that are specified by the original asset holder. The Caelum smart contract only transfers the access to the “smart vault” autonomously when the “inactivity period” has been reached. The access send out happens automatically to the predefined email address as set up by the vault creator.

10 SERVICE DESCRIPTION

Caelum is a subscription based SaaS platform that allows to store and encrypt information on the Caelum blockchain and make it inheritable (only accessible to the specified recipients). The user has to sign up for the service by at least providing the public wallet address and the contact email. The information the user wishes to pass on will be encrypted with the help of an AES-256 high strength security implementation and stored on Caelum blockchain.

The user will use the Caelum platform to put the information on the blockchain. Any type of files can be stored and can take up to 1 GB storage space. Caelum will utilize smart contracts that act as a mechanism for the information hand out to the inheritors. Smart contract will have the “inactivity period” and inheritor access information embedded into them.

In addition, a smart contract will hold CLMP that allows the resetting of the “inactivity period” that triggers the data send out to take place. The resetting is the process that requires the payment from the user. The “inactivity period” is a time frame that is set up by the user.

Caelum will offer another option for “inactivity period” resetting that will utilize integrations from other services that the user has already subscribed to (e.g. Facebook/Twitter activity, Gmail (automated emails), etc.). The only precondition for Caelum to be able to track the activity of the user is that the service has an open API that Caelum can utilize and integrate with.  

Alternatively, the contract can be setup to send the information on its own if no reset has been received within a user-settable time frame. An inheritor is assigned for every “vault” the user creates. In the scenario where the user wishes to use Caelum anonymously, the selected inheritor can access it after the original user’s smart contract has not reset the “inactivity period”. In this case, the inheritor will be informed using the information that will be stored on the smart contract by the original asset holder. The inheritor will receive a link to the smart contract to complete the identity verification in order to gain access to the vault.

“Smart Vaults” are stored on our blockchain, thus they are completely controlled by the person who set them up. Caelum will only provide the user interface to simplify the interaction with the “smart vault” and perform activity checks if opted-in by the vault creator.

11 AIRDROP FOR TOMO HOLDERS

To show our love and support towards the Tomochain community, Caelum has decided to include their loyal user base in our airdrop. The primary reason for this action is understanding that most of the early Tomochain users have the knowledge and equipment to support Caelum and improve our overall network stability.

A secondary reason, is our way of saying thank you towards the entire team of Tomochain for their hard work put into the open source cryptocurrency community.

To ensure a fair airdrop distribution, some conditions have been setup.

Once our mainnet launch timestamp is known, a snapshot will be made of all Tomochain holders exactly 2 weeks after our mainnet launches. The snapshot details will be made publicly available for the community to verify the integrity of our snapshot.

The airdrop to token holders will happen exactly 12 weeks after our mainnet launch to ensure market stability during our first weeks of launch.

Update

Masternode operators will have to drop us a message if they want to be included in the airdrop.

12 PUBLIC SALE

Caelum has been funded through out it’s one year of existence primarily by the developers and the community members.

It's needless to say that our native cryptocurrency, known as CLMP, would be used to fuel our digital asset storage solution. While Caelum Project was originally created with the mindset of not raising capital by ICO methods, this has proved to be far more difficult than we had assumed. In our experience, running a project from scratch with limited resources is viable. However, what's not viable is the ecosystem surrounding blockchain technology. It's ruled by greed, and this is mainly because of the way new projects ran for several months.

This is something that everyone offering services in the crypto sphere know, that many, if not nearly all, projects somehow raised significant capital, which creates a high demand for premium services.

During the crypto ATH, a “top 3” exchange listing could cost over 6 million USD. Even today, the prices asked for these premium services are mind blowing. Listing on a small cap exchange costs around 5000 USD. Medium cap exchange starts at 30.000 USD. If you want to list your project on a website to promote it, you'll be looking at around 2.500-10.000 USD per month. If you would like someone to review your code, or talk about it on social media, it will cost you around 5.000 USD per mention. Simply said, the entire ecosystem is biased towards the idea that everyone raised funds to support their projects.

Caelum project ran it's entire span fueled by the community input and donations. I can't express my gratitude towards everyone who's been with me since, and even before, day 1 of the project. Many people invested many hours and/or money to keep the project running. I'd choose my community before 1 million USD every single day. But sometimes, good will alone simply isn't good enough if you want to become a giant.

As concluded above, it's currently unsustainable to maintain a project solely on community donations. For these reasons, caelum will open up a public sale period where investors can decide to purchase presale tokens instead of mining them, or gaining the rewards from the masternode reward system. The raised funds will flow back to the project, and will be locked up in a multisignature wallet.

10% of the tokens (5.000.000 CLMP) will be available during the public sale at a fixed price of 0.16$* per token.

There is no minimum cap on the public sale, and the sale is not mandatory to acquire tokens. Everyone can participate in the project without purchasing tokens, by using any of our distribution methods as described in section “INITIAL DISTRIBUTION”. It would be a huge help if we received some investors during the public sale to support the project in the long term. The sale will run between two fixed dates, and will close when this data has passed, regardless of the funds generated.

To participate in the public sale, please visit https://presale.caelumfoundation.com

13 CAELUM CRYPTOCURRENCY DISTRIBUTION

* CMT Mining contract (10%) should be considered as available CLMP.

Presale: 10% of the total supply is reserved for our public sale period.

Airdrops: 9% is reserved for the TOMO airdrop. This amount is calculated based on the actual TOMO supply at the moment of our airdrop snapshot and can vary slightly.

CLM swap: The former token of Caelum Project that got swapped to CLMP

Foundation: A reserved amount to pay the future costs of Caelum and the team members.

Mining contract: CLMP reserved for mining through our EIP918 mineable contract. This amount should be considered as available supply since everyone can mine on our contract.

14 [APPENDIX] CAELUM PLATFORM LINKS

SERVICE

URL (*.caelumfoundation.com)

STATUS

block explorer

scan.testnet*

TESTNET

network statistics

stats.testnet*

TESTNET

masternode Dapp

master.testnet*

TESTNET

presale Dapp

presale*

MAIN

Mining Dapp

mining.testnet*

DEV

URL sections must be prepended to “caelumfoundation.com”. For example, to access the block explorer, use “scan.testnet.caelumfoundation.com”.

15 [APPENDIX] CAELUM TERMINOLOGY

* To be completed

16 MEDIA

17 LOGO GUIDELINES

Our logo consists of 3 colors. It’s important to use any of the 3 primary logo background colors when you use the Caelum logo. The correct HEX code is described below

The infill ‘code’ symbol, representing Caelum, can be in any color that matches your website theme. Please always use a contrasting color like demonstrated below.

When using larger surfaces, a combination of our 3 logos is advised. Examples:

                          

18 FINAL NOTE

Apart from the upgrade notice, I want to take a short moment to thank everyone who stood by my side since the start. Some of my community members have followed me since Digipulse, some have joined later. Some have left, and some are here to stay. Our small community is what inspires me to continue, it pushes me throughout the long days of coding, sitting behind the screen.

Thank you all for the contributions and donations, big or small, it helped the community to keep the pools funded, to pay the listing fees of our small exchanges, to pay the monthly server bills.

Thank you all, to keep each other motivated even when we witnessed a long, dark bear season in crypto. Thank you, for making each other laugh, to be supportive when someone was feeling down, for the jokes, and especially for all the GIF’s.

A special thanks goes out to Dan, ProCryptologist, Greg, FeintZebra and Christopher for the countless hours of hard work that you made behind the screens. Thank you for writing articles, writing the blackbook, making text corrections. Thank you, for never asking anything in return, thank you for believing in me.

Thank you everyone, for everything.