27
Open Collectors Network © The first one-of-a-kind token. Open Collectors Network White Paper Dan-Andrei Singeorzan 1 , Ion-Cosmin Grigore 1 , Iulian-Andrei Popescu 1 , Grant Tiller, Reinhard Brongers, Florin Stefan Gheorghe, Daniel Taivan, Florentina-Maria Caval Draft published Dec-1-2017, last updated Jan-30-2018 v0.9 1 For review, please reach out to [email protected]

Open Collectors Network€¦ · We believe the last remaining barrier to mainstream adoption of blockchain technology and crypto currencies in general, is the difficulty of use. Buggy

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Open Collectors Network©

The first one-of-a-kind token.

Open Collectors Network White Paper

Dan-Andrei Singeorzan1, Ion-Cosmin Grigore1, Iulian-Andrei Popescu1, Grant Tiller, Reinhard

Brongers, Florin Stefan Gheorghe, Daniel Taivan, Florentina-Maria Caval

Draft published Dec-1-2017, last updated Jan-30-2018

v0.9

1 For review, please reach out to [email protected]

Open Collectors Network ICO 2

1 Table of Contents

2 Executive summary .................................................................................................................................. 4

3 Introduction ................................................................................................................................................ 4

3.1 Non-fungible vs fungible ............................................................................................................. 4

3.2 Platform for non-fungible tokens ............................................................................................. 4

4 Use cases ..................................................................................................................................................... 5

4.1 Public ................................................................................................................................................... 5

4.2 Virtual object marketplace for content creators ................................................................. 5

4.3 Digital media and rights marketplace ..................................................................................... 5

4.4 Gaming platform ............................................................................................................................. 6

4.5 VR .......................................................................................................................................................... 6

4.6 Artists ................................................................................................................................................... 6

4.7 Business sector ................................................................................................................................. 6

4.8 Auction houses ................................................................................................................................ 6

4.9 Discounts ............................................................................................................................................ 6

4.10 Embedded ..................................................................................................................................... 7

4.11 User identity ................................................................................................................................. 7

4.12 BlockchainCollection class (programming) ...................................................................... 7

5 Goals ............................................................................................................................................................. 7

5.1 Openness ........................................................................................................................................... 7

5.2 Decentralization ............................................................................................................................... 8

5.3 Usability .............................................................................................................................................. 8

5.4 Absolute ownership ....................................................................................................................... 8

5.5 Seamless Creation ........................................................................................................................... 8

5.6 Spamming prevention – enforcing uniqueness .................................................................. 8

5.7 Interaction .......................................................................................................................................... 9

5.8 Trading ................................................................................................................................................ 9

6 Rewards and the ECTO token ........................................................................................................... 10

Open Collectors Network ICO 3

6.1 Functionality ................................................................................................................................... 10

6.2 Rewards ........................................................................................................................................... 10

6.3 Token Distribution & Price ....................................................................................................... 11

6.4 Funds Distribution ....................................................................................................................... 12

7 Technical details .................................................................................................................................... 12

7.1 Overall Architecture .................................................................................................................... 12

7.2 ERC721 Standard .......................................................................................................................... 13

7.2.1 Interface ..................................................................................................................................... 14

7.2.2 Implementation ...................................................................................................................... 14

7.2.3 Future backwards-compatibility with other dApps or tokens .............................. 15

7.2.4 Compatibility with existing wallets .................................................................................. 16

7.3 Ethereum Smart Contracts ....................................................................................................... 16

7.4 Token Uniqueness ....................................................................................................................... 17

7.4.1 Preventing spamming the exchange with duplicates .............................................. 17

7.5 Security ............................................................................................................................................ 20

7.6 Scalability ........................................................................................................................................ 21

8 Roadmap v1.0 – alpha ......................................................................................................................... 22

9 Our Team .................................................................................................................................................. 23

Open Collectors Network ICO 4

2 Executive summary

Open Collectors Network is the first decentralized platform for one-of-a-kind tokens,

where everyone can seamlessly own, create, customize, interact with and trade individual

tokens, on an open market, based on existing standard specifications.

3 Introduction

3.1 Non-fungible vs fungible

Best way to explain how we understand this concept, and how it applies to our project, is

by example. Imagine you printed 1000 flyers and are handing them out on the street. You don't

