From 68c568670ce2608153e0d5709b0a08b2418431b4 Mon Sep 17 00:00:00 2001 From: Yigit Sever Date: Thu, 15 Apr 2021 05:30:53 +0300 Subject: Start frontend --- site/public/index.html | 134 ++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 115 insertions(+), 19 deletions(-) (limited to 'site/public/index.html') diff --git a/site/public/index.html b/site/public/index.html index 0177355..05a37a0 100644 --- a/site/public/index.html +++ b/site/public/index.html @@ -71,31 +71,34 @@ Gradecoin is the latest cutting edge blockchain technology agile grading framework that drives organic engagement and other buzzwords, with big data mining search engine optimization
- - - -
- +
⇩ Learn How ⇩
@@ -111,6 +114,21 @@
+ + + +
+ Coinbase +
+ + + + + @@ -130,6 +148,37 @@ +
+ Questions +
+ + + + + + + + + + + + + + + +
@@ -138,10 +187,28 @@
Overview
- +

Welcome to Gradecoin!

+

Blockchains are incredibly simple yet can appear very complicated, we will see how they work and practice programming production cryptography code.

+

This server is the sandbox for the PA1, it's currently running the Gradecoin application. Gradecoin is the faux currency we will use to simulate a blockchain network. At the end of the simulation, the amount of Gradecoin you hold will be your PA1 grade.

+

A quick summary: authenticate yourself to the system using public key encryption. +Craft Transaction proposals and tag them using JWTs. +When there are enough transactions then you can propose Blocks in the same way. +Blocks need to be mined beforehand using Proof-of-work, or brute force.

+

Gradecoin offers 3 endpoints at /register, /block and /transaction. You can only send GET requests to /block and /transaction without authorization. +The server is programmed in RESTful architecture, there are no DELETE, PUT or UPDATE operations, though.

+

Gradecoin uses a Proof-of-work block accepting mechanism. It uses single round Blake2s hashing which produces 256-bit (64 hexadecimal characters) output. The target hash is 24 bits or 6 hexadecimal characters of 0. During testing, I could mine a block on average around 2-7 minutes.

+
+

We're expecting you to use existing tools and implementations. Standards are hard. Don't roll your own crypto. Feel free to ask questions. Collaborate.

+
+

You might ask,

+
+

But if nobody has any Gradecoin then how do we have transactions?

+
+

There is a bank! Their public key is 31415926535897932384626433832795028841971693993751058209749445923 and they have some amount of Gradecoin preloaded. It's also the only account that you can send transactions requests to yourself.

+

Coinbase

+

The first transactions of a block is called the coinbase. They are the author of the block proposal and if the block is accepted then they get compensated for their efforts with some Gradecoin.

+

Public Key Signatures

+

Gradecoin uses 2048 bit RSA keyspairs.

Services

/register

Authorization: The request header should have Bearer JWT.Token signed with Student Public Key

+

Questions

+

This all sound complicated!

+ +

I found a bug!

+

Thank you! Please let me know so we can solve it.

+

I hacked the server!

+

That wasn't supposed to happen :( I did not place any intentional vulnerabilities to the system so if you cracked something, it was not intended. Please don't abuse it and let me know so I can patch it.

+

Submission?

+

At the end of the simulation, your Gradecoin balance will be your grade. I will also expect a unique client programmed in either;

+ +

If your favourite programming language is missing please let me know 🤷?

+

Can my friends play?

+

Sadly, no. Student's who are enrolled to the class will receive one-time-passwords for authentication.

+

How and or Why?

+
@@ -181,7 +277,7 @@ -- cgit v1.2.3-70-g09d2