<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.9.2">Jekyll</generator><link href="https://www.state-of-the-art.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://www.state-of-the-art.io/" rel="alternate" type="text/html" /><updated>2023-01-12T00:14:14-08:00</updated><id>https://www.state-of-the-art.io/feed.xml</id><title type="html">State Of The Art</title><subtitle>We look for the future society of free creators and prepared this site as the open software initiative where everyone can take care about the beloved opensource project and get paid for the contribution.</subtitle><author><name>Rabit</name><email>rabit@state-of-the-art.io</email></author><entry><title type="html">aSocial project description</title><link href="https://www.state-of-the-art.io/project/asocial/distributed/network/encryption/asocial-description/" rel="alternate" type="text/html" title="aSocial project description" /><published>2021-01-30T19:00:00-08:00</published><updated>2021-01-30T19:00:00-08:00</updated><id>https://www.state-of-the-art.io/project/asocial/distributed/network/encryption/asocial-description</id><content type="html" xml:base="https://www.state-of-the-art.io/project/asocial/distributed/network/encryption/asocial-description/">&lt;p&gt;Hello dear reader,&lt;/p&gt;

&lt;p&gt;The aSocial project was started quite a long time ago (~28.12.2013) when I combined my thoughts
about the distributed social system and Bitcoin network to fix the spam issue. Unfortunately the new
projects forced me to put this one into desk, but I think the time has finally come to rethink it
from scratch and drive forward. And here I will describe what kind of ideas is in the project and
what is the base for it.&lt;/p&gt;

&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;/assets/images/blog/2021-01-30/asocial_logo.png&quot;&gt;&lt;img src=&quot;/assets/images/blog/2021-01-30/asocial_logo.png&quot; alt=&quot;aSocial logo&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;aSocial&lt;/strong&gt;: “Share your data with the ones you trust the most”&lt;/p&gt;

&lt;h1 id=&quot;rough-summary&quot;&gt;Rough Summary&lt;/h1&gt;

&lt;p&gt;The modern world is a collection of centralized social networks and instant messengers which are
happy to own your social information without any restrictions on its actual use. This project was
created to solve the unpleasant problems of centralizing the storage of important information, fight
censorship, simplify communication and interaction of people, and also protect them from outside
encroachments.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/assets/images/blog/2021-01-30/asocial_ui_main.png&quot;&gt;&lt;img src=&quot;/assets/images/blog/2021-01-30/asocial_ui_main.png&quot; alt=&quot;aSocial UI main&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;aSocial&lt;/strong&gt; - is a distributed, private and secure social network for those who care about freedom
of communication and want the complete control over their social information. It will allow you to
interact using secure communication channels, store your memory of generations on your controlled
devices, fight useless information through paying for its reception, simplify the search for new
acquaintances and open up opportunities for building reliable and secure social applications.&lt;/p&gt;

&lt;p&gt;Naturally, the source code will be completely open to the public - nowadays it is impossible to
trust closed products and closed algorithms with which they handle our data. The platform will be
based on the p2p communication technologies, in which there is no central server - which improves
security and censorship resistance to a level unattainable for modern communication systems. It will
open up the opportunity for information monetization using Bitcoin &amp;amp; Lightning networks, pave the
way for simplifying interfaces, remove difficulties and worries in the distribution of content,
unify and protect the storage and processing of social information, allow flexible interaction with
history - in general, it will give full control over what, how and when it happened, is happening
and will happen in your life, the lives of your friends, relatives and other social agents.&lt;/p&gt;

&lt;h1 id=&quot;1-project-overview&quot;&gt;1. Project overview&lt;/h1&gt;

&lt;h2 id=&quot;11-purpose&quot;&gt;1.1. Purpose&lt;/h2&gt;

&lt;p&gt;The main goal of the project is to create a distributed and secure platform for user interaction in
any form without restrictions.&lt;/p&gt;

&lt;p&gt;Freedom and privacy of interaction are the most valuable good for the individual and it should be
strived for, and it cannot be subject to any restrictions. Even if this communication may seem
“harmful” to someone, this is only a private judgment and everyone is free to choose their own
destiny in connection with the circle of their communication.&lt;/p&gt;

&lt;p&gt;The system must also be sufficiently secure to also provide the ability to deny the interaction,
since this is a personal choice of the individual - to disclose any personal information or not,
we live in an imperfect world in which many threats depend on information received by criminals.&lt;/p&gt;

&lt;h2 id=&quot;12-scope&quot;&gt;1.2. Scope&lt;/h2&gt;

&lt;p&gt;In general, aSocial should become the most widespread system for interaction and storage of social
information, breaking down barriers between people and simplifying communication and processing of
such data, including freeing society from excessive centralization.&lt;/p&gt;

&lt;h2 id=&quot;13-core-features&quot;&gt;1.3. Core features&lt;/h2&gt;

&lt;p&gt;In order to build a better social system, you need to think about the main features in which I can
include:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Modularity&lt;/strong&gt; - you can add or throw out not important system components (UI - native, WEB,
console) or replace important ones with analogs (databases, for example). This will allow the system
to be deployed on servers or wearable devices while meeting the specified security and
responsiveness requirements.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;History&lt;/strong&gt; - is not only the ability to create elements (events, agents …) at the right times,
but also to observe their changes over time. For example, changing your friend’s last name is
important information, incl. the opportunity to see how it was before the change is no less
important.
    &lt;ul&gt;
      &lt;li&gt;End-to-end change history with the ability to rewind&lt;/li&gt;
      &lt;li&gt;Timeline is a convenient display of events and areas of life (lived / worked) for agents&lt;/li&gt;
      &lt;li&gt;Grouping and tagging changes&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Persons&lt;/strong&gt; - are basically profiles of people or organizations with whom we interact in society.