care which flyer you hand out from the stack, because they are all identical: same size, same

content, same purpose etc. This collection of flyers is said to be fungible and it's equivalent to

current crypto currencies: if you send someone 1 coin, it doesn't matter which one from your

wallet it is, any one coin will do.

But let's consider now, another collection: paintings by famous artists. Already, we can tell

a difference: though all of them are paintings, if you wanted to buy one, you wouldn't just pick

randomly. You like some more than others, some are more expensive and so on. They're non-

fungible, as they are all one-of-a-kind and it does matter "which" one it is.

3.2 Platform for non-fungible tokens

We are slowly but surely entering the mature phase of the blockchain era and yet, every

new crypto currency or blockchain technology out there is made to work with just one thing: a

fungible token. If you have 10 BTC, they are just as good, identical in fact, to any other 10 BTC

that someone else owns, and the same is true for more modern blockchain technologies, like IOTA

or Ripple.

From our experience as hands-on developers, we realized that the non-blockchain IT

industry usually deals with non-fungible collections of objects, where if you were to randomly

select two or more items from a collection, they would have differing characteristics or attributes.

It is this rather simple use case that Open Collectors Network, or ECTO, is aiming to solve,

albeit we believe it’s probably one of the most basic and commonly used patterns in

programming, and for which is there is currently no easy blockchain alternative.

In addition, though the use case is simple, we anticipate large demand for our platform,

by everyday users who will be using our web interface to create unique items, under the Public

category, and even more so by companies, which will most likely be using the platform’s public

Open Collectors Network ICO 5

API, for more advanced scenarios and bulk creation of unique items, for the specific (corporate)

purposes of their dApp.

In time, as increasingly more tokens are created on the platform, the early or popular ones

will appreciate in value, enabling their owner to auction them to the highest bidder for a profit.

All creation and trading operations on the platform will have a nominal fee associated with

them, the proceeds from which will be shared with the holders of our platforms cryptocurrency:

the ECTO token2.

4 Use cases

The possible uses cases for unique tokens is almost endless. We have several that are

already implemented and more that we have thought about and working on. But more

importantly, it's the ones we didn't think about that are most exciting: our platform is open to

everyone and we expect innovative ideas to be implemented on top of our platform, especially

since it abstracts away all blockchain related complexity. Just to give a few examples:

4.1 Public

Individuals or groups can tokenize something of value to them, for personal use.

4.2 Virtual object marketplace for content creators

The ability to buy digital assets with the intent to use them within a game or within the

development of a game is possible through leveraging the ERC721 standard. This means the

marketplace offers the tools for game developers to sell their creations or use those creations for

further game development.

4.3 Digital media and rights marketplace

It is worth noting that any digital media could be represented here. This could be a graphic,

image, music, book, or anything else that one may want. For example, any artist, writer, musician

would be able to sell their asset, as long as it was digital to anyone who wanted to do purchase

the asset. Going further, digital rights relating to the ownership of the digital media can be bought

and sold via the marketplace. The latter has the benefit of circumventing digital rights auction

houses and significantly reducing cost of transacting and the fees related therein. Small creations,

like a brand-name, or a logo can be directly held on-chain, whereas larger ones can be stored

anywhere on the cloud, and only a hash of their value stored on the ledger. This brings the best

of both worlds: cheap/fast storage and full accountability.

2 All details specified in the Profit Sharing chapter.

Open Collectors Network ICO 6

4.4 Gaming platform

Card games like Magic: The Gathering© or in-game collectibles like a Dragon Lore AWP

skin in Counter-Strike© can be held on the public ledger, increasing accountability and

transparency for company. It also adds easier & cheaper payment options for selling the items.

4.5 VR

VR is fast becoming a mainstream industry, and through our platform, it will be seamless

to tokenize valuable virtual objects that can be traded between participants, while attaching value

(currency) to them. Additionally, because our platform respects an open standard, it will be

possible to make use of items between different VR technologies/implementations

interchangeably.

4.6 Artists

Almost any kind of artistic content can be held on the public ledger, for tokenized

copyright purposes, or simply to sell it. Small creations, like a brand-name, or a logo can be directly

held on-chain, whereas larger ones can be stored anywhere on the cloud, and only a hash of their

value stored on the ledger. This brings the best of both worlds: cheap/fast storage and full

