Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I haven't really understood how the "decentralized" comes into place. My notion of decentralization is the existence of multiple instances managed by unrelated people, such that the service keeps going if one actor falls down. From what I see here, the decentralization lies in the fact that the central service stores the data across multiple servers. So it's not technically speaking a lie, but i would say it is a bit missleading.

Edit: If this is/was a trully decentralized tool (which would imply some sort of open source code to host it) i would be stoked



Great points gtsop! We have a very similar understanding of decentralization. My co-founder and I are passionately working on making sure that we eventually reach that goal where Slik keep going, even if any one actor falls down.

Here were our goals when we started this out -

  - Prove and implement the encryption technology [completed],

  - Switch over from centralized storage to decentralized storage [completed],
The above two goals help us achieve a working solution that users can start adopting.

Next few near-term goals are -

  - Switch over from centralized compute to decentralized compute,

  - Make the code open-source so that the technology can be extended, forked, etc as the community needs.
Hope that gives you a reason to be stoked! :)


> My co-founder and I are passionately working on making sure that we eventually reach that goal

Isn't it a bit sketch to be calling it decentralized if that's merely a goal though?


as they've outlined the storage is decentralized the compute is not. I don't think its an unfair sales pitch - they clearly are heading down the right path.


> the storage is decentralized the compute is not.

How does that work? Are people sharing storage? I.e. is it truly using "p2p storage" even if the transfers (at this point) are centralized?


  - Switch over from centralized storage to decentralized storage [completed],
kind of looks like they are already there?


Thanks for the detail, yes now I really look forward to that :)


super! :)


The terms are not well understood. Allow me to over simplify this into 3 buckets:

* centralized - a single funnel by which all traffic is managed, such as a web server

* federated - various disparate nodes comprising a centrally managed/governed network. This is blockchain and IPFS where the network is an application layer protocol. The more appropriate description is pseudo-decentralized or semi-autonomous. It is not centralized but it is also not fully decentralized.

* decentralized - disparate nodes communicating directly using agreed upon conventions. There is no centrally managed network. Think in terms of snail mail, IPv6, or phone numbers. This could be as simple as people using an agreed upon application to abstract away the transmission concerns but that application does not route traffic through a third party server.

The greatest misconception, or rather abuse of the term decentralized, I am seeing on HN is confusing it with a federated scheme. Federated schemes are not decentralized. Web3 is not decentralized. They are distributed.

In some cases the abuse of these terms is accidental, but it seems in many cases it is intentional. I suspect some large organizations, yes I am looking at you Facebook and Andreesen-Horowitz, are fearing functional obsolescence, either in their investments or their properties, in the near future and so are attempting to validate their existence by muddying the waters. By functional obsolescence I mean what would you need Facebook for if you can directly transmit media, or micropayments, between friends and family without some sinister third party destroying your privacy. The commercial web has become very hostile to its users, so pending a proper convenient end-user application, there is little incentive to continue using the web.


The most common canonical definitions in regard to network connectivity graphs are:

Centralized: most of the data and compute lives in one place and is controlled by one entity. This is standard issue SaaS, etc.

Federated: anyone can run a server and the servers can talk to each other somehow and either propagate messages or replicate data, but still centralized from the client point of view since each client connects to one or more servers. While anyone could run a server it often requires a lot of administration overhead, storage, and often "peering" permission from at least one other server.

Decentralized: clients are servers and everything connects in some kind of mesh graph.

It's not a binary thing, more of a gradual shift. Bitcoin for instance is somewhere between federated and fully decentralized. Technically anyone can run a node and they connect in a full mesh, but most users don't use it like this and the cost of running a node is at least "annoying" for most people (a lot of bandwidth and storage).

Centralized systems are the easiest to engineer by far but come with the obvious downsides of single point of failure, moral hazard, censorship, lock-in, latency issues if you are not near the servers, etc.

Federated used to be very very common. Classical e-mail, Usenet, FidoNET, UUCP networks, etc. are all federated systems. The old school file server with mirrors paradigm is also a simple from of federated network. It declined in popularity when all the old systems fell victim to spam but is rising again in the form of things like Mastodon.

There are not very many fully decentralized systems in common use. The most well known is probably the BitTorrent magnet network. Fully decentralized systems that are secure, robust, fast, and light on resources are incredibly difficult to engineer.