They may not have a profile, but exist as your (or collective) memory of them. You can leave your
vision about any person.
    &lt;ul&gt;
      &lt;li&gt;A profile can have several persons for different tasks, for example “Friends”, “Work”,
 “Relationships” and any others. A separate address is generated for these and are used as a
 starting point for communication.&lt;/li&gt;
      &lt;li&gt;Each profile has a pair of keys, which is used to generate invite keys so can form a tree of
 connections and you can work with information in terms of leaves or branches or the whole tree.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Events&lt;/strong&gt; - “what happens”, usually has a beginning and sometimes an end, like the current place
of residence, work, school, party, or when you find something important.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Messages&lt;/strong&gt; - both communicating with other agents and requesting profile updates (which occur
mainly in the background).
    &lt;ul&gt;
      &lt;li&gt;Tied to monetization to solve the spam problem.&lt;/li&gt;
      &lt;li&gt;Thread tree with the ability to transfer messages&lt;/li&gt;
      &lt;li&gt;Title / description / tags of branches&lt;/li&gt;
      &lt;li&gt;Easy import from other messengers / social networks&lt;/li&gt;
      &lt;li&gt;Update request (news from the media, for example)&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Overlays&lt;/strong&gt; - are an opportunity to have your own opinion on any information you’ve got. They can
be protected (password) or unprotected, optional (enabled and disabled as needed) and associated
with certain base objects or creating new objects. For example, you can add a friend to your
network, even if he does not have a profile, and later, if he is added, link his profile. Or, in the
overlay, you can change its name to an alternative one.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Synchronization&lt;/strong&gt; - you own several devices and these devices can sync profiles between each
other and perform different roles, for example, you can fumble your favorite collection of movies
from the desktop, but still not have them on your phone.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Sharing&lt;/strong&gt; - needed for transferring multimedia and other files. Uses bittorrent for upload and
download.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;14-additional-features&quot;&gt;1.4. Additional features&lt;/h2&gt;

&lt;p&gt;On the basis of the basic capabilities, additional functionality will be made (or even follows):&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Tree of life&lt;/strong&gt; - each of us has a generational history that we want to pass on to our children,
so why not on the same social network? This is a convenient display of family ties between persons.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Wills&lt;/strong&gt; - are a type of stored messages and the ability to set conditions for activating their
sending or destruction. Free on controlled devices and paid on relays. For example, being offline
for a month triggers the distribution of these messages.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Contracts&lt;/strong&gt; - are messages in which you agree to certain obligations. These obligations are
signed by both parties, they can block certain funds for a certain period, etc.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Web interface&lt;/strong&gt; - is a module with which you can access your profile remotely using HTTP, you
just need to launch the application, enable the module in the settings and open the desired host and
port in the browser.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Consensus&lt;/strong&gt; - is an addition to group chats to quickly resolve issues of agreement with a group
of people. If the person agrees with the proposal, then one vote is added. If not, he opens a
discussion to find a compromise among all participants. A decision is made as soon as each member of
the group agrees.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h1 id=&quot;2-obstacles&quot;&gt;2. Obstacles&lt;/h1&gt;

&lt;h2 id=&quot;21-general&quot;&gt;2.1. General&lt;/h2&gt;

&lt;p&gt;The development of aSocial will cause the following problems:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Most likely, it will be too difficult on my own - I can miss important points and miscalculate in
the main ideas, therefore peer-review and discussion of concepts are necessary in the early stages
of building the system. For this, this document exists - to immerse potential associates in the
problem and identify missed moments in order to continue interaction in the future and jointly bring
the system to a ready state.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The adoption of the new social network by users will face obvious challenges:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;User suspicion - anything new naturally raises questions, especially so many innovations. Again,
the openness of the project can in general terms solve the question of suspicion - but you will
probably have to make additional efforts to show and tell.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Resistance from politicians - they will try to put a spoke in the wheel because of the
conservatism and the complexity of managing a decentralized system. Also, lobbying large
corporations (Facebook) may have an impact on overall development. The path of bitcoin in this
regard seems to be reasonable - users will choose a more convenient system no matter what.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Counteraction of intelligence services - they always want to get into user communications under
the guise of fighting terrorism, which is obvious nonsense. They will try to embed backdoors under
the guise of useful functions, but I think that the open nature of the platform, community auditing
and the lack of centralized management neutralize this risk to a minimum.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;22-technical&quot;&gt;2.2. Technical&lt;/h2&gt;

&lt;p&gt;Such distributed systems require special care in the development of the interaction protocol, since
it will be quite problematic to change it.&lt;/p&gt;

&lt;h1 id=&quot;3-industry-and-market-risks&quot;&gt;3. Industry and Market Risks&lt;/h1&gt;

&lt;p&gt;Social networks and messengers (these areas are the focus of this development), so entry to the
market is initially based on stakeholders (geeks, programmers, security professionals), from where
it may well spread further if convenient means of interaction are available.&lt;/p&gt;

&lt;h1 id=&quot;4-budgetary-risks&quot;&gt;4. Budgetary Risks&lt;/h1&gt;

