De afgelopen weken zijn er verschillende artikelen over de Universa Blockchain gepubliceerd. Vandaag duiken we weer dieper in de techniek van deze DAG. Een bijzondere eigenschap van deze blockchain is de afwijkende RPC, of ook wel de ‘Remote Procedure Call. In dit artikel lees je hier meer over.
Universa RPC engine
Voordat we ingaan op de RPC engine van Universa, is het van belang om te snappen wat een RPC eigenlijk is. Zoals je hierboven al hebt kunnen lezen is het een Remote Procedure Call.Ā Het is een request-respons protocol. DeĀ client stuurt een aanvraag/bericht naar een (externe) server om vervolgens een bepaalde procedure te laten uitvoeren met de parameters die worden meegestuurd. Terwijl deze procedure wordt uitgevoerd, wordt de client geblockt en moet deze wachten tot alles is uitgevoerd.
Deze RPC’s worden (logischerwijs) ook gebruikt in de blockchains van de Bitcoin en Ethereum. Maar de RPC engine van Universa is wel degelijk anders dan deze van andere welbekende blockchains. Het wordt de UMI (Universa Method Invocation) genoemd.
Huidige RPC services
Met de huidige RPC services (zoals JSON-RPC) worden de ‘remote procedures’ door de server gemaakt. Daardoor kunnen ze onafhankelijk van elkaar worden ingezet. Het werkt eigenlijk als volgt: de auteur maakt een RPC service die helemaal leeg (of zonder voorbedachte input) is. En dan worden daar telkens nieuweĀ methods aan toegevoegd: ‘Hebben we de balans van een private key/address nodig?’ Als dat het geval is, wordt daar een method voor toegevoegd.Ā Of: ‘ Hebben we bepaalde informatie over een block nodig?’ Als dat ook het geval is, wordt daar weer een andereĀ method aan de RPC service toegevoegd. Zo krijgt de server langzaamaan steeds meer nieuwe features die remote kunnen worden uitgevoerd.
UMI protocol (meaning āUniversa Method Invocationā) is used to create Universa API bindings for various programming languages, in an RMI paradigm.
De Universa Method Invocation (UMI)
Zoals je al kon lezen werkt de Universa RPC anders: het werkt eigenlijk precies omgekeerd. Alle features voor de RPC zijn al aanwezig in de door Universa gemaakte Java API. Deze zijn getest, werken goed en kunnen worden gebruikt als men dat wil. Wat Universa heeft gedaan, is dat ze deze featuresĀ mogelijk hebben gemaakt voor de RPC. In plaats van het maken van gigantisch veelĀ public stateless endpoints, is er dus een complete Java API gemaakt die door (en voor) de RPC kan worden ingezet. Het enige dat er hoeft te worden gedaan door deĀ author,Ā is het maken van een link tussen de gewenste uitgevoerde feature en de methodĀ invocation. En invocation staat simpelweg voor ‘aanroepen’. Met de UMI is er dus indirect veel meer mogelijk in een kortere tijd.
Meepraten? Kom eens gezellig langs op Telegram.