Decentralized Programming Made Easy.
Ecosystem
Join our Slack Channel
CoLink is a simple, secure, and flexible decentralized programming abstraction. It contains
In addition, there are also many existing protocols built on CoLink that extend its functionality and improve its usability.
A user often wants to implement a certain function
to describe a procedure to convert certain input to output. Normally,
There are multiple users interested in collaboratively execute a protocol
that take private inputs from different users and generate potentially different outputs for them. Often times,
There are many example applications and systems that are suitable for a mindset of decentralized programming. Normally, if the scenario involves multiple participants with potentially different interests, requires privacy, or needs enhanced security provided by a committee, one may consider decentralized programming to simplify their design thinking procedure. Also, from the technical perspective, if the system requires multiple rounds of communication, has a complicated workflow that depends on dynamic decisions from different users, or needs to manage storage on different servers without being able to copy things around, decentralized programming can probably simplify the interfaces and the primitives.
Examples of Decentralized Programming
There are many concepts that are relevant or have a similar name to the idea of decentralized programming. Here we make a brief comparison. For detailed discussions, please stay tuned for our incoming blog posts.
Concept | Similarity | Difference |
---|---|---|
Distributed Programming [wiki]: resource management to improve performance | (1) Involve multiple machines | |
(2) Need to manage communication | (1) Normally controlled by one entity (consider less security issues) | |
(2) Performance-oriented | ||
Peer-to-peer (P2P) Networking [wiki]: network architecture for resource sharing among peers | (1) Involve multiple participants | |
(2) Consider security problems from malicious participants | (1) Less asymmetry | |
(2) Focus on resource discovery in complicated network environments | ||
Decentralized Application (dApp, Blockchain) [wiki]: decentralized autonomous applications based on blockchain global consensus | (1) Involve multiple participants | |
(2) Consider security from a global view | (1) Global integrity and consensus | |
(2) Normally less focus on data privacy during the execution |