&lt;p&gt;Development is driven by pure enthusiasm, so budgetary risks are irrelevant, at least during the POC
development stage. As soon as the budget appears, they will need to be revised.&lt;/p&gt;

&lt;h1 id=&quot;5-hardware&quot;&gt;5. Hardware&lt;/h1&gt;

&lt;p&gt;Target platforms for application launch:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Android - most phones and wearable devices in the world&lt;/li&gt;
  &lt;li&gt;Linux - open source and all servers on the Internet&lt;/li&gt;
  &lt;li&gt;Windows is still the majority of workstations and hamsters&lt;/li&gt;
  &lt;li&gt;MacOS - working systems with UI, gradually superseding Windows&lt;/li&gt;
  &lt;li&gt;iPhone - Possibly, but most likely last due to the complexity of the ecosystem.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Separate hardware is not required, but the battery and communication capabilities between devices
will need to be considered.&lt;/p&gt;

&lt;h1 id=&quot;6-software&quot;&gt;6. Software&lt;/h1&gt;

&lt;h2 id=&quot;61-architecture&quot;&gt;6.1. Architecture&lt;/h2&gt;

&lt;p&gt;As the main platform is used by Qt5 with add-ons for each platform, the application is divided into
two modules - backend and frontend:&lt;/p&gt;

&lt;h3 id=&quot;backend&quot;&gt;Backend&lt;/h3&gt;

&lt;p&gt;It deals with background activity - interacts with devices nearby and via the Internet, transmits
and receives data from other devices (for example, someone else’s encrypted messages for further
transmission), receives updates. Stores intermediate already encrypted data in LevelDB.&lt;/p&gt;

&lt;h3 id=&quot;frontend&quot;&gt;Frontend&lt;/h3&gt;

&lt;p&gt;User interface for managing profiles. Main storage is SQLCipher (SQLite with encryption).&lt;/p&gt;

&lt;h2 id=&quot;62-storage&quot;&gt;6.2. Storage&lt;/h2&gt;

&lt;p&gt;For storage, a pair of local databases is used - the built-in unencrypted nosql storage LevelDB,
which is necessary to maintain the data transfer service, and the encrypted sql storage SqlCipher
(add-on over sqlite3) for storing profile data.&lt;/p&gt;

&lt;h3 id=&quot;leveldb&quot;&gt;LevelDB&lt;/h3&gt;

&lt;p&gt;It allows you to store key-value data that is not valuable for a potential attack - these are
connection lists, encrypted relay data… In general, the data that are necessary for interaction
between systems in hibernation mode. Also stores password-encrypted keys from available profiles.&lt;/p&gt;

&lt;h3 id=&quot;sqlcipher&quot;&gt;SqlCipher&lt;/h3&gt;

&lt;p&gt;An encrypted database for storing important profile information. It is decrypted in chunks as needed
using a long key.&lt;/p&gt;

&lt;h3 id=&quot;file-storage&quot;&gt;File storage&lt;/h3&gt;

&lt;p&gt;The described databases are stored on the local file system.&lt;/p&gt;

&lt;p&gt;Regular files and media are stored unencrypted on the file system. Individual photos / videos can be
encrypted directly at the file level if necessary and will be available exclusively from aSocial,
since all known operating systems do not support decryption mechanisms at the file level.&lt;/p&gt;

&lt;h2 id=&quot;63-communication&quot;&gt;6.3. Communication&lt;/h2&gt;

&lt;p&gt;The profile is a set of data encrypted with a cryptographic key, encrypted with a password.&lt;/p&gt;

&lt;p&gt;When initializing a connection with another profile (social agent), a unique key for communication
is created - i.e. any communication with the outside world is carried out on a unique pair of keys
to prevent problems of reusing the same key. This key can only be used by those who received it. You
can also connect additional keys to the profile (or generate them) - they can be used to initialize
new connections, distribute your profile or receive donations / single messages.&lt;/p&gt;

&lt;p&gt;Trying to find other people are, in any case, publishing information, but not necessarily the one
that is posted on your profile: you can create a separate layer in which you can add information of
your choice so that other people can find you.&lt;/p&gt;

&lt;p&gt;During communication, any available means are used - Internet, Mesh, WiFi-direct, Bluetooth, NFC,
USB-dongle … As an interaction protocol, you need to examine the available open source libraries
for messengers. They already support e2e encryption, chats, NAT-traversal and can be useful
initially.&lt;/p&gt;

&lt;h2 id=&quot;64-security&quot;&gt;6.4. Security&lt;/h2&gt;

&lt;p&gt;Security is the starting point of this project. It is not only about encryption, but also the
confidence in complete control over the information you own. Any permissions to provide information
to the outside are completely controlled by the user using filters and privacy levels (implemented
as overlays / layers), which are switched using different passwords and encrypted with different
keys.&lt;/p&gt;

&lt;p&gt;I think everyone wants to appear a lot better for other people than they are - and we see that social
media profiles are mostly pretentious perfect. But modern social networks mostly forget that there
are those very real people behind a beautiful picture who are unable to store their data somewhere
other than their own heads. aSocial will improve this system and allow you to store and share with
certain people even confidential and secret information.&lt;/p&gt;

&lt;p&gt;Thus, aSocial allows you to create different public identities or different faces can be implemented
using different profiles that can coexist on the same device. The base level of the profile is your
public identity.&lt;/p&gt;

