Even when end-to-end encryption is used in centralized messaging services, problems related to security, privacy, availability, and transparency remain. These problems can be avoided or reduced by using a decentralized architecture. The most notable previous attempts at decentralized messaging protocols have been based on peer-to-peer or federated networks. In a federated network, anyone can run servers that clients interact with and that interoperates with other servers in the network, whereas there is no distinction between clients and servers in a peer-to-peer network. Current peer-to-peer messaging protocols lack functionality that users expect from a messaging service, such as multi-device history and asynchronous messaging. These problems are currently being circumvented through centralized components. Current federated messaging protocols can provide most of the functionality that users demand from a messaging service but suffer from other problems. Federated protocols commonly have uncertainty in terms of interoperability in the network. Furthermore, federated messaging protocols require users to trust one node through which they send messages and assume that users have sufficient knowledge to make the correct decision of which node to trust. Users have been shown to become concentrated on one or a few nodes, which leads to many of the problems with a centralized messaging service. This study presents a decentralized messaging protocol that operates on so-called canister smart contracts on the Internet Computer blockchain. The Internet Computer operates on nodes provided by independent data centers with a consensus model that allow up to one-third of the data centers to be faulty or malicious. The presented messaging protocol allows for messages to be sent from one public key to a collection of public keys and stores the messages on the Internet Computer. New canister smart contracts are created once the previous ones are out of memory to provide theoretically infinite scalability. The evaluation of the presented messaging protocol shows that it takes approximately 5 seconds to send a message and less than 1 second to retrieve messages. Furthermore, the cost of sending and storing one million messages with a size of 100 kB for one year is estimated at $4,200. / Centraliserade meddelandetjänster kan förbättras gällande säkerhet och integritet med hjälp av end-to-end-kryptering. Det finns dock fortfarande problem med säkerhet, integritet, tillgänglighet och öppenhet i centraliserade meddelandetjänster. Dessa problem kan undvikas eller minskas genom att använda en decentraliserad arkitektur. De mest anmärkningsvärda tidigare försök på decentraliserade meddelandeprotokoll har baserats på peer-to-peer- eller federerade nätverk. De nuvarande peer-to-peer-protokollen för meddelandehantering saknar funktionalitet som användare förväntar sig av en meddelandetjänst, exempelvis historik på flera enheter och asynkrona meddelanden. Dessa problem kringgås för närvarande genom centraliserade komponenter. De nuvarande federerade meddelandeprotokollen kan tillhandahålla de flesta av de funktioner som användare förväntar sig av en meddelandetjänst, men lider av andra problem. Federerade protokoll är ofta osäkra när det gäller driftskompatibilitet i nätverket. Dessutom kräver federerade meddelandeprotokoll att användarna litar på en nod som de skickar meddelanden genom, och förutsätter att användarna har tillräckligt med kunskap för att fatta rätt beslut om vilken nod de ska lita på. Det har visat sig att användarna samlas på en eller ett fåtal noder, vilket leder till många av de problem som finns i en centraliserad meddelandetjänst. I den här studien presenteras ett decentraliserat meddelandeprotokoll som är uppbyggt av, så kallade, canister smart contracts på blockkedjan Internet Computer. Internet Computer fungerar på noder som tillhandahålls av oberoende datacenter med en konsensusmodell som tillåter att upp till en tredjedel av datacentren kan vara felaktiga eller illvilliga. Det presenterade meddelandeprotokollet gör det möjligt att skicka meddelanden från en offentlig nyckel till en samling offentliga nycklar och lagrar meddelandena på Internet Computer. Nya canister smart contracts skapas när de föregående har slut på minne för uppnå teoretiskt sett oändlig skalbarhet. Utvärderingen av det presenterade meddelandeprotokollet visar att det tar ungefär 5 sekunder att skicka ett meddelande och mindre än 1 sekund att hämta meddelanden. Dessutom uppskattas kostnaden för att skicka och lagra en miljon meddelanden med en storlek på 100 kB i ett år till 4200 dollar.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-321226 |
Date | January 2022 |
Creators | Ellebrink, Gabriel |
Publisher | KTH, Skolan för elektroteknik och datavetenskap (EECS) |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | Swedish |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Relation | TRITA-EECS-EX ; 2022:656 |
Page generated in 0.0027 seconds