Answered step by step
Verified Expert Solution
Question
1 Approved Answer
2.1. What is blockchain? Blockchain is a modern data and communication security technology, in which data is stored in blocks of information, cryptographically hashed for
2.1. What is blockchain? Blockchain is a modern data and communication security technology, in which data is stored in blocks of information, cryptographically hashed for security, and chained together for tracking and traceability. Blockchain looks like as shown in Figure 1. BLOCK number BLOCK number + 1 BLOCK number + 2 Current block hash Current block hash- Current block hash Previous block hash Previous block hash Previous block hash Timestamp Timestamp Timestamp Information Information Information Figure 1. an abstract example of a blockchain. 2.2. What is educational record? For this coursework, educational record refers to the significant levels of education you have attained so far, for which you have an official, institution-provided record. Based on each level of education, you go to the next level. For this coursework, you need to create blocks for at least the following levels: All university education semesters (each semester's separate block (e.g. BLOCK 1: UNM, Computer Science, Semester 1, CGPA: 3.5, BLOCK 2: UNM, Computer Science, Semester 2, CGPA 3.4 ...) The education before entering university (completing 12th year of school (or final year of high school), e.g., 12th grade - known as Year 13 in UK, Class 12 /plus 2, HSC, Form 6, A-Level, etc.) The education before entering 12th grade (completing 10th year of school, e.g., 10th grade known as Year 11 in UK, Form 4 in Malaysia, other parts of the world, Standard 10, O-Level, matriculation, etc.) So, what your block should contain? Look at Figure 1, each part of block should contain the following? Block number (first block has number 0, each subsequent one incremented by one. Current block hash (generate a random number, e.g., through random number generator function) Previous block hash (first block's previous block hash and current block hash are the same, every subsequent block should have its preceding block's hash. Which means that the random number you generated for your current block should be reused for the next one.) Timestamp (since we are talking about educational record, write degree/certificate completion date) Information (this has multiple parts. First part is your student id for that program. Second part is your complete name. Third part is the generic form of education level (e.g. for first level, it is Grade 10, followed by what it is called in your country, in the brackets. Fourth part is your major (e.g., science). Fifth part is your grade (e.g., CGPA, percentage.). NOTE: Please write all these five parts in each of the block. Write your actual name and student id at least for UNM-related blocks. For the other blocks, only your name can be actual, the rest of the information can be dummy. If you are currently in the 4th semester, you'll have 3 blocks for university education (each block representing individual semester you've passed), one block for grade 12, and one block for grade 10 For example, we need something like shown in Figure 2. Please note that our main purpose is to get the information in the desired (blocked and chained) form mentioned above. Therefore, it does not necessarily have to look like the example above. It can be like: Block i| 4f5s6d4fsd | 4f5s6d4fsd 20200930 | Program: BS Computer Sc., Semester 2, CGPA: 3.47 Block i+1 tbf5348dfs | 4f5s6d4fsd 20210217 | Program: CS Computer Sc., Semester 3. CGPA: 3.5 ... So on.... (use any separator (e.g. 1) to separate each part of the block. While to separate each block from each other, you can print each block on the next line (or any other idea you would like to use). Make sure each block is disguisable. Note: in the above example, you can see that each block is linked to each other through previous block's hash (the 3rd part of the block). But in the case of the first block, as there is no previous block, your system can store the current block hash in that column. Which means that you should have a check in your program if a block is the first one, then it's previous block hash and current block hash can be the same, otherwise, generate a random hashumber for the new block. 3. Hints: You are encouraged to use your own knowledge, instincts, and ideas to achieve the goal, but you may need the following data structures/features of C++ to achieve the goal: Array Pointers Array of pointers (maybe)
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started