&lt;p&gt;When creating a profile for overlays, a randomly sized encrypted space is initialized. This space is
used for placing more secret information on an onion principle (each subsequent level can be opened
from the previous one with a unique password). Thus, any user can deny the very existence of
additional levels.&lt;/p&gt;

&lt;p&gt;Initially, the platform supports full traffic encryption, end-to-end encryption of messages, the
possibility of plausible denial of any action or the presence of a profile at all. Built-in it is
possible to choose an encryption system, depending on the secrecy of the message:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Normal&lt;/strong&gt; - durable and compact, different types can be selected. Size is the compressed original
message.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Ambiguous&lt;/strong&gt; - the ability to send two different messages in a single message, which can be
selected depending on the specified key. The encrypted messages are shuffled and the sampling
algorithm depends on the data in the key.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Shuffled with a random message&lt;/strong&gt; - is a kind of ambiguous, necessary in order to help other
people with ambiguous encryption. The second key is not disclosed, and the data for the second
message is generated randomly. Size - ~ 2x compressed original message. This is the default to
improve the security of the entire system.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Probabilistic&lt;/strong&gt; - a very large message size, just as an additional option for geeks - they are
geeks and know what to use it for :)&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;(ambiguous encryption mixed with garbage, or probabilistic encryption, which implies an increased
cost per message due to its increased size).&lt;/p&gt;

&lt;h2 id=&quot;65-spam-ad--monetization&quot;&gt;6.5. Spam, Ad &amp;amp; Monetization&lt;/h2&gt;

&lt;p&gt;The need to include the payment system in the social network is dictated by modern realities.
Firstly, it allows you to fight spam and advertising, and secondly, it is an opportunity to create
a new platform for the monetization of information and its distribution.&lt;/p&gt;

&lt;p&gt;The main problem of spam and advertising is distraction, they literally gobble up our time, thus we
pay our most expensive resource for someone else’s and mostly useless for most product promotion.
Remember incoming SMS on GSM networks - they are distracting, advertising on the Internet is
insanely distracting. Based on this, we must fight against such harmful phenomena, and the best way
to fight is to increase the payment for displaying the message. Thus, the user has the opportunity
to restrict the circle of persons, while not completely blocking messages from the outside.&lt;/p&gt;

&lt;p&gt;In aSocial, you can set the board to receive messages of several levels depending on the value of
the communication frequency. Thus, you will receive a fee and after that a message appears; if the
fee is less than the minimum, it is ignored. The importance of the message is selected depending on
the level of payment:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;Minimal - the message appears in the message list, there is no user notification. Used for
subsequent messages in an active conversation.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Medium - additional to the minimum - normal pop-up window with a notification about the arrival of
a message. It is used by default for the first message of a new conversation or for continuing a
conversation after a long time.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Promoted - important messages with a special pop-up window and continuous notification that does
not stop until the message is read.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Billing depends on the size of the message - a larger message will take longer to read.&lt;/p&gt;

&lt;p&gt;A request (update) of information may also require payment - for example, a public figure or the
media may demand a payment for receiving public information about him / the latest news.&lt;/p&gt;

&lt;p&gt;The technology used is Bitcoin (like the Lightning network). When you add a new contact, you set up
a new Lightning channel for exchanging funds - and they are sent back and forth when you exchange
messages. First, you receive a message and a transaction ID sent to the Bitcoin network to initiate
a lightning microtransaction channel. You receive it (if the funds sent are sufficient) and continue
communicating via the open lightning channel or close it and collect the funds received. In fact,
messages are sent along with the contract for the transfer of payment, so before distracting you -
aSocial will check the validity of the transaction.&lt;/p&gt;

&lt;p&gt;When using relays (sending and temporary storage of a message - for example, due to the
inaccessibility of direct communication with the recipient), you additionally pay for the reception
and storage before sending it to the relay operator. In mesh networks (based on bluetooth / wifi and
other short-range communication systems), users can also charge a small fee for sending / storing a
message - but by default such a relationship is free, but it is regulated by the cache size, the
budget for application activity and the device charge (to regulate battery consumption and other
resources).&lt;/p&gt;

&lt;p&gt;For example, you are a world famous creator of the Linux kernel, your time is insanely expensive -
and you have the right to set a fee for incoming messages: for close friends with whom you often
communicate - the fee may be close to zero, for outside unknowns - the fee is set depending on your
requirements.&lt;/p&gt;

&lt;p&gt;A good cost guideline is your hourly salary (distraction for an hour) multiplied by 2..4 (because
it’s a personal time). With your hourly payment of $20, the cost of a message from a stranger will
be priced ~$40-$60 (~1mBTC with 1BTC = $34000) seems quite reasonable. I would read a spam message
for $60 - no question at all ;)&lt;/p&gt;

&lt;h1 id=&quot;7-predecessors&quot;&gt;7. Predecessors&lt;/h1&gt;

&lt;p&gt;Multiple social networks and messengers have already been created in the world with varying degrees
of security, decentralization, convenience - so you need to understand on what foundation this
development begins. Here are a few major development milestones:&lt;/p&gt;

&lt;h2 id=&quot;71-centralized&quot;&gt;7.1. Centralized&lt;/h2&gt;

&lt;h3 id=&quot;irc--icq--jabber&quot;&gt;IRC / ICQ / Jabber&lt;/h3&gt;

