Hibatűrő okosszerződések N-verziós programozással

Kirás éve: 2025   |   Státusz: nyitott

A kriptovalutákat kezelő blokkláncokat programozó okosszerződések (smart contract) hibái jól ismerten súlyos következményekkel járhatnak (lásd pl. DAO Hack 2016 → ~50 millió USD), ami miatt évek óta komoly kutatások folynak az okosszerződések elleni támadások megakadályozására. A születő megoldások elsöprő többsége tervezési idejű megközelítést kínál (tesztelés, statikus analízis, különböző formális módszerek, stb.), mivel a publikus platformokon (pl. Ethereum) nem alkalmazhatók jól futásidejű mechanizmusok.

Ezzel ellentétben a vállalatközi együttműködésekre használt, ún. „konzorciális” blokkláncok eltérő működési modellje miatt ezekben alkalmazhatók lennének futásidejű hibatűrési módszerek is.

Egy ilyen lehetséges technika az N-verziós programozás (N-version programming, NVP), melynek során (leegyszerűsítve) egy közös specifikáció alapján többször implementáljuk ugyanazt a szoftvert, különböző módokon (pl. más programnyelveken), majd futásidőben ezeket mind lefuttatjuk és összevetjük az eredményeket.

A nagy nyelvi modellek (large language model, LLM) hallucinációi elleni küzdelemben egyébként használnak már NVP(-szerű) módszereket. A témának része lehet az okosszerződések futásidejű hibatűrésére LLM-támogatott módszerek beépítése is.

A feladat egy N-verziós programozást támogató keretrendszer fejlesztése a Hyperledger Fabric vállalati blokklánc platformhoz.

A téma során elsajátíthatóak a blokkláncok és okosszerződések alapjai; blockchain előképzettség nem szükséges. Az okosszerződések programozása Fabricben JavaScript/TypeScript, Java, és Go nyelveken lehetséges. Szükség lesz Dockerre is, mivel Fabricben az okosszerződések tipikusan konténerekben futnak.

Péter Bertalan Zoltán
Péter Bertalan Zoltán

doktorandusz
bpeter (*) mit * bme * hu
  ORCID Google Scholar ResearchGate