Research for smart contract-based problem recommendation algorithm

As a method for learners to learn independently in distance education, the need for a problem recommendation learning guide that effectively reflects a learning pattern based on learner data is increasing. In this paper, based on blockchain Ethereum smart contract technology, we analyze and present problem recommendation patterns for individual learners by filtering, collecting, and transparently managing multiple learner data that can occur in a distance education environment. In this study, various weighting factors were assigned to each learning situation. The optimal problem recommendation path is presented so that learners can solve problems based on weight-based learning factors in various learning situations. For the performance evaluation of this study, a similar learning environment was set up, and learning satisfaction, usefulness of problem recommendation guides, and learner data processing speed were analyzed. As a result of the performance evaluation, it was confirmed that the learning satisfaction improved by more than 15% compared to the existing learning environment in the proposed environment. In addition, it was confirmed that the learning data processing speed was improved by more than 17%.


Introduction
*As the demand for non-face-to-face learning increases due to various environmental factors and the generalization of the concept of lifelong education, the demand for distance education for adults is increasing (Duan et al., 2017;Song, 2021). According to the national lifelong education statistics in 2019 and 2020, the number of distance education learners was an increase by 65.7% compared to the previous year. Although the number of distance education learners for adults increases every year, the rate of learners' participation in distance education tends to decrease. The biggest reason for the low learning participation rate in distance education for adults is low learning motivation and insufficient learning time. Due to the lack of motivation for learning, it was reported that the lack of ability to learn step-by-step to continuously promote learning and the lack of ability to solve various problems occurring during learning were reported. If the situation coping ability and problem-solving recommendations for various problems occurring in the learning situation are guided, it can motivate learners to learn.
Distance education learners have a reduced learning motivation and thus insufficient time to participate in learning, making it difficult to give up learning and to make a flexible connection between learning later (Chen et al., 2021).
In order to provide an environment where learners can participate in learning effectively in the distance education environment, it is necessary for learners to have a learning motivation for their own learning, to take the initiative in learning, and to have the ability to solve problems in various situations (Duan et al., 2017;Awaji et al., 2020).
As a method to provide learner-centered, selfdirected learning in a distance education environment and an environment where various problems can be solved efficiently and analyses are needed (Awaji et al., 2020). If learners are guided by problem recommendations according to their learning patterns in an environment that requires solving problems that may arise during learning and solving problems according to their learning patterns, learners can link the learning process according to their learning patterns.
Through this efficient problem recommendation guide provided to individual learners, learners can participate in the learning process they lead and flexibly connect the learning with the learning at a later stage to ultimately increase their satisfaction with learning (Chen et al., 2021).
Blockchain technology is a technology that agrees, verifies, and shares transactions by nodes connected to the network beyond the existing centralized management method (Shin et al., 2021). Blockchain was initially designed and utilized with an emphasis on the functions of cryptocurrencies such as Bitcoin, but after the Ethereum-based blockchain technology was applied, smart contract technology was applied to enable automatic contract and transparent contract management. Blockchain technology is being applied and utilized in various fields such as government and government institutions (Ranathunga et al., 2021) Smart contract technology already has various use cases (Ranathunga et al., 2021;Son et al., 2021). In this paper, based on the learner's learning pattern in a distance education learning environment, we present an optimal problem recommendation guide considering the existing similar situations in various problem-solving situations by weighting important factors for learning.