&lt;p&gt;It all started with IM and chats, as people wanted to communicate. They allow you to exchange
messages, links, participate in discussions and store history, but they are very limited in
transferring your Self to the virtual space, i.e. not suitable for storing social information.
They have their own user database and are mostly centralized or federated.&lt;/p&gt;

&lt;h3 id=&quot;facebook--vk&quot;&gt;Facebook / Vk&lt;/h3&gt;

&lt;p&gt;The first popular social networks in the full sense of the word. They stood out for their ease of
use and the absence of a separate client (WEB-interface). Allowed to more or less conveniently
search for classmates and friends (allowed to create a profile with a good life description), as
well as share content with them in the form of a wall on your personal page - and this has gained
immense popularity among users.&lt;/p&gt;

&lt;p&gt;Their main problem was centralization - this is a huge pot of honey (like any more or less large
database), attracting insiders and hackers. They also do not support p2p encryption, are saturated
with ads and sell / distribute your information to the right and left. I think today it is already
obvious that trusting your information for free is not only useless, but also harmful. The benefit
to the end user is negligible, and the damage received (from ads, leaks, errors, blocking,
censorship) is much greater.&lt;/p&gt;

&lt;h3 id=&quot;twitter--instagram--youtube&quot;&gt;Twitter / Instagram / Youtube&lt;/h3&gt;

&lt;p&gt;Highly specialized, centralized social networks that have taken over all the shortcomings of their
older brothers.&lt;/p&gt;

&lt;h3 id=&quot;skype--whatsapp--telegram--signal--wire--slack&quot;&gt;Skype / WhatsApp / Telegram / Signal / Wire / Slack&lt;/h3&gt;

&lt;p&gt;Active messengers that do their job pretty well, which are mainly aimed not at some semblance of
privacy, although they are still centralized in nature and focused on “not storing” classified
information (secret chats), which generally negates their usefulness.&lt;/p&gt;

&lt;h2 id=&quot;72-distributed&quot;&gt;7.2. Distributed&lt;/h2&gt;

&lt;p&gt;Unfortunately, &lt;a href=&quot;https://en.wikipedia.org/wiki/Comparison_of_software_and_protocols_for_distributed_social_networking&quot;&gt;the majority of distributed social networks&lt;/a&gt;
are somehow written in web-based languages, which imply client-server interaction and undermine the
very essence of distribution. These are usually complex to install, requiring databases and
non-trivial skills to maintain. Others are heavily outdated, investor-controlled or in their
infancy…&lt;/p&gt;

&lt;h3 id=&quot;retroshare&quot;&gt;RetroShare&lt;/h3&gt;

&lt;p&gt;Good, but drawn-out development of a decentralized messenger. Interesting developments in
decentralized communication using DHT, tor / i2p and NAT-piercing, which can be adapted to work in
aSocial. Disadvantages as a messenger include:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Poor support for mobile devices - In today’s world, it is difficult to imagine an application that
is not natively focused on wearable devices.&lt;/li&gt;
  &lt;li&gt;Morally outdated interface shipping in 2000&lt;/li&gt;
  &lt;li&gt;It looks more like an attempt to combine disparate technologies for user convenience, rather than
an attempt to rethink communication.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;diaspora--matrix-and-other-server-based&quot;&gt;Diaspora / Matrix (and other server-based)&lt;/h3&gt;

&lt;p&gt;It is aimed at combating centralization rather than user security and privacy. The concept of pods
implies a half-measure - your information is still owned by someone other than you. Of course, you
can raise your pod - but this is a very non-trivial task.&lt;/p&gt;

&lt;h3 id=&quot;openbazaar&quot;&gt;OpenBazaar&lt;/h3&gt;

&lt;p&gt;Those who got close enough to decentralization and anonymity, but deviated from their original
ideas, the project of an open market and replacement for ebay / amazon marketplaces. He successfully
uses Bitcoin for settlements, but caved in under pressure from investors and turned off the built-in
anonymity functionality.&lt;/p&gt;

&lt;h1 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h1&gt;

&lt;p&gt;Overall the aSocial project should be the huge win for everyone, so soon I will prepare the project
page and share the rewritten build system to start it again.&lt;/p&gt;</content><author><name>Rabit</name><email>rabit@state-of-the-art.io</email></author><category term="project" /><category term="asocial" /><category term="distributed" /><category term="network" /><category term="encryption" /><summary type="html">Hello dear reader,</summary></entry><entry><title type="html">What’s wrong with the IT contracts</title><link href="https://www.state-of-the-art.io/legal/law/contract/employment/future/whats-wrong-with-the-it-contracts/" rel="alternate" type="text/html" title="What’s wrong with the IT contracts" /><published>2020-09-24T20:00:00-07:00</published><updated>2020-09-24T20:00:00-07:00</updated><id>https://www.state-of-the-art.io/legal/law/contract/employment/future/whats-wrong-with-the-it-contracts</id><content type="html" xml:base="https://www.state-of-the-art.io/legal/law/contract/employment/future/whats-wrong-with-the-it-contracts/">&lt;p&gt;Hello dear reader,&lt;/p&gt;

&lt;p&gt;Recently I found that my current employment contract contains a quite huge problem - it claims
everything that is intersects to the company business will belong to the company. And this is the
standard situation in California and in the USA, this is wrong, outdated and I will explain why.&lt;/p&gt;

