An open API service indexing awesome lists of open source software.

https://github.com/seokmin12/blockchainvotingsystem

๐Ÿ—ณ๏ธ Voting System based on BlockChain
https://github.com/seokmin12/blockchainvotingsystem

blockchain crypto python voting-system

Last synced: 4 months ago
JSON representation

๐Ÿ—ณ๏ธ Voting System based on BlockChain

Awesome Lists containing this project

README

        


๐Ÿ—ณ๏ธ ๋ธ”๋ก์ฒด์ธ ๊ธฐ๋ฐ˜ ํˆฌํ‘œ ์‹œ์Šคํ…œ


Voting System Based On BlockChain


---








## Introduction ๐Ÿ“Œ
2024๋…„ 12์›” 3์ผ 22์‹œ 23๋ถ„๊ฒฝ (KST) ๋Œ€ํ•œ๋ฏผ๊ตญ์˜ ์ œ20๋Œ€ ๋Œ€ํ†ต๋ น์ธ [์œค์„์—ด](https://namu.wiki/w/%EC%9C%A4%EC%84%9D%EC%97%B4) ๋Œ€ํ†ต๋ น์€ ๋Œ€ํ•œ๋ฏผ๊ตญ ์ „์—ญ์— ๋น„์ƒ๊ณ„์—„์„ ์„ ํฌํ–ˆ๋‹ค. [์ฐธ๊ณ  ์ž๋ฃŒ](https://www.nytimes.com/2024/12/03/world/asia/what-is-martial-law-south-korea.html)\
12์›” 3์ผ ๋ฐค 10์‹œ 23๋ถ„ ๊ฒฝ ๊ธด๊ธ‰ ๋ธŒ๋ฆฌํ•‘์„ ์—ฐ ์œค์„์—ด ๋Œ€ํ†ต๋ น์€ ์ข…๋ถ๊ณผ ๋ฐ˜๊ตญ๊ฐ€์„ธ๋ ฅ์„ ์ฒ™๊ฒฐํ•˜๊ณ  ์ž์œ ๋Œ€ํ•œ๋ฏผ๊ตญ์„ ์ˆ˜ํ˜ธํ•˜๊ฒ ๋‹ค๋Š” ๋ช…๋ถ„์œผ๋กœ ์ „๊ตญ ๋‹จ์œ„์˜ ๋น„์ƒ๊ณ„์—„์„ ์„ ํฌํ•จ์— ๋”ฐ๋ผ ๊ณ„์—„์‚ฌ๋ น๋ถ€๋ฅผ ์„ค์น˜ํ•˜๊ณ  [๊ณ„์—„๊ตฐ](https://namu.wiki/w/%EA%B3%84%EC%97%84?from=%EA%B3%84%EC%97%84%EA%B5%B0)์„ ๋™์›ํ–ˆ๋‹ค.\
๊ณ„์—„๊ตฐ์€ ๊ตญํšŒ ๋ฐ ์„ ๊ฑฐ๊ด€๋ฆฌ์œ„์›ํšŒ๋“ฑ์„ ๊ณต๊ฒฉํ–ˆ๋‹ค. ๊ณ„์—„๊ตฐ์€ ๊ตญํšŒ์— ํˆฌ์ž…๋œ ๋ณ‘๋ ฅ๊ณผ ๋ฒ„๊ธˆ๊ฐ€๋Š” ๋ณ‘๋ ฅ์œผ๋กœ ๊ฐ ์ง€์—ญ์˜ ์„ ๊ฑฐ๊ด€๋ฆฌ์œ„์›ํšŒ๋ฅผ ๊ณต๊ฒฉํ–ˆ์œผ๋ฉฐ, ์ดํ›„ ์–ธ๋ก ๊ณผ์˜ ์ธํ„ฐ๋ทฐ์—์„œ [๊น€์šฉํ˜„](https://namu.wiki/w/%EA%B9%80%EC%9A%A9%ED%98%84) ์ „ ๊ตญ๋ฐฉ์žฅ๊ด€์ด [์„ ๊ด€์œ„ ๋ถ€์ •์„ ๊ฑฐ ์˜ํ˜น ์ˆ˜์‚ฌ๊ฐ€ ํ•„์š”ํ•œ์ง€ ํŒ๋‹จํ•˜๊ธฐ ์œ„ํ•ด์„œ](https://namu.wiki/w/%EC%A0%9C21%EB%8C%80%20%EA%B5%AD%ED%9A%8C%EC%9D%98%EC%9B%90%20%EC%84%A0%EA%B1%B0/%EB%B6%80%EC%A0%95%EC%84%A0%EA%B1%B0%20%EC%9D%8C%EB%AA%A8%EB%A1%A0) ์„ ๊ฑฐ๊ด€๋ฆฌ์œ„์›ํšŒ์— ๊ณ„์—„๊ตฐ์„ ์ง„์ž…์‹œ์ผฐ๋‹ค๊ณ  ์–ธ๊ธ‰ํ–ˆ๋‹ค.\
๋˜ํ•œ [ํ‚ค๋ฅด๊ธฐ์Šค์Šคํƒ„](https://namu.wiki/w/%ED%82%A4%EB%A5%B4%EA%B8%B0%EC%8A%A4%EC%8A%A4%ED%83%84)์—์„œ๋„ 2020๋…„ 10์›” 4์ผ ์ด์„ ์—์„œ ์ง‘๊ถŒ ์—ฌ๋‹น์ด ์Šน๋ฆฌ๋ฅผ ๊ฑฐ๋‘์—ˆ์ง€๋งŒ, ์„ ๊ฑฐ์šด๋™์„ ํ•˜๋Š” ๊ฐ€์šด๋ฐ ์œ ๊ถŒ์ž ๋งค์ˆ˜๊ฐ€ ์‹ฌ๊ฐํ•˜๊ฒŒ ์ด๋ฃจ์–ด์กŒ๋‹ค๊ณ  ๋ฐํ˜€์กŒ๊ณ  6์ผ ํ‚ค๋ฅด๊ธฐ์Šค์Šคํƒ„ ์ค‘์•ˆ์„ ๊ด€์œ„์—์„œ [์„ ๊ฑฐ๊ฒฐ๊ณผ๋ฅผ ๋ฌดํšจํ™”ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋‹ค.](https://www.hani.co.kr/arti/international/asiapacific/964799.html)\
์ด์— ๋‚˜๋Š” ๋ธ”๋ก์ฒด์ธ ๊ธฐ์ˆ ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํˆฌํ‘œ๊ถŒ์„ ๋ณดํ˜ธํ•˜์—ฌ ํˆฌํ‘œ๋ฅผ ํ•œ๋‹ค๋ฉด ๋ถ€์ •์„ ๊ฑฐ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ๋ผ๋Š” ์ƒ๊ฐ์— ๊ฐœ๋ฐœํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

## Pros VS Cons ๐ŸฅŠ
๋ธ”๋ก์ฒด์ธ ๊ธฐ์ˆ  ๊ธฐ๋ฐ˜ ํˆฌํ‘œ๋„ ์žฅ๋‹จ์ ์ด ์กด์žฌํ•œ๋‹ค.
* ์žฅ์ 
* ์œ„, ๋ณ€์กฐํ•  ์ˆ˜ ์—†์–ด ๋ณด์•ˆ์„ฑ๊ณผ ํˆฌ๋ช…์„ฑ์ด ๋ณด์žฅ๋œ๋‹ค.
* ์žฅ์†Œ, ์‹œ๊ฐ„๋“ฑ ๋ฌผ๋ฆฌ์  ํ•œ๊ณ„ ๊ทน๋ณต์ด ๊ฐ€๋Šฅํ•ด ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์ฐธ์—ฌ๊ฐ€ ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.
* ๋‹จ์ 
* PC, ๋ชจ๋ฐ”์ผ ์‚ฌ์šฉ์ด ์ต์ˆ™ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ์˜จ๋ผ์ธ ํˆฌํ‘œ๋ฅผ ๊ฒฝํ—˜ํ•œ ์  ์—†๋Š” ์‚ฌ๋žŒ์€ ํˆฌํ‘œ ์ฐธ์—ฌ๋ฅผ ํฌ๊ธฐํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค.
* ๋ณธ์ธ์ด ์ง์ ‘ ํˆฌํ‘œํ–ˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์ฆ๋ช…ํ•˜๊ธฐ ์–ด๋ ต๋‹ค.

## Structure ๐Ÿ“š
ํˆฌํ‘œ ๋‚ด์—ญ์€ [SHA-256](https://namu.wiki/w/SHA?from=SHA-256) ์•”ํ˜ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ•ด ๋ณดํ˜ธํ•˜์˜€๋‹ค.
![SHA-256](./screenshots/sha256.png)
๊ฐ [๋ธ”๋ก](./VotingModel/Block.py)๋“ค์€ [ํˆฌํ‘œ ๋‚ด์—ญ](./VotingModel/Transaction.py), ์‹œ๊ฐ„, ํ•ด์‰ฌ๋“ฑ์„ ํฌํ•จํ•˜์—ฌ ์—ฐ๊ฒฐ๋˜์—ˆ๋‹ค.
![BlockChainStructure](./screenshots/Blocks.png)

## Getting Started ๐Ÿš€
First, install all dependencies.
```bash
pip install -r requirements.txt
```
And, run [main.py](./main.py)
```bash
python3 main.py
```