{"id":41324407,"url":"https://github.com/rohith-2/cryptographic_blockchain","last_synced_at":"2026-01-23T06:00:15.505Z","repository":{"id":45483727,"uuid":"436204139","full_name":"Rohith-2/Cryptographic_BlockChain","owner":"Rohith-2","description":"Simulating Blockchain with mining and peer verification","archived":false,"fork":false,"pushed_at":"2021-12-11T14:04:50.000Z","size":256,"stargazers_count":1,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-09-06T03:47:38.356Z","etag":null,"topics":["blockchain","cryptography","mining","sha-256"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Rohith-2.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-12-08T10:21:20.000Z","updated_at":"2023-11-25T16:30:15.000Z","dependencies_parsed_at":"2022-07-18T22:18:47.516Z","dependency_job_id":null,"html_url":"https://github.com/Rohith-2/Cryptographic_BlockChain","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Rohith-2/Cryptographic_BlockChain","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rohith-2%2FCryptographic_BlockChain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rohith-2%2FCryptographic_BlockChain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rohith-2%2FCryptographic_BlockChain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rohith-2%2FCryptographic_BlockChain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Rohith-2","download_url":"https://codeload.github.com/Rohith-2/Cryptographic_BlockChain/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rohith-2%2FCryptographic_BlockChain/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28681690,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-23T05:48:07.525Z","status":"ssl_error","status_checked_at":"2026-01-23T05:48:07.129Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blockchain","cryptography","mining","sha-256"],"created_at":"2026-01-23T06:00:08.806Z","updated_at":"2026-01-23T06:00:15.417Z","avatar_url":"https://github.com/Rohith-2.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cryptographic_BlockChain\nSimulating Blockchain with mining and peer verification\n\n## Authors :  \nRohith Ramakrishnan  \n[Isha Indhu S](https://github.com/ishaindhu)  \n[Jayashree O](https://github.com/jayashree138)  \n[Rama Sailaja](https://github.com/rsp-009)\n\n## Blocks\nWe will define a class MinimalBlock that contains the following data members: \n\n* index - to store the No. of the block.     \n* timestamp - time at which the block was created. \n* data - the content of the block. \n* previous_hash - hash of the previous block. \n* hash - hash of the current block. \n  \nThis class also possesses a function called hashing, which will perform the SHA-256 hashing process discussed in the previous section. Under this function the hash of all data members are individually performed and the concatenated result is returned as the final hash using the function \"hexdigest\". The disp function is a visual indicator for the integrity of the block. \n\n## Blockchain\nThis Class MinimalChain is developed to define a unique Block chain. The constructor creates a list with just the genesis block or the first entry in the blockchain. The function get\\_genesis\\_block returns an arbitrary block with default values that are predefined. Another function, disp\\_chain, is also written to display the contents of the block in Json format and notice that for any valid entry the contents will be displayed in green while the tampered entries are displayed in red color to indicate the invalidity of that particular block. The add\\_block function is utilised to enter a new valid block into the chain. A function to return the length of the chain has also been included to help us for future validation purposes. Function verify helps perform the mining step while adding a new block to the chain by validating the contents of the block.\n\n## BlockNetwork \nThis Class will contain a list that will hold the individual copies of the Blockchain that belong to the individuals or peers present in the network. The function add\\_peers helps initialise a new peer into the network by appending new chains into the list. A function verify was implemented to validate the entire network and to prevent and detect tampering in any individual's copy of the blockchain. Inside the above mentioned, we iterate through all copies of the chains and initially check if the lengths of the chains are equal, if not, we can certainly conclude that the chains have been tampered with. Following that, we append the hashes into a list and check if the length of the set of hashes is not more than 1. This is done to check if all hashes are equal. In case the length is greater than 1, it indicates that one or more blocks in the network has been tampered with.\n\n## Results\nValid Blockchain:  \n![picture alt](https://github.com/Rohith-2/Cryptographic_BlockChain/blob/main/images/Blockchain_Valid.png). \n\nInvalid Blockchain after tampering with data:  \n![picture alt](https://github.com/Rohith-2/Cryptographic_BlockChain/blob/main/images/Blockchain_inValid.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frohith-2%2Fcryptographic_blockchain","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frohith-2%2Fcryptographic_blockchain","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frohith-2%2Fcryptographic_blockchain/lists"}