&lt;h2 id=&quot;setup&quot;&gt;Setup&lt;/h2&gt;

&lt;p&gt;Ok, let me set up the environment to properly explain what’s happening. First of all - most of the
IT guys are working with the standard &lt;strong&gt;At-Will&lt;/strong&gt; contract, which terms are describing the ownership
of the &lt;strong&gt;intellectual property&lt;/strong&gt; made during the employment time. Usually the general understanding
of these terms: “if I will work on my side projects in my free time with my own resources - I will
be good”. But that’s a general mistake, because the contract is much more complicated.&lt;/p&gt;

&lt;p&gt;As far you know - State Of The Art was created to be the official face for open source projects and
of course I followed those simple rules, until my company started to change the entity type. They
asked us to sign the new contract, which was quite the same, but contained a catch-phrase “including
during my off-duty hours” right in the IP Ownership section. That phrase broke my understanding of
the terms and triggered me to look deeply into the contract. After consultations with an attorney -
I found that this is actually true.&lt;/p&gt;

&lt;h2 id=&quot;terms&quot;&gt;Terms&lt;/h2&gt;

&lt;p&gt;According to the contract and existing CA law - even if you work on your project during your
off-duty hours and it intersects with the company business - you screwed. Even if you have no idea
what’s the company business besides your current job (you just a developer working on not a related
project) - that doesn’t mean that your side-project will be in safe.&lt;/p&gt;

&lt;p&gt;The CA exception just complicates the things and to describe the rules it will be better to show
this diagram of the applied rules:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/assets/images/blog/2020-09-24/contract_terms_schema.png&quot;&gt;&lt;img src=&quot;/assets/images/blog/2020-09-24/contract_terms_schema.png&quot; alt=&quot;Contract terms override schema&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this schema you can see 3 stages, where step-by-step applied the most important terms combining
them to the completed stack of what’s good and what’s bad.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;First stage - is your contract. Usually it’s as strict as possible, meaning “everything you do
belongs to the company”.&lt;/li&gt;
  &lt;li&gt;Second stage - is the first part of USA CA exception “Labor Code section 2870”. It shows you good
good news, so here the employee usually stops to read and skips the next one:&lt;/li&gt;
  &lt;li&gt;Third stage - second part of the exception, that returns you from heaven to earth. That’s the
final result of the contract terms.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you touched any red block of the third stage - you’re at potential risk of being sued.&lt;/p&gt;

&lt;h1 id=&quot;result&quot;&gt;Result&lt;/h1&gt;

&lt;p&gt;Since the current IT companies (IT-gigants) are making money out of anything that relates to IT -
such a contract brings the huge risks for the guys, who want to polish their own projects without
asking permission for each step. Of course that doesn’t mean the company will chase you for small
homemade things, but if the question will be about the real money - for the company could choose
this way, just because it’s quite simple for them.&lt;/p&gt;

&lt;p&gt;I don’t think it’s fair and even tried to negotiate with the company to change the contract to
the proper terms (instead of the “business” it should be related just to the tasks you executing),
but it could take a while to change the top-managers mindset. Such changes could even bring benefit
for the companies, for example:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Employees have less fear for their future, and so their mind is not restricted by the contract -
they can think more about interesting things and feel better - means work and innovate better, that
will speed-up the progress.&lt;/li&gt;
  &lt;li&gt;New and (most important) highly qualified employees will come to the company for such an
innovative proposal - that will give the company an important advantage even in a field dominated by
tech giants, which will improve the value of the company in every way.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Overall it could make sense - but for sure the first step is to make sure everyone knows about this
unfairness, that it is killing the opportunity for the startups, even if you follow all the standard
precautions.&lt;/p&gt;

&lt;p&gt;Hopefully soon the future will be much more bright for everyone, including the IT guys.&lt;/p&gt;

&lt;p&gt;Thank you&lt;/p&gt;</content><author><name>Rabit</name><email>rabit@state-of-the-art.io</email></author><category term="legal" /><category term="law" /><category term="contract" /><category term="employment" /><category term="future" /><summary type="html">Hello dear reader,</summary></entry><entry><title type="html">Lack of the Trust</title><link href="https://www.state-of-the-art.io/thoughts/opensource/decentralization/lack-of-the-trust/" rel="alternate" type="text/html" title="Lack of the Trust" /><published>2019-08-31T22:10:00-07:00</published><updated>2019-08-31T22:10:00-07:00</updated><id>https://www.state-of-the-art.io/thoughts/opensource/decentralization/lack-of-the-trust</id><content type="html" xml:base="https://www.state-of-the-art.io/thoughts/opensource/decentralization/lack-of-the-trust/">&lt;p&gt;Hello reader, nice to see you here again.&lt;/p&gt;

&lt;p&gt;Today it will be great to show some concerns about our surrounding reality.&lt;/p&gt;

&lt;p&gt;Around us we have a lot of systems that make our life easier: messengers, search engines, social
networks, taxi. And it’s not just about IT systems: banks, government services, stores - but they
are going online more and more.&lt;/p&gt;

&lt;h2 id=&quot;current-status&quot;&gt;Current status&lt;/h2&gt;

&lt;p&gt;The one common thing about all these services - is centralization, which is not so bad, until you
start to think about your privacy. All these guys are collecting your personal information and we
have to trust them that their systems are protected enough to resist multiple attacks. And that’s
far-far away from reality.&lt;/p&gt;

