DSM070: Building the Blockchain: the chain, mining, and the consensus mechanism:

Introduction to coursework 3: blockchains, mining and consensus mechanisms

Throughout the module, you will be working on an extended coursework. The coursework is set out in four assignments. In preparing this one, I realised that just implementing the blockchain was a bit light for a whole assignment and that there is still a lot to do to get you up to speed as Zimcoin nodes.

Therefore, this coursework has more in it than I had anticipated being it, allowing us to do more in assignment 4.

(1) Cryptographic Hash Functions
(2) Transactions and Verification

(3) Building the Blockchain: the chain, mining, and the consensus mechanism

(4) Maintaining the system: Reorgs and Mempool

The first two assignments will be marked as coursework 1; the second two will be submitted as coursework 2.

As you well know by now, each of the coursework assignments involves two tasks: a programming task and a reflective essay on a related topic. In recognition that your background and interest will lead you to engage with the module in the most appropriate way for you, we are allowing you to choose your assessment route.

You can choose, for each assignment, whether you want the ratio of programming/writing marks for the assignment to be 70/30; 50/50; or 30/70. If you complete all the programming tasks, you will have implemented a new cryptocurrency and the blockchain that supports it. You will also compete to mine the most coins. You can do this thing!

Programming assignment 3

The third assignment continues our implementation of Zimcoin: the gateway to our millions. In it, you are asked to define a python class for blocks. Each block will have handle verifications of transactions, using your programmes from assignment 2.

You will also implement proof of work checks in the block. And functions for mining functions. Topic 6 has a lot of relevant material about this.

This coursework very much builds on assignment 2 and the material in topics 5 and 6. I am very much hoping that thinking about the implementation will help cement the understanding of these concepts.

 

WhatsApp icon