Edit: if you look deeper it gets more complicated though. Google, Facebook, and most of the other "hyperscalers" are federated systems under the hood but this is all hidden from the user. They are still "logically centralized" though.

It's possible to further break things down by what is decentralized. You can have decentralized or centralized compute, storage, trust, control/administration, and so on.


The third point is peer-to-peer in my understanding. Decentralized to me means that there isn't an entity who has custody/control over information propagated by the network and ability to control access to it


You're referring to decentralization of trust, while peer to peer means decentralization of compute and storage.

You can have a system that is decentralized in one way but not another. A peer to peer system where every object must be signed by a centralized authority has decentralized compute/storage and centralized trust. The Apple ecosystem is probably the best example of that. Apple has to sign or notarize most things but these things are then sprayed across a huge diaspora of machines.

A physically and computationally centralized repository of objects that anyone can create is the opposite. GitHub is a good example of that.

The BitTorrent magnet network and most cryptocurrencies are examples of systems that are decentralized in both respects.

Eliminating all forms of centralization without making huge sacrifices in areas like security or efficiency is really hard. I would say it's an unsolved problem since even if you try really hard centralization tends to creep in... e.g. how proof of work economies of scale create centralized mining cartels in cryptocurrencies. PoW is also very expensive, making it inefficient but moving that inefficiency "out of band" and hiding it in an externality.

Decentralization is a big rabbit hole.


Yeah, I was thinking if you really wanted decentralized something like Syncthing would be the direction you would want. Each individual computer manager who/what it shares with.


I understand it this way. Say, you are a nuclear terrorist and store atomic bomb schematics in S3. The FBI learns about that and tells Bezos (or whoever is Amazon CEO these days) to delete your files or go to jail. Bezos obliges. That's the centralized service.

Now if you store your atomic bomb schematics in Storj, FBI can't delete it because it's distributed across thousands of computers whose owners don't even know what they are storing.


Another piece of it, I think, is the lack of a central authority that can censor and/or pry into your content. With any well-implemented zero-knowledge solution, this should be the case.

Is that maybe a bit misleading? Probably, but a lot of people who search for decentralized are looking for something "off grid" in the sense of no one is watching vs "off grid" in the sense of roll your own grid.


Decentralized in this case means you don't trust a single entity to control your access to your data.


My own interpretation of the definition of decentralized as it pertains to technology would also imply there is not a single super-node you have to boot-strap from. One should be able to host their own boot-strapping cluster of nodes so that if a company goes out of business their nodes will continue to work, software updates not withstanding.

Not depending on a single node to me sounds more like distributed like Tor or clustered like Ceph or in some cases federated like Mastadon or Matrix.


Not sure I understand. Should you trust Silk in this case? Wouldn't any issue with this company mean unavailability to everyone's data? Maybe i have missunderstood the producy


Isn't git decentralized?


In theory, but who uses something other than either Github or Gitlab?

Obviously I know some people do, but I've yet to work on a project that doesn't just stick with the one.


I believe everyone here is talking past each other. Decentralization doesn't just mean hosting. My copy of git repo is equally as valid as yours. Or, the master branch is nothing special, any branch is equally as important. In that way, it is decentralized.

But, as you're saying, rightfully, hosting of the remote repository is in the hands of Github. So its not decentralized.

These discussions tend to be like the ones involving 'conciousness'. Until a clear definition of the term is agreed upon, it is impossible to talk about it. Going around measuring with a yard stick requires that the stick is calibrated to a yard and everyone agrees it is a yard. May be you can do some probabilistic measurement (consensus of people whether something is decentralized or not), but it's pretty useless.


Interesting that when given a choice, people choose centralised over decentralised.


That's because of economies of scale. It's much cheaper/easier to do something when it's the only thing you do. It's why we have professions, rather than each of us doing a bit of everything.


i think this is mostly because of the maturity/popularity of the tooling, not the underlying aspect of centralization. if there was a just as slick, widespread and useful decentralized alternative, i would be on that instead.


Depends on what problem the adoption of decentralisation is solving. There's no point choosing a decentralised option just for the sake of it.


i think i would choose decentralized almost all of the time if it worked the same performance wise



I've heard of companies that pass their git repo around on a USB disk? lol.


Distributed. Federated.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: