Post A8goS0PXayVIe6EMmO by hermlon@mastodon.social
 (DIR) More posts by hermlon@mastodon.social
 (DIR) Post #A8geYWVm9zAKOqcGmG by enigmatico@fedi.absturztau.be
       2021-06-26T19:11:52.342187Z
       
       0 likes, 1 repeats
       
       It would be cool if we made a decentralized alternative for VR Chat, more like Worlds.The account information and chat data could be easily decentralized in different servers tbh. And maybe, MAAAYBE, blockchain would actually make sense here for the account and session information. Just maybe.And then all the content could be served pretty much in Worlds fashion, just make an editor for a specific format that the client will use, upload your creations to a file server, and everyone who wants to use your map, can do so by pointing to the URL of said creation. Easy and simple.For security, a verification system could be added for specific creations or domains.
       
 (DIR) Post #A8gf0eahiLMVZAKpaS by dhfir@disqordia.space
       2021-06-26T19:15:07.408493Z
       
       0 likes, 0 repeats
       
       @enigmatico why blockchain? Fedi accounts don't need them.
       
 (DIR) Post #A8gf0f4TvdBJ3WGc08 by enigmatico@fedi.absturztau.be
       2021-06-26T19:16:57.347326Z
       
       0 likes, 0 repeats
       
       @dhfir Who said anything about fedi?
       
 (DIR) Post #A8gfFfth8ijjxfNdwW by dhfir@disqordia.space
       2021-06-26T19:17:56.176284Z
       
       0 likes, 0 repeats
       
       @enigmatico just saying I'm not sure why blockchain would be necessary here.
       
 (DIR) Post #A8gfFgMlOdzNPoyrFg by enigmatico@fedi.absturztau.be
       2021-06-26T19:19:40.194684Z
       
       0 likes, 0 repeats
       
       @dhfir To synchronize account creation, deletion, and more importantly, session information, in a controlled way, and prevent errors and desynchronizations between the different servers. In other words, it would be a way to keep everything that happens across all servers in order and make sure that each and every server is in the same page as the rest.
       
 (DIR) Post #A8gfnQ9ICMF8xqldhI by dhfir@disqordia.space
       2021-06-26T19:20:39.576756Z
       
       0 likes, 0 repeats
       
       @enigmatico why is that necessary though? I don't understand.
       
 (DIR) Post #A8gfnQZAe8wYG6sJ28 by enigmatico@fedi.absturztau.be
       2021-06-26T19:25:47.208117Z
       
       0 likes, 0 repeats
       
       @dhfir I just explained you why.Blockchains are basically logs with entries (called "blocks") of JSON data containing whatever information you need to synchronize. In the case of cryptocurrencies it's transactions. They are identified with their corresponding date of transaction, their hash, and the has of the previous transactions. This way you can keep track of everything that happens in the order that it happens.In the case of this chat application, we can keep track of accounts that were created, deleted, modified, as well as sessions started, closed, and timed out. And maybe even the chat messages themselves so that they appear in the same order across all instances.This way we can maintain the integrity of the data across all instances, as they are all properly synchronized and more importantly,  sessions can be validated by all instances to prevent certain types of attacks.
       
 (DIR) Post #A8gg10s4ycN0caCIPA by enigmatico@fedi.absturztau.be
       2021-06-26T19:28:14.637934Z
       
       0 likes, 0 repeats
       
       @dhfir Also if you are wondering "why not just federating accounts", I'm rather thinking about global accounts instead. Because it would be weird to use handles with name@domain like on fedi on a chat protocol. It's chat, not mail. So this makes sense in this regard.
       
 (DIR) Post #A8ggkDY8gYugyRQRyi by dhfir@disqordia.space
       2021-06-26T19:32:38.755163Z
       
       0 likes, 0 repeats
       
       @enigmatico hmm. Still wondering about, like, mining and the like. How do/incentivise that
       
 (DIR) Post #A8ggkE56hzHicgqmMi by enigmatico@fedi.absturztau.be
       2021-06-26T19:36:23.515828Z
       
       0 likes, 0 repeats
       
       @dhfir There is no need to "mine" anything in this case. Just produce a hash for each block and make every instance accept it as said block's hash as long as it hasn't been assigned. Like, get the block's data, convert it to an UTF-8 string of data, hash it, boom! Done, there is your hash.
       
 (DIR) Post #A8goS0PXayVIe6EMmO by hermlon@mastodon.social
       2021-06-26T20:58:54Z
       
       0 likes, 0 repeats
       
       @enigmatico @dhfir but without mining you'd have the problem of diverging branches, so no longer a chain but a tree - so to say many different realities but not one consensus. I mean, it sounds like a fun idea to have many different realities but this kinda defeats the idea of a blockchain if you can't agree on which chain you're using...
       
 (DIR) Post #A8goS0wrb59uJRoyie by enigmatico@fedi.absturztau.be
       2021-06-26T21:02:44.316409Z
       
       0 likes, 0 repeats
       
       @hermlon @dhfir There is one and only one chain. And you can only add to it. It might not be a "blockchain" as we know it, but it would work, there would be no branching (which is precisely what I was trying to avoid). Also the consensus comes from every instance.There are other issues to solve anyways, which is why I said "it MIGHT work", have in mind that I'm thinking this just on my head, I'm not planning this on paper.