accountability. It is entirely possible to hold large amounts of data using a decentralized storage

platform, like Storj or Oyster Pearl, so that would be our first choice.

4.7 Business sector

Any freelancer or business can easily tokenize personalized products (cars, devices or

hand-crafted items).

4.8 Auction houses

Maintaining their inventory on the public ledger to increase trust among its client base.

When an item is sold, after the auction, the unique token associated with it can be transferred to

the buyer’s wallet.

4.9 Discounts

Partnerships with companies which can tokenize their products. Let's take for example a

user which lives and breathes Apple products. He will create/buy different Apple unique tokens,

at which point he, or even we, can approach the company and obtain discounts for him as a

reward.

Open Collectors Network ICO 7

4.10 Embedded

Features like 'Facebook like button' that can be easily put up in place using only a script

tag on your website.

4.11 User identity

Our platform aims to collaborate with a KYC solution, where after a user has his identity

verified, a unique token for him is created on the blockchain. After than, when the user needs to

verify his identity with another web site, he can use Metamask to sign transaction verifying he is

the owner of the token with all his information and the web site can double-check using our API.

The same can apply for the more ordinary use case of logging into a website and it would work

in just the same way as logging in with Facebook or Google, except it would be decentralized and

you would own your credentials, not some 3rd party company.

4.12 BlockchainCollection class (programming)

One of the most basic and common patterns in coding in general is using a collection of

objects with different attributes. Standard ones include array, list, dictionary, hashmap and there

are many open source libraries which provide specialized collections (think C++ Boost, .Net C5

etc). Our platform will provide such an open-source library with collections that store objects on

the public ledger, bringing with it all the benefits of decentralization to non-blockchain devs. All

you would need is an Ethereum wallet and to sign transactions using your private key, which would

not leave your code.

5 Goals

To achieve this, we are currently building a platform (at the time of this writing, it is a

working prototype) based on Ethereum smart contracts, specifically designed for this purpose:

creating, modifying, interacting with and owning one-of-a-kind tokens.

5.1 Openness

It is an imperative for the platform to be based on open standards and have open-source

code. For our specific use cases, the relatively newly created standard for the Ethereum ecosystem,

the ERC721 standard, must be adhered to. This provides compatibility with any already existing

tokens, like Decentraland, Crypto Kitties and Crypto Punks, and ensures future backwards

compatibility can be maintained with tokens created earlier.

Open Collectors Network ICO 8

5.2 Decentralization

Having Ethereum smart contracts as the underpinning code allows us to take full advantage

of the added benefits blockchain technologies bring to the table: transparency, tamper-proof

security, accountability & absolute ownership. At the same time, we have the option and will

exercise it, to have our code signed & publicly verifiable, simply by using Etherscan and checking

out the contracts’ code.

5.3 Usability

We believe the last remaining barrier to mainstream adoption of blockchain technology and

crypto currencies in general, is the difficulty of use. Buggy wallets, complicated to understand

dApps and the technical terminology overload that a newcomer must endure are a problem. This

is only natural, since the technology has been in its early stages. However, as time passes,

overcoming technical barriers is no longer a valid excuse, and so, a clean and intuitive interface

for newcomers is one of our top priorities.

5.4 Absolute ownership

The end user should absolutely own each unique item. He or she will be able to see their

items in their wallet at any time and only they are allowed to interact with it, by using their private

key. Our decentralized exchange does not hold, nor request private keys from its users.

5.5 Seamless Creation

Anyone can create a unique item, which will automatically enter into their ownership.

However, there are several rules by which creating new items functions. These are put in place to

ensure existing items on the market do not have duplicates created for them and are categorized

appropriately. This will allow items to grow in value over time.

5.6 Spamming prevention – enforcing uniqueness

Precisely because tokens can be created by anyone, there are rules in place to ensure

uniqueness. These are implemented using specialized algorithms3, and are needed to prevent

spamming the market with virtual duplicates of existing, expensive items. This is especially

important for the Public category tokens, where everyday users will be able to create their tokens.

For corporate use cases, this is less of an issue, since their tokens will be created within a particular

category specific for each company.

3 More details in technical chapters

Open Collectors Network ICO 9

5.7 Interaction

The creator of an item has the option of allowing improvements to be made, over time, to