Blockchain and smart contracts in education
Blockchain is a distributed ledger that guarantees transparency of transaction details, and data integrity, and accurately stores and manages all transaction details through the process of consensus and verification by nodes participating in the network based on blocks created based on the P2P method. technology (Ahmed and Bassam., 2020). Blockchain technology is divided into public blockchains such as Bitcoin and private blockchains such as Hyper-ledger (Min, 2021). A public blockchain is an environment where anyone who wants to make a transaction can participate in the network to agree on and share transaction details. A private blockchain is an environment in which only authorized nodes connect to the network to agree and verify (Min, 2021). Bitcoin and Ethereum are representative platforms of the public blockchain. Among public blockchain technologies, Ethereum is a distributed computing platform for implementing smart contract technology. It started as a public blockchain but has recently been widely applied and utilized in private blockchain (Fedorov et al., 2021).
A smart contract is an Ethereum-based transaction protocol technology proposed by Nick Szabo in 1994 (Min, 2021). Through a smart contract, contract parties program all the contents agreed upon in advance, and when conditions are met, the contract is automatically executed (Son et al., 2021). Smart contracts enable financial transactions, notarization, and real estate contracts, as well as digital asset management (Son et al., 2021). By using smart contracts, payment conditions and confidentiality can be maintained, and trust and transparency of transactions can be secured by minimizing accidental exceptions as well as meeting general contract conditions and minimizing the need for a transaction intermediary (Son et al., 2021;Min, 2021).
A smart contract is a contract concluded based on blockchain technology. A smart contract is written using a programming language called Solidity of Ethereum to execute a smart contract. A smart contract can make the desired contract between individuals without involving a third-party intermediary and has the characteristics of observability, verifiability, enforceability, and privacy protection handled automatically. The smart contract-based functional operation is as follows.
First, the node creates a transaction on the node that produces the data. Generated transactions and data are verified through smart contracts, and verified contents are automatically stored in temporary blocks (Son et al., 2021;Min, 2021). The content stored in the temporary block has an opportunity to create a block through mining, and if the block creation is successful, it is connected to the blockchain through the consensus algorithm inside the blockchain. A block verified through the consensus algorithm broadcasts its data to all nodes connected to the blockchain. Nodes that share broadcast contents update their blocks based on the contents of the transaction stored in the block. This operation allows all nodes to update and share the contents of the smart contract (Muthaiyah, 2019). This behavior allows all nodes to share data of the same smart contract state (Son et al., 2021;Min, 2021). Unlike threats such as forgery and low reliability of traditional digital protocols, smart contracts provide trust in anti-tampering and ensure data integrity. Smart contracts also ensure the integrity of the shared data by sharing the state of the processed data and maintaining its accuracy (Son et al., 2021;Min, 2021).
Smart contracts are managed using the Patricia Merkle Tree data structure to efficiently store and manage the state information of the processed data (Min, 2021). Through the Patricia Merkle Tree, information about each user account is managed through the tree, and nodes with similar key values can be grouped and managed (Min, 2021;Karataş, 2018). In addition, this method makes it possible to manage and track all state changes in smart contracts, and easily detect data manipulation and hacking threats (Son et al., 2021;Min, 2021). There is growing interest in the use of next-generation technologies such as blockchain technology in distance learning environments. Considering the non-face-to-face education environment, which is characteristic of distance education, interest in grade processing and student-tailored education is increasing, and attempts to utilize the advantages of blockchain technology such as data transparency, accuracy, and integrity in education are increasing (Min, 2021). Research on e-learning and distance education using blockchain technology is steadily progressing centered on trust and collaboration in learning, data security, and intellectual property management using blockchain technology (Bartolomé Pina, 2020; Stoica et al., 2020).
In this study, through automatic processing according to the conditions of learner data through smart contracts, weights are placed on each learner's learning pattern-related data, and the optimal problem for solving problems for each learner is through the managed learner learning pattern data. A solution guide can be provided.

Smart contract for efficient learner problem recommendation in the distance education environment
In this study, a method of utilizing a blockchain Ethereum-based smart contract as a method to efficiently manage learning data in a non-face-to-face distance education environment was studied.
Through an Ethereum-based smart contract, the process of collecting data generated during the learning period of individual learners and analyzing patterns can be applied. The smart contract processing process is as follows. First, using a given problem as a node, starting from a random node and visiting all connected nodes, we identify the main elements of learning and specify the data method for the optimal learning pattern. In this process, learner learning patterns for problem-solving are given as learning weights and smart contracts are applied to automatically present optimal learning patterns to learners according to appropriate situations. Fig. 1 shows the learning pattern process pseudocode about the problem recommendation guide. As shown in the process in Fig. 1, data of the learning process is collected and classified to identify individual learner learning patterns. Build a problem recommendation guide.
Input: Classification of the learning process and data collection Repeat: Create weights for each learning pattern and create a linear expression for predicting learning patterns the minimum loss value to create an optimized troubleshooting guide Output: Periodic update for satisfaction survey on problem solving guide and correction of learning pattern weights Fig. 1: Learning pattern process pseudo-code The first stage of the algorithm aims to identify the learner's problem-solving pattern. The process to be processed in step 1 is divided into F1~F4 and defined as follows. Course F1 sets the time for problem units and detailed lectures, and each unit is divided into 3-5 sessions. Process F2 sets the difficulty level of the problem, and each unit is different depending on the learning process, but in this study, it is presented in a total of 10 steps. Course F3 classifies problem types and divides problems such as logical power and calculation into 3 to 5 steps according to the difficulty of solving the problem. In the case of difficulty presentation, the learning difficulty level is set according to the objective evaluation criteria. In step 2, learning patterns and key weights for individual learners are discovered and applied according to the problem type. The problem consists of multiple-choice, subjective, and short-answer problems, and the difficulty of the problem is expressed as a numerical value (0-100), and a multi-learning pattern prediction linear expression is generated so that the final output is 1. When expressing each learning pattern prediction linear expression, the expression is constructed in a way that minimizes the learning error by applying the individual learner's learning pattern weight to each step of F1 to F4. In step 3, the weights provided in step 2 are programmed according to the learner's problem-solving pattern and automatically applied. To this end, the loss value is minimized by automatically allocating through a smart contract and providing a troubleshooting guide compared to the problem-solving path in a similar situation. In step 4, the learner properly solves all the given problems and checks whether learning has progressed to the next step, and satisfaction is checked through the problem recommendation guide. In step 5, the satisfaction data for the problem is periodically updated in consideration of the learning content and the learner's learning pattern. Recommendation guide collected at the end of learning.
When setting the optimal problem recommendation path, a minimum spanning tree can be used as needed, and when using a minimum spanning tree, vertices can be set as problems and weights can be set through edges.
An appropriate minimum spanning tree can be applied according to various situations, and this paper does not specifically mention spanning trees. In the algorithm of this paper, when individual learners attempt to solve problems of various types and difficulties in the learning environment, data on the process of solving them is recorded and stored, and data that is thought to have occurred in an accidental situation is periodically filtered to save the data. Purify. Through this process, the stored learning data is used to utilize the learning behavior as a management parameter. The weight, which is a factor for understanding the learning pattern, presents follow-up problems in the direction of raising the level in stages from 1 to 5. If the learner's problem-solving time becomes longer, the problem with the same weight is repeatedly presented to ensure the completion and understanding of learning. Fig. 2 shows the smart contract process among these processes. As shown in the process in Fig. 2, collect learner data, recognize a certain learner pattern, identify weighting factors for individual learner problem recommendation, write a smart contract that uses the various weights and learner learning patterns as variables, and apply the data to the learner data to be processed automatically. A part of the smart contract code for the learner problem solving guide is shown in Fig. 3.

