CTO Life: "Technical and ethical challenges of designing, building and dealing with people in decentralized systems."
laobai
2018-10-19 17:01:04
DTCP: 198TU1GQ
文章已被区块确认
-/-

In order to give everyone a better understanding of the complexity of dealing with decentralized systems, I would like to share some of my experiences and elaborate on the system architecture of Primas in its current stage. The system is quite large and cannot be explained all at once, so I will break it down into topics.

Primas has now officially been online for some time. During this initial stage, our Chinese community has been particularly lively. Every day people would play different games and were very creativewith how they utilised small groups and attempted to poke holes in the system. Contrary to this, people would also passionately discuss the ethics of why these people were attracted to this platform and the possible solutions to these exploits. 

In the past we encountered a few users in possession of a large number of devices which were used to repeatedly post and share plagiarised articles. Using bots, these individuals were able to maximise their token payout by using exploits within the designed economic incentive system. Following this, “Official” accounts were used to reduce the amount of available HP to 0. This lead many people to raise doubts about whether Primas truly was using blockchain in a decentralized way. 

So let’s start with a discussion about decentralized architecture.

For clarity there are several names that must first be defined in order to understand the relationship between each part of this system. 

- Decentralized Trusted Content Protocol (DTCP): A set of rules outlining the standard for how metadata should be collected and stored. This protocol can support any type of application.
- Primas: The name of the project and team.
- Primas network: The collective name given for Primas’ secondary acceleration layer, economic incentive system, Hawkeye node, decentralized crawler network, and user credibility model. 
- Primas DApp: The first mobile app to be be built ontop of the Primas network.

Primas is a truly decentralized system. 

Something pretty neat about dealing with Primas is the concept that ‘as long as someone is willing to use it, it will exist.’ The failure of a single node or negligence by an “Official” will not stop the system from running.

In order to resolve Ethereum’s glaring cost and speed challenges, Primas has designed a “Secondary acceleration” layer. Using token prelocking and multi-stream parallel technology also solves scalability issues; in this piece I will not go into the details of this specific technology. Sometime ago, Vitalik Buterin tweeted in support of secondary layers on top of Ethereum and mentioned how these layers could meaningfully support applications. As if he was well-versed in Primas, Vitalik’s words accurately sum up the Primas secondary acceleration layer and and Dapp.

I cannot agree more with Vitalik’s words.

This year, everyone is talking about public chains, declaring current public chains as being unable to support large-scale applications, this being the largest and most relevant technical obstacle to overcome. From this, various public chain projects have sprung up, all claiming “1 million TPS.” Investors seem only interested in the public chains and have personally approached me asking me what Primas is doing to which I reply that we are able to support extremely large-volume of users on Ethereum. Half did not believe me, the other half said “Oh, you’re just a DApp.”

Getting ahead of myself... 
Ultimately, the Primas DApp is not directly connected to the Ethereum, but first connected to the middle “secondary acceleration network layer”, which is then connected to Ethereum. This middle layer is also completely decentralized and consists of a number of nodes. On moble, the Primas DApp is connected to a Primas node in order to access the Primas network. Primas nodes provide API services for mobile applications in enable connecting to the blockchain and directly writing upon it.

Anyone can be a Primas Node.

Being a node supports the operation of the Primas system, which is at the core of Primas’ complete decentralization. Similar to bitcoin mining, users can be a Primas node in order to serve the entire Primas system; node operators will also be rewarded with PST. This ensures that as long as the PST is valuable, someone will be willing to run the Primas Node as a node and the system will continue to operate.

The secondary acceleration network uses a consensus model similar to PoS. It is called “PoS-like” because only the PoS staking, verification and penalty mechanisms are used; the data structure of the blockchain is not used — This actually constitutes the core of acceleration. The primary layer is responsible for Tokens and governance whereas the secondary layer takes the single-flow structure of the blockchain and divides it into multiple parallel streams. From there, concurrency, double-spending and verification problems are solved by other means. This kind of acceleration scheme is not a general scheme. In fact, I also feel that there is no universal scheme that will be applicable in ALL cases. There is no way logical way to completely satisfy the apparant “strong consensus (security) vs speed” conflict. 

In more layman terms: to be a node, you must possess and stake PST. If you do something that the other nodes agree to be unacceptable, your staked tokens will be returned to the collectives. 

So this is a completely “centreless”, self-governing system with the role of the “official” being reduced to early stage promotion, development, and running a node, nothing more. If someone else runs a node, they will have exactly the same power as any “official”. 

So why do people say an “official” can remove a user’s PST?

This is because the PST in question was originally loaned to these users. Primas relies on the economic incentive system to reduce the effectiveness of people trying to exploit the system. The unfortunate result of which was the establishment of quite a high threshold for beginners — users require PST to start using the Primas DApp but many of Primas’ target users have no idea how to purchase and transfer cryptocurrencies. So in the early stage of the project, in order to allow more people to use the DApp, Primas designed a “lending PST” function in the system, which allowed node operators (of the official is one) to lend PST, thus lowering the threshold for new users. As it is borrowed PST, the system, through use of smart contracts is designed to reclaim this PST after a determined period of time. Note that the PST loaned here is real. If the node operator wants to lend PST to a user, it must have enough PST.

Another area that received complaints was how “Official” account disallowed token incentives to users after their article was posted. In order to prevent users from plagiarising or publishing inappropriate content, before posting an article, a certain amount of PST will be locked for a number of days. If the article is reported and confirmed to be in breach of group rules within this time, these tokens will be distributed to the community. Upon confirmation, the credit score of the person being reported will also be reduced, thus affecting all future income gains. One question here is who will confirm the content that is being reported. In principle, of course, it is confirmed by the community, there will be a mechanism similar to voting or proxy voting. This part has not yet been completed, so it is temporarily confirmed by our “Decision Committee”. So this part is itself a decentralized system design, not an official “centralized” behavior.

What's next?

I know that everyone is actually more concerned about the design of the Primas economic incentive system. The Primas system has been developed for so long and subsequently the economic incentive system itself has seen so many iterations. In the next article I will address this part in more detail.

I hope you learnt something after reading this and once again, thanks for all your continued support!

Primas