Skip to content

bugkingK/BlockChain-Dapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BlockChain-Dapp

📝 Table of Contents

💡 What is BlockChain?

블록체인이 무엇인가요?

  블록체인은 데이터를 블록에 저장하고 이 블록을 분산 데이터 저장환경에 체인과 같은 형태로 보관하여 임의 수정이나 위조를 불가능하게 하고, 데이터를 누구나 확인할 수 있는 데이터 위변조 방지 기술입니다. 블록에 저장된 데이터는 P2P 방식으로 모든 사용자에게 같은 내용이 전송되기 때문에 임의 변조가 불가능합니다.

이 블록체인 중 스마트 컨트랙트를 지원하는 이더리움을 이용하여 dApp을 구현해 보았습니다.

💡 What is this Application?

이 앱과 웹사이트는 어떤 기능을 하나요?

무결성이라는 블록체인의 특성을 이용하여 우리는 온라인 투표를 구현했습니다. 기본적으로는 선거의 원칙인 보통선거, 평등선거, 직접선거, 비밀선거에 근거한 온라인 선거 시스템으로 투표장에 직접 가지 않고도 스마트폰을 이용하여 어디서든 투표가 가능하도록 하여 투표에 사용되는 물질적 자원의 소모를 줄이고 투표장에 방문하기 어려운 사람들도 투표에 참여할 수 있도록 하여 결과적으로 투표율을 높일 수 있습니다.
더 나아가서는 대표자를 뽑는 선거뿐만이 아닌 어떠한 안건에 대하여 구성원들의 민주적 의사 결정을 온라인으로 비교적 저 비용으로 가능하게 하여, 국민투표의 제한요소를 줄여 민주적 의사 결정을 촉진하고자 합니다.  

💡 What is our focused point

우리가 집중한 주요 포인트는 어떤 것이 있나요?

  1. 보통선거 : 대한민국 국민이라면 누구나 투표에 참여할 수 있습니다.
  • 저희는 개인을 휴대폰 번호 인증으로 구분했지만 인증방식을 확대해 주민등록번호 등으로 개인을 구분할 수도 있습니다.
  1. 평등선거 : 투표에 참여하는 사람은 누구나 한 건의 투표를 행사할 수 있습니다.
  • 투표자는 각 선거에 대하여 한 사람의 후보자에게만 투표할 수 있습니다. 이는 차후에 선거의 투표인수와 득표수를 대조하여 검증이 가능합니다.
  1. 직접선거 : 투표자는 후보자를 직접 선택할 수 있습니다.
  • 투표자는 어플리케이션을 통해 후보자를 직접 확인하고 투표를 행사할 수 있습니다.
  1. 비밀선거 : 그 누구도 투표자가 선택한 후보자를 알 수 없습니다.
  • 투표의 과정에서 후보자의 득표와 투표자의 투표 여부를 분리하여 저장하기 때문에 서로의 연관성이 없어 추적이 불가능합니다.

💡 What we used for this application

Language


Framework And Tool

  • server : eth-smartcontract, remix, nodejs, web3js, express-js, multer, async, solc, mysql, doker
  • web : bootstrap4, wordpress
  • app : alamofire, FoldingTabBar

💡 Preview

  • 웹페이지에서 미리 생성한 선거장과 후보자들을 앱에서 투표하는 과정을 담은 영상입니다.
  • 선거장 이름 : 선거장 테스트3
  • 후보자 이름 : test1, test2, test3

1.인트로 및 투표결과보기 (소스보기)

2.인증과 선거장보기 (소스보기)

3.후보자와 선거공약보기 (소스보기)

4. 1인 1회 투표하기 (소스보기)

5. 투표결과 확인하기 (소스보기)


LICENSE

MIT