the newly created item. They can specify exact rules by which these can be made upon item

creation. This allows for accelerated appreciation of an item’s value (flexible investments into an

item) and/or can be used to create complex game-like conditions for interaction between items

in the same category.

An example might be an item from a racing cars category, let’s say a Ford Mustang model.

The creator, if they so choose, can allow child items to be linked to the main item. They can create

two ‘Tires’ items, one called ‘Slick Tires’, for dry weather and one ‘Rain Tires’. They can create

upgraded engines for the car and swap them around. In addition, they can specify the rules by

which these added upgrades add value to the car, and what the rules are for a race between cars.

These will be encoded into a smart contract upon a new race creation, so everyone can be sure of

the rules of the race before it starts, enabling fairness and easy creation of games using the

platform.

We also provide the raw option for specifying token interactions: a plain old json field with

serialized custom data. This is a common pattern in application programming and it allows the IT

industry to easily take advantage of blockchain benefits, while abstracting away all the nitty-gritty

details of blockchain smart contract programming.

5.8 Trading4

As popular tokens’ increase in value over time, the exchange allows many forms of trading,

ranging from selling for currency or auctioning, to direct trading with another seller, which has an

item of interest.

4 Technical chapters and roadmap describe in detail all trading options

Open Collectors Network ICO 10

6 Rewards and the ECTO token

6.1 Functionality

Operations on the platform are done using our own coin, the ECTO. It is needed to ensure

fair usage of the platform and avoid spamming and overloading of the Ethereum network,

especially with regards to the creation and trading of unique items.

6.2 Rewards

In addition, having ECTO in your wallet also offers several benefits, according to a special

proof-of-stake algorithm:

Discounts for all operations.

Voting rights for features that the platform should implement first.

Airdrops given out periodically, in the form of ECTO airdrops, based on a

combination of activity on the platform and the amount of ECTO you hold.

Activity is measured in relation with the total activity by all users of the platform.

ECTO stake refers to the amount of ECTO you have in your wallet at the time of calculation.

The actual implementation of this mechanism is going to be coded into Ethereum smart

contracts, for several reasons:

Guaranteed terms, which will remain unchanged over time

Added security

Full transparency regarding any collected fees, shared profit and funds

Full control of funds: each user will be able to withdraw his profit share, to his wallet

where he holds his ECTO tokens, at any time, without the need for it to be daily (his

share is calculated since his last withdrawal date)

No hidden fees, no withdrawal fees, except the normal Ethereum transaction mining

fee

Open Collectors Network ICO 11

As our code will be open-source, we intend to encourage more ICO’s to make use of our

reward mechanism. This distributes decision making for a project, and we believe community

knowledge and consensus driven decisions are stronger and more valuable than centralized ones.

6.3 Token Distribution & Price

Total tokens: 150,000,000 ECTO ( 100,500,000 public; 2% bounty + 65% sale )

Token price varies by sale duration:

1st week: 1ETH = [TBA] ECTO

2nd week: 1ETH = [TBA] ECTO

3rd week: 1ETH = [TBA] ECTO

4th week: 1ETH = [TBA] ECTO

[TBA] = To be announced

Open Collectors Network ICO 12

6.4 Funds Distribution

In addition to the development of the exchange platform itself, we put emphasis on

marketing and attracting strategic partners. We believe this is key to a successful product, and

development will be an agile, interactive process, based on the needs of users & partners.

7 Technical details

7.1 Overall Architecture

The platform is being built around Ethereum Smart Contracts, written in Solidity, which are

used for managing ownership and transferals, in a secure and robust way.

These are coupled with a clean front-end, based on AngularJS, for users to have an

overview of their assets and initiate operations.

Open Collectors Network ICO 13

The backend is only useful for new token

creation, as it will be responsible for advanced

uniqueness rule enforcing, statistics and

monitoring. It is based on open-source .Net Core

and hosted in the cloud for maximum availability.

It will come with a free public API, for more

advanced users of the exchange.

All interactions with the blockchain from

the front-end must be as easy and intuitive as

possible, using the most up-to-date mechanism,

which, at the time of this writing, is the Metamask

web wallet. We are planning integration with

MyEtherWallet for the future.

As a desired consequence, the exchange

does not store private keys of its users, putting

them in total control of their assets. In addition,

