Arisen's Mainnet Launch
As I say all the time to community members, "We're almost there". For the past two years, I have lived through those words. I reiterated a few weeks ago that we had climbed the mountain and was excited to finally begin the process of launching the Arisen Network to the public. Launching Arisen is a process and it MUST involve the community itself, or else, the network won't completely launch. This means Arisen will be launched through the actions of "We The People", and will therefore carry on under the direction of the people it was built for. Over the next few sections, I'm going to outline Arisen's launch, how you can create your own Arisen account, how you can register as a block producer, the process behind how the initial Arisen Governance will be chosen and how the network will completely decentralize itself over time. I'll also give you a sneak peek into who's going to be launching dApps on the network in the coming months, as well as where we go from here.
Step 1: Arisen's Core Software Update
Arisen's core software will update to version 1.0 in the next few days under the
arisen-production branch. While we haven't made any public updates to the software itself, many new updates will begin appearing under the
arisen-production branch. Privately and quietly, we have been hard at work, working on the core Arisen software, along with several other features that we announced in The Arisen Whitepaper last week. Arisen 1.0 has been tested and is stable. A lot of work and efforts went into making sure the software worked perfectly, before we ever got to this stage. Maybe one day, it will be relevant enough to speak on those efforts, but for now, it's important that we focus on the initial launch of the network itself.
Step 2: Launching The Genesis Node
The Arisen network will launch off with what is known as a "Genesis Node" in the next few days. This node will start the network with the "@arisen" user. The network will be public, where members of the community will announce the official
chainID of the public network. The
chainID will also be available on the official Arisen Explorer (launching soon) and the ArisenTools application (explained below). While the Genesis Node at this point is super centralized, it is meant to be this way, in order to allow others to join the network and register as a "Block Producer Candidate" also known as a Governance member.
Step 3: Building A User base
Launching a successful network will be dependent on a strong foundation of users and block producers that keep the network afloat and keep the network safe and decentralized. Being that Arisen must be promoted by the people, it is completely reliant on the people promoting it, along with the dApps that plan on building upon it. With that said, in the beginning stages, there has to be a user base that finds itself flocking to the platform and as a community we can make this happen. I want to cover the basics of how users will be able to create an Arisen account and register as block producers, once Step 3 begins. In order for a user to join the network, they must have Arisen keys and an Arisen account that is created with those keys. I'll explain both in-depth below.
Generating Arisen Keys
Every account has two required permissions levels known as
active. Therefore each account requires two keypairs (two sets of public/private keys). The
active permission level, will allow a user to do anything with an account other than change the
owner credentials. If you're not a blockchain nerd like myself, you're probably wondering what the hell keys are. I won't dive into what public/private keys are in this post, as there are many resources you can search for on Google that can explain this perfectly. In short, these keys protect different access levels of your account. A public key is meant to interact with different network-related tasks on a public-basis, while the private key directly corresponds with it and is used to authenticate that the public key does in fact belong to you.
Laymen can easily create keys using the ArisenTools dApp, by simply clicking a generate button. It's important that you have keys, as your keys are used to create your actual Arisen account (which I'll explain shortly). It's crucial that you keep your keys in a safe place as well. As a side note, we have created many solutions for this like ArisenID, which I will explain in a later post. If you're a command-line nerd, you can easily create your Arisen keys via the
arisencli CLI (command-line interface).
Keys are important, they're used to create your Arisen account and both your
active keys will be used to do so.
NOTE: Your Arisen keys should always be kept in a safe place. Also make sure you reference which keypair is your
owner keypair and which keypair is your
Generating Keys With ArisenCLI
By using the
create key command, an Arisen keypair can easily be created like so:
arisencli create key -f arisenKey.txt (Writes keypair to arisenKey.txt file)
arisencli create key --to-console
The second command will output the following:
Private Key: 5KCKcSxYKZfh5Cr8CCunS2PiUKzNZLhtfBjudaUnad3PDargFQo Public Key: RSN5uHeBsURAT6bBXNtvwKtWaiDSDJdSmc96rHVws5M1qqqVCkAmlo
You will want to generate two keypairs (one for active and one for owner), if you're creating a regular user account. For those who want to register as a block producer (explained later), you will need an extra keypair to use for your block producer registration.
Generate Keys With ArisenTools
Generating Arisen keys via ArisenTools is super simple. All one has to do is go to the "Accounts" tab then click "Generate Keypair" and an Arisen keypair will be generated. You will need to generate two or three keypairs, depending on whether or not you are going to register as a block producer.
Creating An Arisen Account
There are several ways to create an account in order to launch your own block producer node or simply reserve your username on the Arisen network. In order to setup an Arisen account, RSN coins are required. I know that's weird because how can one setup an account, when they have no coins? One would think that doesn't make a single bit of sense, considering a user who doesn't have an account, couldn't possibly have any coins to setup an account with! This is correct and there is a reason an Arisen account is required to create a new account. To make a long explanation a lot shorter, it's because all computations and data stored on the network is measured through the "Actions" that are required to store or compute that data via the network. This measurement brings forth an RSN-based fee, in the form of "Staked" RSN coins. This is to keep the network from being abused (we go into far more depth on this issue in the Arisen Whitepaper). The process of creating an account, requires a current account that is able to stake the needed RSN to create a new account. As explained above RSN is staked on the network, in order to store the account data that is related to the account creation itself, on the network. As long as developers of dApps are forced to make these payments, to store data on the network, the network won't be abused with data that should be kept off-chain in a dDBMS like dAppDB.
In order to make this process really easy, where all these mechanics go unnoticed, we have created a dApp known as "Arising". Arising allows users to easily create Arisen accounts, without having to understand what's going on in the background to create the account on-chain. Arising will be launching over the course of the next few weeks and will be completely controlled by a robotic Arisen-based user known as "@arising". Arising utilizes a smart contract and is able to fund the creation of accounts automatically, through signups created within the Arising dApp, which I'll explain below.
Creating An Account w/ Arising
Arising allows users to setup an Arisen account with no issue. To keep hoarders from coming in and registering every single username under the sun and to support the several developers of the Arisen project, Arising will charge a $1 fee to create your account. Arising will ask you for the
active keys that you created with ArisenTools or the arisencli CLI and they will be used in the account creation process, so that your username on the network is tied to your keypair. When setting up your account, you can pay the $1 fee with BTC, LTC, ETH, EOS or PayPal.
Step 4: Coin Exchange
As many of you have heard, we have been distributing a tokenized format of RSN on multiple networks including BitShares. Hundreds of former AriseBank contributors and community members have received theirs. Soon we will also do a free global air drop to ensure that RSN's published distribution plan is fulfilled. During this step, the Arisen community members who will be running the
@treasury account on the Arisen network will begin exchanging tokens for RSN's native coin. I will have a separate post on this, when it comes time for the official coin exchange, as that will be specifically handled by community members who run the network's
Step 5: Block Producer Competition
It will be crucial that block producers compete with each other for the top 21 block producer positions. The 21st position does in fact rotate, so it's crucial that there are actually more than 21 block producers. The network should in fact have hundreds of block producers vying for the top 21 positions. Block producers should be active in the community and have something to offer towards current and future development of the project. It's important the network's community actively engages block producer candidates, to ensure that their vote is with a candidate that truly wants Arisen's network to flourish.
At this stage the community will hold a block producer competition, where block producers will be required to post to a Steemit post with details on why they want to be a block producer and why they ultimately deserve your vote. These posts should detail a block producer's ambitions and what their vision for Arisen and decentralization, as a whole, truly are. We will also be using these posts for the initial "Block Producer Draft" (that's explained below).
Registering As A Block Producer
Registering as a block producer will take some command-line expertise as registration can only be done through the
arisencli CLI. For the network launch, that's the way it is but I can see BP registration in the future taking place in some sort of "GUI".
Registering via the command-line though is fairly easy to accomplish, once the Genesis Node is live.
NOTE: Keep in mind that keypairs can be generated prior to the Genesis Node being launched, while registering a BP requires that the Genesis Node is live, considering this is an action designed to be stored on the network itself.
Below is the required process for registering a block producer:
- Create an account with Arising or w/ the help of an Arisen sponsor
- Run the following command:
arisencli system regproducer yourusername your-bp-public-key
That's literally it.
To confirm that you have been registered as a producer, run the following command:
arisencli system listproducers
This should output a list of producers.
Running A Full Node As A Block Producer
Registering as a block producer is simple; on the other hand, being a block producer requires that the block producer candidate runs a "full node" that's ultimately used to verify transactions that broadcast across the network. A block producer candidate must announce that they're ready to produce blocks, before the Arisen network will allow them to do so. This means that a block producer candidate must be running a full node the day they announce their BP candidacy.
BPs are able to run a full node using the "aOS" daemon. Starting up the daemon will require a working
genesis.json file, which I'll post an example of in the coming days. Once the
genesis.json file is in place, a BP candidate can launch their "full node" like so:
aos -e --genesis.json /path/to/genesis.json --producer-name yourusername --private-key `["bp public key", "bp private key"]` --http-server-address 127.0.0.1:6620 --p2plisten-endpoint 127.0.0.1:9877 --p2p-peer-address <genesis-node-ip>:port --plugin arisen::producer_plugin --plugin arisen::chain_api_plugin --plugin arisen::net_api_plugin
That's all it takes to launch a full producer node!
NOTE: This post is not meant to be a tutorial, so if you feel as if this is lacking, this post is designed to give a twenty thousand foot view of the Arisen Mainnet launch, how you can get involved and help with building out the network with us!
Step 6: Block Producer Draft
The sixth step is where 11 of our well-known community members who originally safeguarded the Arisen project will choose the initial block producers for the Arisen network, by sending 21 different block producers 7.5M RSN coins, that each will stake on the network. This makes for a total of 150,000,000 RSN. Arisen's network requires that 15% of the RSN in circulation are staked on the network, for block producers that have been voted into the top 21 spots to commence with producing blocks. We will not begin step 6, until there are at least 50 registered block producers.
For more information on how block producers earn RSN for validating blocks as well as the DPOS algorithm, please see the Arisen Whitepaper.
Step 7: Full Decentralization
At Step 7 the original "@arisen" user will be retired. This means the network itself will be operated by the drafted block producers and the Genesis Node will fall back. This also means the network is fully decentralized. At this point, the Arisen Mainnet will be live. Notice, that the entire network was launched by the community and not a company, organization, an entity or other corporate formation type. It's crucial that the blockchains of the future are launched like this, where ICOs are truly eliminated and a network is able to operate off the strength of its users and for the love of the network itself. As I have stated before, Arisen will forever be a symbol of decentralization, perseverance and freedom. That's because of its story, that I recommend all of you read at the end of the Arisen Whitepaper. In the end, the Arisen network will be created and fully decentralized over the course of 7 steps.
Sneak Peak: Peeps
I have been working on my next project for some time. It's not just a project though, it's a centralized venture that I'm very excited about. Before you bash me for this centralized venture though, I want to explain how this centralized venture will ultimately lend a hand in our mission to decentralize the world as we know it.
Peeps is an idea that has been in the works for a while now. Some of you remember PeerOS, the decentralized operating system I was working on nearly a year ago. If you remember PeerOS, you will also remember all of the dApps that we were working on during that period from aBank, dSocial, dVideo, dPix, dSite, dBuy, dWiki and the many others that we planned on developing on top of PeerOS. Our vision was to ultimately decentralize the world through a plethora of dApps. That dream truly started with the failures of AriseBank, where I learned a lot of the ins and outs that would be required to successfully embark on this mission. The failures of AriseBank ultimately led me to meet many new people, who are actively helping develop some really game-changing applications, that I cannot wait to show you guys (don't forget where we're doing this from).
We have quietly been building a team of developers, designers and lawyers to help build out the Peeps dream, the right way. Ultimately, we model ourselves as a Google-like company with a focus on decentralized software, where a dApp like dRide is capable of competing with centralized applications like Uber because of its lack of overhead. It's our vision that through dApps like dRide, Peeps can take a miniscule service fee for every transaction on the platform, to cover future development costs, as well as marketing costs that are associated with our applications. This eliminates the need to sell coins and enables us to push the industry forward, while also giving centralized applications a run for their money without having to worry about regulators. Taking a service fee is legal and it doesn't destroy the decentralized aspects of an application. The Peeps model simply makes sense.
Although, before Peeps can officially launch, the launch and full decentralization of Arisen and the dWeb are key in making sure Peeps' many decentralized products are able to stay online indefinitely without any sort of interference. That's why our focus has been so centered on Arisen and dWeb at first, because without them, our work can be seized for various political reasons, by people who fear our ability to innovate so beautifully. We learned this the hard way the last time. We hope that many other developers bring a Peeps-like vision to the Arisen network, so that we can all come together and build a better world through peer-to-peer technologies, that regulators still fail to understand. Hopefully, Peeps will change the view these regulators have on blockchain technology itself, because as many of you already know, it's the future whether they want to admit it or not, and it is not something they should have the ability to regulate. The code regulates itself. With Peeps, we hope to take blockchain mainstream, where users are using a blockchain every single day, without even knowing they're doing so. That's because users will flock to web applications that care about their human rights. It is our view that one doesn't have to understand what a blockchain is, to appreciate what a blockchain does. That's what Peeps is all about and I can't wait to unveil the entire Peeps project to you guys in the coming weeks. Until then, I'll leave you guys wondering. :)
Where We Go From Here
We are preparing the launch of the Genesis Node, as well as ArisenTools and the initial launch of Arisen's network explorer. I will have follow-up posts on these advancements, as they come about over the next week. I will also be posting some REAL tutorials regarding block producers, information required from block producers in their Steemit posts, as well as some in-depth documentation regarding Arisen 1.0. I hope you guys are just as excited as I am.
We're really making some major advancements. Look out for our update on @dweb tomorrow as well. Many new advancements are happening on that side of the fence. We're almost there.
Until next time -- I love you all.
Jared Rice Sr.
Arisen Core Developer