Performance evaluation
The environment for performance evaluation is shown in Fig. 4

Fig. 3: Part of smart contract code
As shown in the process in Fig. 4, research the use of smart contracts based on blockchain Ethereum technology to utilize individual learners' learning data in a non-face-to-face distance education environment and to apply problem recommendation guides when learners solve problems. In order to evaluate the performance of the research content, three factors, 'learning satisfaction,' 'usefulness of problem recommendation guide,' and 'learner data processing speed' were analyzed. In addition, 'learning satisfaction' and 'the usefulness of the problem recommendation guide' were quantitatively analyzed through a survey of the experimental group, and the 'learner data processing speed' showed the data operation speed for the problem recommendation guide of the existing learning system in a similar environment presented in this paper. And, the data processing speed of the system was analyzed as the average of the problem-solving time per second and the learning data processing time per second.   Table 1 shows the study results based on learning satisfaction in learning situations in which various problems are presented. In order to measure learning satisfaction, learning satisfaction was evaluated by setting the case where the recommendation guide for the learner problem was presented and the case where it was not. Factor A for evaluation indicates the relevance of the follow-up problem, B indicates the understanding of the problem, C indicates follow-up learning, and D indicates complete learning. Finally, E represents learning satisfaction. When solving problems of different difficulties and types in different problemsolving environments that learners face when learning, smart contracts can reflect learning pattern weights to present follow-up problems. Continuity of learning was maintained by presenting a weightbased follow-up problem for each level. If an unexpected situation such as a delay in problem recommendation occurs, follow-up problems of similar difficulty can be presented in order to maintain the continuity of learning. By presenting the problem recommendation guide, it was possible to improve each learner's problem-solving ability and to suggest an optimal learning pattern for linking problems and preventing drop-outs afterward, and it was confirmed that the overall learning satisfaction was increased. 6. Analysis of the usefulness of the problem recommendation guide Table 2 shows the results of examining the usefulness of the troubleshooting guide in various situations. The performance of the data processing time for the learner's problem-solving time was evaluated, and as a result of the performance analysis comparing the learning system previously studied in a similar learning environment with the system proposed in this paper, the learning satisfaction was 81% and 94%, respectively. It was confirmed that the learning satisfaction was improved by more than 15.2% through the learning process by the proposed algorithm.

Conclusion
Although the number of non-face-to-face distance education learners is increasing due to various environmental reasons, the participation rate in distance education learning is decreasing due to reasons such as lack of motivation for learning and lack of learning time.
In this paper, in order to increase the learning continuity and learning satisfaction of learners in a distance education environment, a learning pattern weight-based problem recommendation guide was proposed. In this paper, learning patterns for individual learners were identified by collecting various data left by learners in the distance education environment and performing appropriate filtering on the collected data. In addition, by identifying various key factors constituting the learning pattern, learning pattern weights were efficiently assigned to each factor in various situations. In this process, blockchain-based smart contract technology was applied, and the optimal problem recommendation path was presented in the learner's problem-solving environment through the weights given to the learning patterns of individual learners. To evaluate the performance of this study, the learning satisfaction for the learning environment, the usefulness of the problem-solving guide, and the learner data processing speed were analyzed, and the performance was measured by dividing each performance evaluation into three learning cases. The first environment for performance evaluation was an environment in which no problem-solving guide was presented, the second case was an environment in which hints were presented in the form of a problem-solving guide, and the third case was an environment in which the algorithm of this study was applied. As a result of the performance evaluation of the three learning cases, it was confirmed that the learning satisfaction improved by more than 15.2%, and the learning data processing speed improved by more than 17% compared to the existing learning environment. To conduct the evaluation, 100 samples were tested in a limited environment, and we plan to conduct an extensive data set so that it can be applied to various subjects while considering various learner environments for future performance evaluation.

Conflict of interest
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.