there is no need for account management on the

client side (no signup/login), as all operations are

made through the 3rd party open-source wallet,

ensuring privacy and security. The platform aims

to conform to GDPR standards, so we will no be

storing any personally identifiable information,

unless requested by law, and then only with the

user’s consent.

7.2 ERC721 Standard

This is a relatively new and powerful standard created for the Ethereum ecosystem.

Whereas up until now, almost all newly created tokens were fungible, meaning they are all equal,

so any 5 tokens were just as good as any other 5 tokens, the need for unique, non-fungible

tokens has recently arisen. These are items that must not be lumped together, but each item must

be considered on its own for the purposes of atomic tracking, ownership and transferal.

The ERC721 standard was created for exactly this purpose: ownership and transferal of

individual tokens from one contract or address to another. This means that each token can be

identified uniquely throughout the Ethereum ecosystem by the pair: (contract address, token id).

Open Collectors Network ICO 14

7.2.1 Interface

The following is the latest version of the standard draft:

pragma solidity ^0.4.18;

contract ERC721Interface {

function implementsERC721() public pure returns (bool);

function totalSupply() public view returns (uint256 total);

function balanceOf(address _owner) public view returns (uint256 balance);

function ownerOf(uint256 _tokenId) public view returns (address owner);

function approve(address _to, uint256 _tokenId) public;

function transferFrom(address _from, address _to, uint256 _tokenId) public;

function transfer(address _to, uint256 _tokenId) public;

event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);

event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);

// Optional

// function name() public view returns (string name);

// function symbol() public view returns (string symbol);

// function tokenOfOwnerByIndex(address _owner, uint256 _index) external view returns (uint256 tokenId);

// function tokenMetadata(uint256 _tokenId) public view returns (string infoUrl);

}

The operations declared by the interface explain themselves, perhaps with the exception

of the two transfer methods. The first one, transfer, must be called by the owner of the token

specified by _tokenId, while the second one, transferFrom, can be called by anyone (like our

platform), provided the owner has previously called approve for the recipient.

7.2.2 Implementation

A clean working version of this interface would require the implementing contract to hold

only the following fields:

contract ERC721Token is ERC721Interface, Pausable {

address NULL_ADDRESS;

string public name = "token name";

string public symbol = "token symbol";

event Creation(address indexed owner, uint256 tokenId, string data);

event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);

Open Collectors Network ICO 15

struct ERC721TokenData

{

// add non-fungible token attributes here

// the following is just an example

String name;

string description;

string link;

string customDataJson;

// … any other needed fields

}

ERC721TokenData[] tokens;

mapping (uint256 => address) ownersByIndex;

mapping (address => uint256) tokenCountByOwners;

mapping (uint256 => address) approvedByIndex;

function implementsERC721() public pure returns (bool)

{

return true;

}

// other methods impl

The three fields are all that is needed to manage ownership and transferal:

- ownersByIndex can be used to cheaply find the owner of a particular token

- tokenCountByOwners can be used to find the total tokens owned by a particular

address

- approvedByIndex is used for the implementation of the approve/transferFrom

methods

Conforming to this standard is one of the main drivers behind our exchange, as it provides

valuable benefits, described below.

7.2.3 Future backwards-compatibility with other dApps or tokens

While we believe we already have solid use cases for our tokens, and we plan to implement

user-voice and partner affiliates mechanisms for new feature requests, it’s entirely possible 3rd

parties might find new and exciting use cases for the open token standard and implement them.

Some examples of this are CryptoPunks and CryptoKitties, which conform to the standard.

In fact, we encourage this! It will allow any exchange user to import, migrate and generally

make use of his or her tokens in other dApps. Any conforming token can be handled by the

exchange by using the pair (token contract address, token id).

Open Collectors Network ICO 16

In the case of tokens created by the exchange itself, the token contract address can be

omitted.

7.2.4 Compatibility with existing wallets

Wallets are incentivized to implement the standard, so users can see owned tokens inside

any respectable Ether wallet. We believe this is an important feature of the platform: the mere fact

that you are in control of your tokens is an advantage.

7.3 Ethereum Smart Contracts

The best and only way to ensure total fairness and accountability is to make use of smart

contracts on the Ethereum blockchain, taking full advantage of decentralization, especially for the

core functionality of the exchange.

