1. Introduction
Since the first deployment of Bitcoin (
Bitcoin.org, 2025) in 2009, Distributed Ledger Technologies (DLTs), specifically blockchain, have been seen as a solution in fields where traditional technologies have not been able to provide the required security, trust, and integrity of data. The rise of Ethereum (
Ethereum.org, 2025a) provided a flexible native language to create programs that can be executed on a blockchain. Such programs or smart contracts (
Solidity.org, 2025) harness the desired decentralization features in terms of security and data integrity, and they allow for creating valuable DLT-based applications (dApps) for the general public. In fact, as blockchains gained traction across several domains, many experts from other areas (e.g., law, economics) began experimenting with them to solve many potential use cases in their fields (
Al-Jaroodi & Mohamed, 2019).
However, DLTs also came with a limitation: they are not meant to store big chunks of data, as this would increase the cost of use of the network that shares such a ledger. However, many real applications require the use of traditional databases to store raw data such as files or documents. The InterPlanetary File System (IPFS) (
IPFS.tech, 2025) and IPFS-based databases like OrbitDB (
OrbitdB.org, 2025) provide robust methods to store such data, but they are still evolving (e.g., there is deprecated documentation and breaking changes after successive updates). In addition, their steep learning curve can pose a significant barrier for developers who are not used to Peer-to-Peer (P2P) protocols.
Blockchains are isolated networks that do not have access to off-chain data, and IPFS does not offer an inherent mechanism for verifying such data. To ensure consistency and trust in the off-chain data, blockchains need an oracle system (
Ethereum.org, 2025b). Such a system intermediates between the on-chain world and the off-chain world, feeding the blockchain with data that have been previously agreed by a decentralized network of off-chain nodes. However, the use of oracles is usually avoided or supported by third-party providers, which introduce restrictions and dependencies that are not always appropriate for testing phases or early development stages.
Blockchain-related jobs are projected to grow by more than 25% between 2025 and 2030 (
World Economic Forum, 2025). However, there is a growing imbalance between the rapid increase in job opportunities and the availability of a qualified workforce. Although educational institutions and industry are expected to collaborate to maintain this balance, in practice, this alignment is not occurring at the necessary scale and pace (
Patan et al., 2023). In addition, while topics such as consensus protocols, smart contracts, cryptographic primitives or layer 2 solutions form the core of most blockchain curricula, more advanced components like IPFS and oracles present notable challenges for teaching and learning. IPFS, a decentralized storage protocol, operates outside the blockchain itself and introduces concepts of distributed file systems, content-addressable storage and P2P networking that require a foundational understanding of system architectures and data persistence models. Similarly, oracles are mechanisms that enable blockchains to interact with off-chain data, relying on complex trust models, cryptographic proofs and external APIs, often involving probabilistic security guarantees and game-theoretic reasoning. These topics, though critical for building real-world dApps, demand specialized knowledge that may fall beyond the scope of a blockchain course. As such, they are often better suited to advanced electives or specialized modules focused on decentralized infrastructure. Nevertheless, given their significance, these topics can be incorporated into a subject through practical use cases, highlighting their essential role in the development of dApps.
To tackle the previously described limitations, this paper presents two open-source use cases that seamlessly integrate an oracle-enforced decentralized storage subsystem with smart contracts. Such subsystems, often overlooked in traditional coursework and not typically included as a central component in most blockchain-related academic curricula, are essential for modern DLT-based applications to fully harness the advantages of decentralization. Specifically, the following are the main contributions of this article:
It provides essential components that facilitate hands-on teaching and experiential learning through illustrative examples. Such components are designed to significantly reduce the cognitive load and time required to internalize foundational concepts. In addition, they provide a framework that enables learners to more effectively generalize and apply their understanding to increasingly complex use cases. Thus, the following implementations are presented:
- –
An open-source implementation of a private test-focused IPFS network is provided in order to reduce the learning curve of P2P protocols.
- –
An open-source implementation of an oracle design is presented and adapted to meet the requisites of two different use cases: a voting system and an item tracking dApp.
- –
As a demonstration of best practices in cybersecurity during dApp development, basic testing at smart contract, oracle, decentralized database and front-end levels is presented.
An up-to-date teaching/training methodology on DLTs and decentralized technologies is provided as a reference for professors and educators.
The rest of this article is structured as follows.
Section 2 addresses the integration of blockchain/DLTs into academic curricula, exploring the inherent limitations and challenges associated with teaching and learning these technologies. It also emphasizes the critical role of incorporating practical, real-world use cases to enhance student engagement and comprehension.
Section 3 summarizes the proposed teaching methodology, outlining the pedagogical approach adopted to effectively introduce blockchain concepts.
Section 4 presents the essential components required for hands-on teaching and learning: the Oracle and the IPFS storage subsystem. To exemplify the use of such components,
Section 5 presents two practical hands-on examples: a voting system and a pallet tracking system.
Section 6 outlines the most relevant potential directions for future development. Finally,
Section 7 is devoted to conclusions.
2. Related Work
2.1. Introducing Blockchain and DLTs in the Curriculum
Teaching emerging technologies remains a relatively new endeavor in many universities and higher education institutions (
Fernández-Caramés & Fraga-Lamas, 2019b). As academic programs begin to adapt to the evolving demands of the digital economy, educators are increasingly exploring effective ways to integrate these complex and rapidly developing subjects into existing curricula. When considering how to incorporate blockchain and DLTs into academic curricula, several viable approaches emerge.
First, the integration of blockchain/DLT topics into existing courses, particularly at the master’s level, offers clear advantages. This approach enhances both the relevance and engagement of coursework, while remaining practical and low-barrier. Instructors might introduce blockchain/DLTs either theoretically or through hands-on projects. Courses well-suited for this integration include database systems, cloud computing, computer networking, advanced business information systems, cybersecurity, cryptography or Internet of Things (IoT) technologies. For instance, in (
Rao & Dave, 2019), the authors describe modifications made to a traditional graduate-level embedded systems course, incorporating cryptographic hashing and its application to blockchain through a hands-on lab. This approach has also been adopted by some of the authors of this article in the Master’s Degree in Internet of Things (
UDC, 2025a) jointly offered by the University of A Coruña, the University of Vigo and the University of Santiago de Compostela. In this program, blockchain/DLT content is embedded within the subject “Enabling New Architectures and Paradigms in IoT”, providing students with valuable insights into the application of blockchain/DLT for IoT.
Second, a more focused approach involves the creation of a dedicated course on blockchain and DLTs. This has been implemented, for example, in the Master in Cybersecurity delivered by the University of A Coruña and the University of Vigo (
UDC, 2025b). This is the subject examined in this article: “Distributed Ledger Technologies and Blockchain”, a first-year mandatory course that grants a total of five European Credit Transfer and Accumulation System (ECTS) credits.
Third, some institutions have gone further by developing entire master’s programs or postgraduate studies centered specifically on blockchain and DLT technologies. While such programs are still very limited in number across Spain, notable examples include those offered at the Universitat Politècnica de València (
UPV, 2025), Universitat Politècnica de Catalunya (
UPC, 2025), or the University of Alcalá (
UAH, 2025). However, it is worth noting that, to the knowledge of the authors, no such specialized master’s program currently exists in the region of Galicia.
Finally, blockchain/DLT topics can also be addressed through extracurricular activities such as symposia, invited lectures, workshops or student-led clubs. These informal learning opportunities can complement formal instruction and foster greater interest among students.
2.2. Teaching and Learning Blockchain
Most universities that incorporate blockchain/DLTs into their curriculum tend to focus on business, finance or economics-related programs. For example,
Kursh and Gold (
2016) review various approaches used by universities to teach FinTech. Several articles have explored methods for making blockchain/DLTs accessible to non-technical students. For instance,
Kaden et al. (
2021) describe a course designed for accountants that introduces blockchain concepts using R programming. Similarly,
Dettling (
2018) outlines strategies for teaching blockchain in a business school, while a follow-up article by the same authors (
Dettling & Schneider, 2020) introduces a simulation game in which students role-play as nodes in a blockchain network, creating transactions, forming blocks, and experiencing consensus algorithms firsthand.
Negash and Thomas (
2019) present a scenario-based design aimed at business-oriented learning. Their course includes seven real-world industrial scenarios to demonstrate the practical opportunities enabled by a blockchain like the one used by
LF Hyperledger (
2025).
Other authors explored how incentive mechanisms and gamification can improve a student’s motivation, engagement, and comprehension of concepts (
Elmessiry et al., 2021). For example,
Schneider et al. (
2023) present a case study on teaching Decentralized autonomous organizations (DAOs) in a business school where students were not required to have programming skills. A central element of this case study was to make students part of an actual DAO, where they could vote on grading conditions and lecture topics. Overall, making students part of the technology resulted in positive feedback and a comprehensive grasp of DAOs. However, the authors suggest that the integration of the DAO with greater decentralized models could improve their overall engagement (e.g., completion badges, credits, points (
Chivu et al., 2022) or accreditation standards (
Fernández-Blanco et al., 2025)). The authors also remark that the most time-consuming task for students was the process of obtaining test currency for the Ethereum testnet, highlighting the need for frameworks that make testing easier for students. Finally,
Froehlich et al. (
2023) present the positive outcomes of a 2 ECTS design sprint course, which brings together students from diverse disciplines to collaboratively address technical feasibility (engineering), value creation (entrepreneurship) and user experience (human–computer interaction). In just five days, structured as a hackathon, students successfully developed and launched a functional prototype: a smart contract-based trading card game that enables users to collect and trade researchers as NFTs.
On a more technical side,
Toleva-Stoimenova et al. (
2019) share their proposed approach, but it is still in a very early stage for integrating blockchain into a master’s program in data science. Moreover,
Purdon and Erturk (
2017) recommend utilizing cloud platforms for teaching blockchain development, as this reduces the need for local infrastructure by guiding students through the deployment and management of blockchain dApps using cloud services like Google Compute Engine, Amazon AWS or Microsoft Azure.
A few additional methods for teaching blockchain are found in the recent literature. For undergraduate students,
Weng et al. (
2019) explore the use of role-playing games, 3D animations, and comic-style teaching materials to enhance engagement and comprehension. Platform-based approaches have also gained traction. For instance,
Liu (
2018) introduces ChainTutor, a user-friendly interface that allows students to experiment with core blockchain concepts. The platform enables modification of blockchain parameters such as block size, consensus mechanisms and network latency, allowing learners to visualize the impact of these variables on performance.
Tsang et al. (
2024) propose the educational game BlockTrainHK in undergraduate courses in two universities in Hong Kong. The proposed strategy demonstrates positive effects on students’ cognitive well-being, including improved knowledge retention, increased curiosity and greater enjoyment. While highly effective for foundational learning, such tools may be overly simplistic for students at master’s level, who typically require more in-depth exploration of technical, cybersecurity and real-world deployment issues to meet the expected level of academic rigor.
Finally, it is worth mentioning an undergraduate Computer Science and Engineering program effectively proposed by (
Hapuarachchi et al., 2024), which provides students with real-world skills. This initiative underscores the vital importance of hands-on learning in mastering the foundational concepts and practical applications of blockchain.
2.3. Practical Real-World Use Cases
While blockchain and DLTs have been studied by academia for several years, they often remain as abstract concepts in teaching, typically introduced through high-level properties such as distributed ledgers or block-based transaction storage. In order to fully understand their complexity, an understanding of foundational cryptographic tools like hashing and digital signatures (e.g., Elliptic Curve Digital Signature Algorithm (ECDSA)) is required. The concepts become even more complex when ‘mining’ is introduced to explain how a block of transactions is created, how a cryptographic puzzle is solved and how it becomes linked to the chain. This complexity deepens further with the introduction of different consensus algorithms. These protocols rely on the coordinated behavior of numerous independent participants, each following specific rules.
Blockchain education can be structured around three core dimensions. The first is the foundational layer, which focuses on understanding the core components (e.g., P2P networks, hash functions, digital signatures, consensus mechanisms). The second dimension explores the significance of blockchain/DLTs, covering topics such as cryptocurrencies, smart contracts and regulatory or legal considerations. The third dimension involves practical applications, where most current innovations are taking place.
There are some applied research efforts that illustrate how complex topics can be taught through practice-driven methodologies. In this regard,
Mentzer et al. (
2020) provide an early case study where project-based learning is applied to blockchain education, demonstrating how student-led projects are an effective way to expand and develop their knowledge of emerging technologies. Another example is provided by
Rahman et al. (
2023), who show the integration of blockchain with IPFS to securely manage and verify academic credentials, providing an effective case for teaching decentralized storage and hybrid on-chain/off-chain architectures. In addition,
de Brito Goncalves et al. (
2022) described an integrity verification framework for 5G network slicing using smart contracts and oracles, which highlights how blockchain can reliably interact with external data sources in critical infrastructures. Finally,
Sangeeta and Nam (
2023) propose an IPFS-based system for vehicular networks that supports keyword search and ensures resilience against system failures, offering a real-world use case that is particularly relevant. The aforementioned references justify the adoption of real-world case studies as an educational strategy to strengthen understanding of blockchain and DLT ecosystems.
3. Teaching Methodology
3.1. Syllabus
The structure of the course content is indicated in
Table 1.
3.2. Implementation of the Course
Although the previously mentioned theoretical content is highly specific, students with minimal knowledge of computers and computer networks usually do not have difficulty grasping it. However, the proposed methodology provides better results with students that come from IT fields, like computer science and electrical engineering, who often have previously learned the essential concepts on computer network architectures and computer security.
The theoretical content is taught in 90 min lectures, so students receive theoretical content and additional material before each class, which is later discussed during the face-to-face time.
In addition to the theoretical content, practical tasks (90 min labs) are also conducted to apply the theoretical concepts of the class. Collaborative work, performed in groups, includes the tasks described in
Table 2.
In addition, there are two labs carried out as described in
Table 3:
In the first lab, students learn to program Ethereum smart contracts using Solidity.
In the second lab, students implement a use case using IPFS and oracles that will be further developed in their final project.
Finally, students develop a project in which they create their own use case, utilizing all the enabling technologies and aspects covered in the course. The evaluation criteria for such projects are indicated in
Table 4.
As can be observed in the previous syllabus, the content is imparted during an intensive 13-week course, which corresponds to a 5 ECTS credit workload that belongs to the Master’s Program on Cybersecurity delivered jointly by the universities of A Coruña and Vigo (
UDC, 2025b). The course is attended by university students with diverse backgrounds, but mostly by computer scientists and electrical engineers.
Each week of the course, three hours are dedicated to lectures and practical labs. Moreover, the students have to complete a final project, the main topic of which is selected by them (for instance, students of the 2025 class developed a game, a betting platform, a voting system, a dApp for managing waiting lists in hospitals, a digital asset auction, a trustworthy tachometer, or a crowdfunding platform). Thus, during the course, the students deliver lab reports and a final project memory together with all the involved software. Overall, the course was designed for 40 h of in-person activities and 108 h of autonomous work.
The following are the main learning outcomes expected from the course:
To learn the essential concepts of blockchain/DLTs.
To be able to develop smart contracts.
To be able to develop and deploy DApps with IPFS and oracles.
To be able to understand the cybersecurity implications involved in the deployment of blockchain/DLT use cases.
The learning outcomes related to learning concepts are evaluated through a theoretical final exam (40% of the grade), while the rest of the outcomes are assessed through the collaborative tasks (10%), lab reports (20%), and the final project (30%). The final grade is given within the range 0 to 10, which is the most commonly used in the Spanish university system.
3.3. Practical Teaching Results
Over the past two years, since the introduction of the subject (Distributed Ledger Technologies and Blockchain) in the Galician university system, the methodology described earlier has been taught at the University of A Coruña as part of the Cybersecurity Master’s program. Each student was required to complete the tasks outlined in
Section 3.2.
For reference, the following paragraphs summarize the results of the 2024 and 2025 classes. In 2024, the class included 35 students (34 male and 1 female), while the 2025 class consisted of 27 students (26 male and 1 female). Most participants were recent graduates from computer science and electrical engineering programs, possessing strong coding skills and basic knowledge of cybersecurity, but they had no prior experience in blockchain/DLTs.
Table 5 shows the average, median, and variance of the grades of all the students who took part in the two editions of the course. As can be observed, the grades are generally high, but lower for the final exam. These results reflect an aspect that was also observed directly by the course instructors: students are more motivated by the practical part of the course than by the theoretical concepts behind it.
To evaluate the effectiveness of the proposed educational materials, a comprehensive assessment strategy is employed. This includes analyzing objective performance metrics such as exam scores, lab success rates, class participation, and lab attendance. In parallel, skill development is assessed through pre- and post-course evaluations, enabling the instructors to measure individual growth in knowledge and practical abilities.
Collaboration and teamwork, essential competencies in the field of cybersecurity, are evaluated through the group project. This activity provides insight not only into the students’ understanding of the course content but also into their ability to function effectively in a professional team-based environment.
In addition, it is important to note that no major issues were encountered in using Ethereum throughout the course. However, two specific challenges emerged regarding Lab 2: one concerning the use of IPFS and the other relating to the use of oracles. A deep understanding of these components required more time than initially expected and proved more challenging for students than anticipated. Even with the inclusion of an example based on a previous article of the authors (
Fernández-Caramés & Fraga-Lamas, 2019a;
Fernández-Caramés et al., 2019), a clear, detailed environment configuration, specific pseudocode, and step-by-step guidance, many still struggled to fully understand the main concepts and to configure the setup.
Student feedback and course surveys also play a crucial role in evaluating the perceived relevance and engagement of the course content. At the end of each course, the University of A Coruña (UDC) conducts a university-wide survey to evaluate teaching activities. Both students and instructors participate by completing quick and anonymous online questionnaires. There are two main types: course-specific surveys, where students assess the teaching they received and instructors can self-evaluate their courses; and general surveys, where students reflect on their learning competencies and instructors evaluate students’ overall competencies as well as their own. The system aims to improve teaching quality, to design tailored support and training programs and to promote more reflective and engaged teaching. Surveys focus on teaching methods, assessment systems, and academic support, and also gather data on areas such as the use of technology and teaching formats. The items presented in
Table 6 and
Table 7 provide quantitative insights into student perceptions of the blockchain course. The rating scale ranges from 0 (poor) to 7 (excellent). For transparency, average scores for faculty, program, university, course, and department are also provided for comparison. The results reflect a very positive overall assessment, indicating high levels of satisfaction across key dimensions:
The clarity of the course guide received a strong rating, suggesting that students found the explanation of the course structure, content, methodology and evaluation criteria to be effective and transparent.
In terms of workload relative to course credits, the scores indicate general satisfaction, although some students may perceive the workload as slightly demanding for the number of credits assigned. Therefore, the proposed step-by-step hands-on use cases are intended to address this demand.
Class sessions were considered well-organized and conducive to learning.
Student responses confirmed that the instructor played an active role in supporting their learning, particularly through effective use of instructional resources.
The achievement of learning objectives received high ratings, indicating that students felt they successfully met the intended outcomes of the course.
While assignments and exams were seen as helpful for learning, this area shows potential for further enhancement, particularly in terms of feedback and formative assessment strategies.
6. Limitations of the Study and Future Work
It should be noted that the context of this work is inherently educational. For instance, the provided examples are designed for academic settings, with simplified scenarios, controlled datasets and open-source tools, which might not fully capture the complexity, scale or security considerations of production environments. Consequently, while the proposed methodology effectively accelerates learning and motivates students, its direct applicability to large-scale industrial implementations may be limited. Nonetheless, such a methodology provides a solid foundation for students, future developers and researchers to explore, adapt and extend the provided solutions to meet their specific needs and application contexts.
In addition, although the course and practical examples described in the previous sections provide a strong basis for teaching and learning the involved concepts, they can be further enhanced:
The provided tools could be made even more insightful for learners and experts from cybersecurity areas by adding data encryption schemas (e.g., the use of PRNGs as in (
García-Cereijo et al., 2024)) or further securing the smart contracts to prevent potential attacks.
In the provided software, both IPFS and the oracles are deployed in a virtualized environment for educational purposes. However, the scripts can be modified to be executable in real hardware, allowing the use of physical devices as network nodes.
The provided IPFS tool offers a great way to experiment with the protocol. For instance, InterPlanetary Name System (IPNS) support could be added to dynamically alter IPFS content while maintaining the IPFS address of such content. This is especially useful for dynamic NFTs, which are being increasingly used for different domains due to their real-world applicability and flexibility (
Elmay et al., 2024;
Hasan et al., 2024).
There are many other fundamental concepts, such as Zero-Knowledge Proofs (ZKPs), General Data Protection Regulation (GDPR) compliance or Decentralized Identity/Verifiable Credentials (W3C Standards), that can be taught with similar illustrative examples. For instance, an academic record verification DApp would be an interesting example for learning ZKPs or Decentralized Identity/Verifiable Credential standards (
Fernández-Blanco et al., 2025). With such a DApp, it would be possible to selectively disclose academic merits to third parties without revealing further information, and make such merits interoperable with other systems.
Similarly, it is possible to add tools for simulating blockchain networks and decentralized databases. The synchronization of such subsystems would enable a comprehensive toolset for developers and learners to experiment and test a wide variety of aspects related to DApps.
7. Conclusions
DLTs, particularly blockchain, have gained significant relevance in recent years due to their potential to transform various industries. Despite this growing importance, they remain underrepresented in most university-level IT programs. While introductory blockchain courses typically cover foundational topics such as consensus mechanisms, smart contracts, more advanced topics like IPFS and oracles are often overlooked. Nevertheless, their critical role in real-world dApps underscores the need to include them in educational and training programs. Drawing on prior teaching experience, this article proposes a proven teaching methodology based on the use of hands-on practical use cases as an effective way to teach complex components such as IPFS and oracles. To that end, two open-source easy-to-follow implementations are presented (a blockchain-based voting system and an IIoT-enabled pallet tracking system). These examples instruct students how to integrate IPFS-based storage and oracles with smart contracts to ensure data integrity and availability. Thus, the ultimate goal is to accelerate the learning and training process and motivate students, future developers and researchers to explore, adapt and expand these solutions to meet their specific needs and application contexts.