WBC World Business Center www.worldcoinalliance.net For internal use only. By Berzeck
1 1 1 Preface Watching the launch of some of the last high profile coins that arrived to the market, there are some things that all of them have in common … they all want to add commercial features. The ICO of Syscoin collected 1500 Btc's with the promise that they would add market features directly to the block chain and that feature alone generated a lot of noise within the crypto community. Personally I think that adding features directly to the block chain is a bad idea, it's better to keep things very simple at that level instead of adding more complexity to something already complex that constitutes the backbone of the system. There is the issue of size too, I don't think that this solution can scale well if, for any chance, the user base begins to grow and actually uses it's services. So what should we do to implement commercial friendly AND user World Business Center World Business Center friendly features keeping most of the benefits directly to the World Coin Alliance, avoiding at the same time some cheap fast copycats ? I will try to answer that question in this presentation. * I am very new in the technical side of crypto so please forgive me any factual errors of my part. Also forgive me my bad english. www.worldcoinalliance.net
2 2 Welcome the new WDC wallet World Business Center World Business Center Feeds www.worldcoinalliance.net
3 3 Structure As you can see in the figure, our new system would be a collection of four components. Let's look the main features of each of them WBC Software Manager Reading the forums of botched new coin releases ( almost all ) is a hilarious spectacle of tragicomedy. One of the permanent issues is that bugs are being discovered constantly an developers are releasing new versions constantly, but since the upgrading of software is a manual process, it is very difficult to know if the weird behavior of the net is a consequence of the new version or it's just that people didn't install it. World Business Center World Business Center We need to implement an automatic upgrading system This component collects the binary compilations created by our team and uploads to our server. It distinguishes between different OS systems and allows to set the status of the binary (Alpha, Beta, RC, Release). It also just uploads only the parts that changed between versions. www.worldcoinalliance.net
4 4 World Business Center World Business Center * This is an actual screen shot of the software that I am already building ( It's still in spanish ) www.worldcoinalliance.net
5 5 WBC Runner One of the main flaws of all wallets ( that I know of ) is that they don't target non computer savvy supporters. Newbies are afraid to ask 'silly' things that most of users 'should' know : What is a private key ? What is an address ? What does 'make a backup of your wallet' means ? And most important, what role do all of them accomplish in your wallet ? This component performs two functions : - Wizard : The users just needs to download this file from our web page. When he/she executes it, a complete user friendly wizard guides him/her to the process of generating the address, explaining what it is, World Business Center World Business Center makes a backup of the recently created address explaining the importance of this file, etc. Ultimately the wizard ends downloading the last version of the software. The wizard doesn't install the software in the conventional it just downloads the files in a directory and creates a clean text configuration www.worldcoinalliance.net
6 6 file and maybe a shortcut, it should be executable even from USB. The reason for this is that it is too complex to use native installation systems for all the platforms we should support ( registry keys nightmares anyone ? ) It will also allow for clean, efficient and beautiful upgrades. Another benefit is that the user can have multiple addresses ( wallets ) opened at the same time in the same PC if he wants to ( traders ... rejoice !!! ) - Updater : When the wallet is running, it should contact our servers in a predetermined period of time ( 1 min ? ) if it finds that an upgrade is available then it calls the updater and quits ( gracefully ), since a World Business Center World Business Center configuration file it is already created, the wizard is skipped and just the upgrade process is executed Each user can subscribe to the release status of the software that he wants ( Alpha, Beta, RC, Public), this will allow us to gradually test the new versions of the system www.worldcoinalliance.net
7 7 New Wallet This obviously is our indulged child, well let's indulge it then, because now it's very hard to add features, few (no one ? ) knows all what it is in there, what it works, what it shouldn't be there anymore, etc. We need to rebuild it and decouple it's internals in strictly defined layers, so we can attract new developers more easily and recruit them according to their level of expertise. I propose this basic structure : ➢ Core This is where the real action happens, it must be extremely well World Business Center defined and we must be able to switch PoW compile time, also we World Business Center should be able to switch between light and heavy wallet run-time. Once stabilized we shouldn't play lightly with this code. Skills required : C++, Qt, crypto algorithms Development Speed: Very Slow Expertise: Very high www.worldcoinalliance.net
8 8 ➢ External There are 400+ coins out there and most developers are trying to find the holy grails of crypto: multipool resistance, 51% defense, ASIC resistance, etc. and none of them claims their coins are actually insecure, so who will the crypto community believe ? We must try to join forces with other similar coins to find long term solutions to these problems ( if they actually exist ). Should we find one of these holy grials, we will have 10+ copycats between weeks and we will responsible of the birth of 100+ shit coins afterward. It's a lot of effort that we cannot hide, so it's imperative to share this effort with others. In this section we should pull interesting code done by others that World Business Center World Business Center deserves special attention so we can create thin wrappers in the Core section. This will allow us to follow closely new branches of this code. Skills required : C++, crypto algorithms Development Speed: Slow Expertise: Very high www.worldcoinalliance.net
9 9 ➢ Services In this section we should create and expose some classes and functions that will be called from scripts ( QML or JavaScript ) For example, we can create a service that abstracts generic common functions of the API that exchanges provide to allow external access. The concrete implementation should be done in a script ( see next section ) allowing users to buy and sell coins from exchanges directly from the wallet paying a small commission to the Alliance. Another service could be the implementation of SOAP protocol so people can create modules that can 'talk' to web pages It is important to notice that here we must create generic classes that can be used in a many different scenarios. World Business Center World Business Center The idea is that our supporters can create their own scripted modules using these classes without recompiling. Skills required : C++, Qt Development Speed: Medium Expertise: High www.worldcoinalliance.net
10 10 ➢ Modules Here is where we and our supporters create user friendly functionality in the wallet; all the classes exposed as services should be well documented to allow developers write modules fast. All modules should be scripts allowing the creation and experimentation of new functionality without recompiling the wallet. A use case scenario : some one has its own business that accepts WDC; it would be relatively easy to create a module that allows users to access his market directly from the wallet. This modules can be published and distributed through a market store provided by us ( see the fourth component ), we can charge for validating, and technical assistance in the creation of these modules if required by the owner of the business. World Business Center World Business Center The strategy behind this is that we delegate functionality to the community and in some cases we even charge a commission ! Skills required : Qml, Javascript Development Speed: Fast Expertise: Medium www.worldcoinalliance.net
11 11 ➢ Gui All user interfaces ( layouts ) should be done using Qml, every user should be able to change the interface with whatever suits him. It has 2 main layers : The Layouts that are defined in Qml documents and a Theme layer that allows to change basic settings like font, colors, graphics, etc Notice that the skills requiered are different between the 2 layers, in the latter you just need to know Photoshop or something equivalent This is where we define the GUI for a desktop and the GUI for a mobile without touching c++ code, just the layout of the interface. Obviously the wizard should detect the form factor and chose the layout accordingly. World Business Center World Business Center Skills required : Qml, Photoshop or Gimp Development Speed: Very Fast Expertise: Low www.worldcoinalliance.net
Recommend
More recommend