For contract language, the choice was between Solidity and the lower level Serpent. The

Solidity compiler is more stable, with fewer bugs, is more widely used (so any kinks are discovered

earlier), all of this at the expense of increased direct access to the EVM. After careful consideration,

we chose Solidity.

The contracts are kept as simple as possible, with security and separation of concerns

being the main considerations. At the time of this writing, our proof of concept is powered by the

following contracts:

ERC721Interface - the standard interface for non-fungible tokens

ERC721Token - clean implementation of the standard interface

CreatableToken - responsible for creating new tokens; contains the data structure common

to all tokens on the platform

UniqueToken - responsible for ensuring uniqueness and fair use of the platform for

creating new items

AuctionableToken - manages information about token auctions currently in progress

Open Collectors Network ICO 17

Collectible - adds information to the common data structure regarding specific token

implementation; these include descriptive fields and rule enforcing methods for token dynamics

OpenAuction

the first auction type to be currently implemented

token ownership transferral from the user to the auction contract, upon auction

creation by the owner

transfer of the token to the highest bidder, refunds of losing bidders, and transfers

winning bid to previous owner, upon auction end

7.4 Token Uniqueness

7.4.1 Preventing spamming the exchange with duplicates

Popular tokens on the exchange will appreciate in value over time, which creates a risk of

duplicates being created by users. We have rules in place to mitigate this risk. Each newly created

token will be automatically validated by the exchange, through a complex mechanism, made up

of several layers.

In order to be responsive, the first layer is an automatic check, using cutting-edge data

matching algorithms. The first layer will be the most frequently used one and will provide us with

a uniqueness score. If this score is high enough, it means the token can go ahead and be created,

which will be the average case or the fair-use case of the platform. If the score is not high enough

in its own category, it means this token creation might possibly represent a duplicate and will be

denied initially. The user has the option of requesting a manual check for duplicates for their

token. Upon approval, the creation process can go ahead without any problems.

To further mitigate this risk, each token has complete history data attached to it on the

blockchain, allowing us to create a reputation rating to it. Users will be able to easily see this rating

when deciding to acquire a token.

A semi-formal description of the inner workings of the exchange follow, with the exact

combination of algorithms for the automatic check not completely revealed, as we would like to

keep this a trade secret, with regards to both future competition from other exchanges and

reverse-engineering in order to try to bypass it.

Open Collectors Network ICO 18

Creation flow

Manual approval

Run DoS checks (too many manual approval requests from IP, already requested

check etc..)

Dequeue approval request

Manual check

Log manual request approval or failure

Open Collectors Network ICO 19

Automatic approval

This is based on calculating a list of candidate duplicates for the token, each with a score,

using a combination of algorithms:

Levenshtein Distance - purely lexical difference score

Example: score = levenshtein(“Jessica Alba”, “Jessika

Alba”) = 1, because there is only one letter that needs to be

inserted, changed or deleted

Smith-Waterman - difference score using local

alignment, used to match dna sequences in many genome

projects

Example: score = 1 / smithWaterman(“Trickshots”,

“Trickshots Restaurant”) = 0.1, we must invert the result of the

algorithm, meaning expensive operations to convert one

value to the other equals a high uniqueness score.

Metaphone/MetaphoneX2/Soundex - difference scores based on phonetic

pronunciation. Variants exist for different cultures.

Example:

Open Collectors Network ICO 20

7.5 Security

The crypto world is as dangerous as it is exciting. Every other day, there’s a new story about

a hacker stealing funds from exchanges and so forth. Our exchange solves 90% of this problem

by having its core functionality hosted on the blockchain, as Ethereum smart contracts. The

exchange does not hold any user personally identifiable information, everything is done by using

a state-of-the-art, open-source wallet, therefore, we don’t store the user’s private keys.

This brings the security of the exchange to the level of the EVM, however, the remaining

10% is very important: the security and robustness of our smart contracts code. We have a

multitude of requirements to ensure this risk is mitigated:

Develop using Solidity language, which is the highest level available language

Educate ourselves about every new smart contract vulnerability in the news, try to

learn from other’s mistakes and use established patterns.

Have 100% unit test coverage (with both positive & negative testing).

Request 3rd party smart contracts audit for the live exchange.

Strict adherence to the ERC721 standard for token ownership & transferal.

