As a team, we always choose security and quality results over rushed decisions. Supporting BNKs as ERC20 tokens has always been our goal, however, we decided to dedicate more time to it and release a more advanced version of the Ethereum based smart contract. This more advanced and secure version was required because of one of our token special features: its holders receive a weekly net transactional revenue share. Hence, the smart contract source code includes the function of storing weekly commission funds. However, that is just one of the several reasons why BNK tokens are special among others in the market. So let’s take a closer look at BNK tokens and what makes them unique.
What does ERC20 stand for?
To explain the meaning behind the term ERC20, first, we have to revisit what Ethereum is. Ethereum is a blockchain-based decentralized platform featuring a smart contract functionality (smart contracts are essentially self-executing digital contracts with the terms of the agreement between parties being directly written in the lines of code, i. e. A smart contract for renting an apartment can be programed to provide you with a digital key only once you pay for the rent). Just like Bitcoin, it has its own native currency called Ether. However, the Ethereum blockchain is unique as it can also support multiple different tokens. The majority of the Ethereum tokens follow the ERC (Ethereum Request for Comment) protocols, the most widespread of which is ERC20.
ERC20 defines a standard constituted of a few mandatory functions that the smart contract needs to implement for the token to be considered an ERC20 token and to function on the Ethereum blockchain. Having a common standard makes it easy for cryptocurrency exchanges and wallets to support ERC20 tokens, as they only need to implement the ERC20 interface once and they will be able to support all Ethereum-based tokens, provided the tokens adhere to the standard. There is no need to write a custom code to support each new token. This makes ERC20 tokens highly popular among trading platforms and cryptocurrency wallets and is the reason why most of smart contracts nowadays are ERC20 compatible. However, the ERC20 standard is not flawless. Therefore, fairly recently, a new and improved Ethereum token standard, called ERC223, has taken off.
ERC20 vs ERC223: what’s the difference?
ERC223 supports each and every functionality of ERC20, meaning that services that work with ERC20 tokens will work correctly with ERC223 tokens as well. However, at the same time, the ERC223 standard solves the main drawback of the ERC20 standard. For example, it supports the function to reject transactions sent to random contract addresses, so your funds will not be lost if you sent a transaction to a wrong address by accident.
Before the ICO, we had already been working on the BNK source code but having recognised the benefits of the newer and more secure ERC223 standard, we decided to adapt it for BNK tokens. This ensure that our tokens will be supported in all services that bear ERC20 tokens and users will be able to enjoy the additional features offered by the standard as well.
The land of no forgiveness
A wide range of ICOs put out hundreds of new types of Ethereum-based tokens every year. A lot of these tokens look oddly familiar to each other and offer no functionality except that they enable a crowdsale. Additionally, they often cut corners when it comes to security. Our team, however, treats security as a top priority. To understand why security is so important when it comes to smart contracts and the complexity of securing the smart contract, it is first of all necessary to understand some core specifics of Ethereum smart contracts themselves.
Let’s begin with the contract creation process. In order to create a new smart contract, we first need to develop the source code. Once the source code is prepared, a transaction is sent out and the smart contract is assigned an address. That is how we get the smart contract that will allow our token to be fully functional on the Ethereum blockchain. However, this is where it gets complicated. Most (if not all) software projects require constant updates, enhancements, and bug fixes. Ethereum contracts are no exception, but there is currently no way to update an Ethereum contract without creating a new one – and creating a new one means that a new (different) address is assigned to it. So, the only solution remaining is to get the code right the first time. If any security bugs are left in the source code and a security flaw gets exploited, numerous issues can happen. For example, such an attack might be able to drain all funds from the contract. That is why so much development effort and time was required before launching the token contract.
On top of that, BNK smart contract is different from other token’s smart contracts and there is an important reason behind that. Every week, Bankera pays a weekly commission to BNK token holders – which is constituted of 20% of Bankera and SpectroCoin’s net transactional revenue. Once BNK ERC223 tokens are launched, BNK token holders will be able to claim their weekly commission via the Ethereum smart contract if they decide to withdraw their BNKs from their SpectroCoin wallets. This means that, unlike the majority of other ERC token contracts, the BNK smart contract has to be designed to store Ether. As the contract will contain the weekly commission funds, it is essential to ensure the security of the contract.
Banker’s source code bug bounty
To ensure there no security flaws are overlooked in the BNK smart contract, the contract was submitted for auditing by an external group of experts. The experts have concluded that no loopholes were found in the BNK smart contract. An additional private audit was performed by our own IT team to implement the improvements that were suggested during the initial audit.
Now, as this stage is already completed, the smart contract is available for public testing by our contributors. To test the BNK source code we are announcing a bug bounty. In order to participate in the bounty, simply visit our GitHub page where we have published our BNK token source code. If you find any potential risks or issues in the code, please report them to [email protected] or submit the issue on GitHub. Community members who identify and inform us about bugs will be eligible to receive monetary rewards.
What’s next for Bankera
We are also working on enabling the token withdrawal and deposit functionality at SpectroCoin. Thus, once the finalized version of the BNK source code is launched, BNK holders will be able to withdraw their tokens to ERC20 and ERC223 compatible wallets, deposit them back to SpectroCoin, as well as claim the weekly net transactional revenue through the Ethereum smart contract. However, token holders that own small amounts of BNK might have to wait before they collect a significant amount of weekly net transactional revenue to withdraw it. Since ERC223 tokens use ether for “gas” to send transactions, it is not economically viable to withdraw small amounts of weekly commission. Users that choose to keep their BNK tokens at SpectroCoin will continue receiving their commission every week to their SpectroCoin Ethereum wallets.
After the launch of the ERC223 source code, BNK tokens will also hit cryptocurrency exchanges, including HitBTC, SpectroCoin, and Bankera’s exchange. More information regarding exchanges and Bankera’s next steps can be found in our blog.
Once the ERC223 source code is finalized and hits the exchanges, our IT team will shift their focus to supporting BNK tokens as NEM Mosaics as well. This will give our token holders the possibility to choose whether they want to keep their BNKs in ERC20/ERC223 or NEM Mosaic compatible wallets. Thus, they will be able to decide if they would like to receive the weekly commission in ETH or XEM currencies. However, token holders have to choose their prefered blockchain in advance as, once they move their tokens to ERC20/ERC223 compatible wallets, the tokens will be recognized as listed on the Ethereum blockchain and BNK holders will not be able to switch to the NEM blockchain afterwards.
Remember to follow us during this exciting journey in our social media channels. We will bring updates soon!