&lt;p&gt;Business is working in a wrong direction - it’s not trying to build a product, it just tries to get
IPO and to do that will use any dirty methods. And the customers of such businesses are the first
victims.&lt;/p&gt;

&lt;p&gt;Any business is about money and security is one of the most expensive parts of any business expenses
that usually lacks expertise, time or budgets. How is it looking at the big companies? Someone
promised to build a security system, building something and after that saying - “it’s secure”.
Security department could check some common cases using existing tools, but overall it’s just a
minimal security check. If the system is not built protected and not architecture well from the
beginning - it has no security at all.&lt;/p&gt;

&lt;p&gt;It’s impossible to secure the system when it’s already built - and usually developers and the other
guys just have no clue how to build a protected system. Multiple companies are driven by the guys
who don’t want to spend money to protect your data - of course on paper, it will be perfect, but
under the hood it’s a mess.&lt;/p&gt;

&lt;h2 id=&quot;proprietary-systems-are-dead&quot;&gt;Proprietary systems are dead&lt;/h2&gt;

&lt;p&gt;Probably it’s a little bit early to say such harsh words, but we need to be prepared - the future is
ruled by OpenSource and OpenHardware. Corporations just don’t have enough resources (money,
expertise, will) to build really secure systems.&lt;/p&gt;

&lt;p&gt;All the high-level professionals are already tasted the freedom of open source and the community -
those projects are doing good and not going to go away.&lt;/p&gt;

&lt;p&gt;With Facebook - you can’t check where your data is going, how it’s managed and who is using it. You
can’t be sure Facebook will be available tomorrow - servers could just go away and you will never
see your data again. Of course the possibility of such an outcome is relatively small - but what if?
Just imagine and you will be terrified - all your likes and photos are gone, all your beloved
connections and history is gone.&lt;/p&gt;

&lt;p&gt;The even bigger story is about “the real world” - mobile operator shut down? How you could be
ensured that your bank account will not be blocked today? What you will do if the entire financial
system, managed by “very smart people”, will go down?&lt;/p&gt;

&lt;h2 id=&quot;ok-so-the-future-is-doomed&quot;&gt;Ok, so the future is doomed?&lt;/h2&gt;

&lt;p&gt;The answers are developing their way forward right now - alternative systems of free communication,
doing business, finances - it’s a parallel universe that will replace the current broken one when it
will fail again. And many of us are living in both universes right now.&lt;/p&gt;

&lt;p&gt;Unfortunately, there is still no really good system for communication, but they are going forward to
enforce our privacy and we can really trust them. Such systems is quite complicated (and we’re still
working on one system) and p2p encryption is still not enough - we’re living in a really scare world
which requires us to protect ourselves, so we have to have a way to hide our identity from the
others, store the data locally, way to control the known information and a way for plausible
deniability.&lt;/p&gt;

&lt;p&gt;Sharing data is still too complicated and many ones are afraid of the torrent system. But p2p
synchronisation of the files is working good enough, we just need to adapt the interface for users.&lt;/p&gt;

&lt;p&gt;Business applications are still too custom and proprietary, but the ways of making money transforming
right now (and we’re trying to make this happen sooner).&lt;/p&gt;

&lt;p&gt;About the financial system there is just one, but huge player - Bitcoin. Seems like it will win the
cryptocurrency race and will change the world we see right now - no matter how banks or government
will try to resist - it’s too good an answer for the issues we have right now to finally store some
trust in the automated monetary system.&lt;/p&gt;

&lt;p&gt;When money will be automated (means everyone will use it) - decentralized applications will finally
get some base to build on - and this is a totally different story of internet 2.0.&lt;/p&gt;

&lt;h2 id=&quot;but-what-to-do-right-now&quot;&gt;But what to do right now?&lt;/h2&gt;

&lt;p&gt;Oh, it’s quite simple:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Avoid proprietary systems if there is a good open source alternative - for example, it’s always a
good time to start to learn more about Linux.&lt;/li&gt;
  &lt;li&gt;Make sure you own your data - proprietary platforms are allowing you to download your data, so use
this to be ready if something will go wrong.&lt;/li&gt;
  &lt;li&gt;Don’t trust centralized services - even if the client and server are open sourced, the central
server is always a point of disconnect.&lt;/li&gt;
  &lt;li&gt;Don’t rely on the existing centralized dependencies - for example, if a messenger account creation
requires you to provide a phone number or email - that means it’s a broken system.&lt;/li&gt;
  &lt;li&gt;Don’t share too private information - delete your account in Facebook is too suspicious for the
others, so have something about you there, but not it all of course - just enough for plausible
confirmation.&lt;/li&gt;
  &lt;li&gt;Know how to process the incoming information, be flexible and rationale - in two words: stay
alive.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You always should be ready and calculate your risks properly - just remember, there are still enough
issues to solve and we’re waiting for your experience to make this world better.&lt;/p&gt;</content><author><name>Rabit</name><email>rabit@state-of-the-art.io</email></author><category term="thoughts" /><category term="opensource" /><category term="decentralization" /><summary type="html">Hello reader, nice to see you here again.</summary></entry><entry><title type="html">State Of The Art goals</title><link href="https://www.state-of-the-art.io/goals/about/our-goals/" rel="alternate" type="text/html" title="State Of The Art goals" /><published>2019-04-06T21:02:10-07:00</published><updated>2019-04-06T21:02:10-07:00</updated><id>https://www.state-of-the-art.io/goals/about/our-goals</id><content type="html" xml:base="https://www.state-of-the-art.io/goals/about/our-goals/">&lt;p&gt;Welcome dear reader! Today I want to tell you about the future.&lt;/p&gt;