A basic example of the kind of things we are being careful about can be our Auction Smart

Contract. This contract assumes ownership upon its creation by the initial owner of the token. It

accepts bids and after the auction duration is reached, or a direct-sell price is bid, the auction

ends, and among others, the following must happen:

Transfer ownership of the token to the highest bidder

Transfer highest bid to the now previous owner

Transfer any losing bids back to the losing bidders

The auction end will be detected by a particular method in the smart contract, but at that

point, it is not a good idea to start doing all these things sequentially, because of the max call

stack attack possible in the EVM. The first step, transferring ownership of the token to the highest

bidder is completely safe because it’s our own verified code. The second step, transferring funds

to the previous owner is not safe, as this will eventually result in a call to the previous owner’s

address, which can be an external untrusted contract. This contract’s payable fallback function will

be called, and it is free to do let’s say 1024 recursive calls in its own code. This will cause the EVM

to throw an exception, and the rest of our auction contract code will not execute. There are

workarounds for this, like trying to catch the exception, but these are not recommended. A better

way would be to let the auction method fail after the second step, with the money having

Open Collectors Network ICO 21

effectively been sent to the previous owner already. The 3rd step, refunding losing bids must be

done independently, in a separate method, which can be called by anyone, but will be done by

the exchange in what we call a sweeping process.

This is similar to the way crypto exchanges don’t keep funds in the addresses you see on

the site, but move them to their hot/cold wallets, and only keep centralized database records with

the amount of funds you have, for security reasons.

7.6 Scalability

As the exchange platform will grow, scalability becomes an issue. Our development

process has this in mind from the get-go, by having three prime directives:

Each one of our smart contracts is load tested for performance metrics, on multiple

environments (TestRPC, a live test network like Ropsten & Mainnet).

The main contract will have in place adjustable throttling parameters, global & per user,

with fully permissible initial values. We will be monitoring the smart contract transactions

from outside (free, no gas cost) and decide if throttling is needed, to ensure proper

functioning of the exchange.

In addition to throttling, with extra large scale use of the exchange it’s entirely possible

that the Ethereum network becomes clogged. We are foreseeing that sharding of the

Ethereum ecosystem by the main dev team will fix this problem. But in case this feature

does not materialize, or comes too late, we have a plan of our own in place of sharding

the tokens among multiple identical smart contracts. Although

Our smart contracts implementation will follow the upgradable pattern, to allow future

improvements to be made.

Open Collectors Network ICO 22

8 Roadmap v1.0 – alpha

Open Collectors Network ICO 23

9 Our Team

We are a hard working team with over 50 years of combined programming, testing,

product management and marketing experience, who have a burning desire to be part of the

blockchain revolution.

Dan Andrei Singeorzan

Co-founder & Developer

Current: Development Manager @ Ivanti

Ion-Cosmin Grigore

Co-founder & Developer

Current: Software Developer @ RES Software

Grant Tiller

Product Manager

Current: Director of Product Management @ Ivanti

Open Collectors Network ICO 24

Stefan Mihai Stanescu

Legal Advisor

Current: SCP STOICA & ASOCIATII

Daniel Taivan

Test Lead

Current: Test Manager @ IBM

Florin Stefan

Expansion & Marketing Executive

Current: Service Line Manager @ Stefanini

Cristian Cotarcea

Digital Marketing Specialist

Current: Digital Marketing Specialist @ Software Business Partners

Open Collectors Network ICO 25

Iulian-Andrei Popescu

Senior Developer

Current: Senior Software Developer @ RES Software

Florentina-Marina Grigore

Developer

Current: .NET Developer @ ING Bank

Spasenie Alexandru

Android Developer

Current: Android Developer @ Stefanini EMEA & Freelance

Open Collectors Network ICO 26

Advisors

________________________________________________________

Cristian Tamas

Senior Esports manager @ Twitch

Mike Boutwell

Blockchain specialist @ cryptoadvisors.io

Sabin Girlea

Director of Operations @ Stefanini

Dylan Senter

Current: Co-founder @ Spectiv

Open Collectors Network ICO 27

Reinhard Brongers

Current: Software Architect @ Ivanti

Alexandru Savulescu

Current: Founder of RetroTech

Laura Toma

Co-Founder @ Renowned&Co