&lt;p&gt;I’m just a regular engineer and have been working for companies that need my skills to automate
their processes. What I see for all of the years - that a huge number of people making some useless
things (in general of course). They just waste their time trying to appease the bosses, compromise
with conscience - no one wants to lose their place and as result: again and again they are build not
good solutions with huge tech debt. Such company projects just can’t satisfy worker curiosity, don’t
allow self-realization and ultimately kill any craving for the creation of new and interesting
things.&lt;/p&gt;

&lt;p&gt;But anyway the day will come and almost everyone will realize that their time is going away. Every
year they ask themselves “What I’ve reached/learned/done this year?” and if the answer is just “Fed
my family by sitting in the workplace doing meaningless things”, then such guys will never feel
good. And these guys are not just regular mules - they are high-level professionals, the most
important asset of any company. They have their dreams, but need to spend their life in this way -
because what can they do with it?&lt;/p&gt;

&lt;h2 id=&quot;the-future&quot;&gt;The future&lt;/h2&gt;

&lt;p&gt;When someone asks me how society will look in the future - I will tell them about the &lt;em&gt;unity of free
creators&lt;/em&gt;. They live and the main purpose of their existence is self-realization. They have enough
money to live, but they can’t picture themself without creating something new - without reaching new
horizons and taking new peaks. They are artists, musicians, architects, developers, programmers.
They are creators.&lt;/p&gt;

&lt;p&gt;Why are they doing this? Because in the future AI &amp;amp; robots are doing boring things and for humans
there is the only one job - to generate ideas, think about realization, telling AI what needs to be
done and pointing to the next goal.&lt;/p&gt;

&lt;p&gt;Of course, it’s just an imaginary future, but think about it - many creators are already trying to
fight the system, just live and build new things. But reality tells them - you need to feed yourself
and your family, which means you need to spend your precious time doing some proprietary things that
will never be seen by the rest of the world. So they can’t get satisfaction from their work even if
they are building something interesting - if no one will see that - than what is the point? Just to
get some money and spend the rest of their time for the pet-projects.&lt;/p&gt;

&lt;p&gt;Many programmers are going to opensource to help others with their ideas or starting their project
as open source - because right now it’s the best way to actually do something. Usually they have
enough money, but don’t have enough time to plunge into the idea.&lt;/p&gt;

&lt;p&gt;And who are these guys? It’s specialists, professionals who know what they are doing. They want to
know more, jump higher, run faster than anyone else. But they are stuck in a 5d/8h daily job where
they usually do something that will never be used by anyone.&lt;/p&gt;

&lt;h2 id=&quot;why-and-how&quot;&gt;Why and How?&lt;/h2&gt;

&lt;p&gt;So this project is gonna change the world of IT development.&lt;/p&gt;

&lt;p&gt;Companies will never hire someone to just sit and get a salary. Companies will have open tickets to
build something and anyone could join and get the bounty if their solution is good enough. Most of
the businesses right now using open source software and they need to understand that proprietary
software is already resigned. So why are they still spending money to create such new useless
things?&lt;/p&gt;

&lt;p&gt;It will be much better to create a ticket in some open source application and set some bounty for
the one, who will prepare a good solution and it will be merged to the project (or will just be good
enough to fit the customer’s requirements).&lt;/p&gt;

&lt;p&gt;Of course it’s just a raw thought and some details probably will be different, but overall it will
somehow solve the issue with a developers free time: someone found an interesting ticket and started
to do it. When he did it - community &amp;amp; customer reviewing it and deciding what changes need to be
applied. When the code is merged with the codebase - executor is getting a reward.&lt;/p&gt;

&lt;p&gt;Creator does not belong to a company or managers anymore - he is free to do whatever he wants. So
this could turn the page of our history, but of course need to be tested. So &lt;em&gt;State Of The Art&lt;/em&gt; is
here to try this approach, correct it and show it to the rest of the world.&lt;/p&gt;

&lt;p&gt;If it will work well - we will be one step closer to a different world where creators are free.&lt;/p&gt;

&lt;p&gt;If it will not - so, we will try something else. Optimization and automation will find the best way
for us and for our future.&lt;/p&gt;</content><author><name>Rabit</name><email>rabit@state-of-the-art.io</email></author><category term="goals" /><category term="about" /><summary type="html">Welcome dear reader! Today I want to tell you about the future.</summary></entry><entry><title type="html">Welcome Creator!</title><link href="https://www.state-of-the-art.io/welcome/welcome-creator/" rel="alternate" type="text/html" title="Welcome Creator!" /><published>2019-03-24T17:27:39-07:00</published><updated>2019-03-24T17:27:39-07:00</updated><id>https://www.state-of-the-art.io/welcome/welcome-creator</id><content type="html" xml:base="https://www.state-of-the-art.io/welcome/welcome-creator/">&lt;p&gt;It’s really nice to see you here.&lt;/p&gt;

&lt;p&gt;Site just created, but will be filled with interesting info soon.&lt;/p&gt;</content><author><name>Rabit</name><email>rabit@state-of-the-art.io</email></author><category term="welcome" /><summary type="html">It’s really nice to see you here.</summary></entry></feed>