그냥 개발자 블로그

[워크식스] 블록체인 인증 수단 만들기 3편 - 어떤 블록체인을 만들것인가 기획하기 본문

IT소식&팁

[워크식스] 블록체인 인증 수단 만들기 3편 - 어떤 블록체인을 만들것인가 기획하기

마음이파파 2018. 2. 8. 06:17

어떤 블록체인을 만들것인가 기획하기






피해사례


A기업이 B라는 거대 해외 기업과 독점 계약을 하였으며, 이를 근거로 A기업은 C,D,E,F은행에서 각각 수십 억의 대출을 받습니다. 그러나 차후 A회사와 B회사의 거래는 실제 존재하지 않았다는 것이 밝혀지며, 은행들은 큰 손해를 보게 됩니다. 


만약 수십만개의 기업들과 수백만개의 은행들이 네트워크를 갖추고 있었다면 A기업은 C,D,D,F 은행에서 대출을 받기 어려웠었을 겁니다. 하지만 경영하는 입장에서는 경쟁사에 의해서 피해를 볼 수 도 있기 때문에 모든 거래내역 및 계약관계를 외부와 공유한다는 건 있을수 없는 일 입니다. 









블록체인 인증 필요


이 시점에서 블록체인 인증 기술이 필요 합니다. 데이터(거래내역 및 계약관계)를 누적 시키고 복구 할 수 없는 암호로 만들어 많은 기업과 은행이 암호를 공유합니다. A기업이 C은행에 B기업과 독점 계약을 하였다면서 대출을 요구할 경우 C은행에서는 A기업과 C은행의 암호를 비교해본 후 B기업과 C은행의 암호를 비교해 봅니다. 이런 식으로 모든 기업 및 은행의 암호화 비교해 봅니다. 일치하지 않는 경우가 나온다면 A기업과 B기업의 계약은 조작된 것임을 알 수 있으며, 대출을 거부할 수 있습니다.








워크식스에서는...


위 내용을 바탕으로 블록체인인증 샘플을 만들었습니다. 2편에서도 언급했듯이 총 4대의 컴퓨터를 이용하여 만들었습니다. 하나의 서비스로 묶기 위한 역할을 할 인증센터(192.168.1.7), A기업 역할을 할 컴퓨터A(1.4), B기업 역할을 할 컴퓨터B(1.5), C은행 역할을 할 컴퓨터C(1.6) 으로 구성하였습니다.








동작방식





A기업(컴퓨터A), B기업(컴퓨터B), C은행(컴퓨터C) 을 하나에 서비스를 이용할 수 있도록 인증센터에 가입을 합니다. 






인증센터는 기업 및 은행과 계약을 맺고 기업(또는 은행)의 아이피만을 저장 합니다. 이는 암호 비교 대상을 찾는데 서포트 역할을 합니다.





A기업(컴퓨터A)이 C은행(컴퓨터C)에 거래를 합니다.(또는 한 서비스를 이용하는 다른 은행일 수도 있습니다.) 기업과 은행간의 거래란 입금,대출 등 무엇이든 관계 없습니다.


거래 내용을 일정한 규칙에 의해서 암호화 합니다. 예를 들어 [거래자1][거래자2][거래내용][거래금액][거래일자][이전암호] 이런 구조의 텍스트를 암호화 하는 것 입니다. 암호화 할때는 hash 기술이 함께 이용됩니다.

* hash에 특징 : 같은 텍스트를 암호화하면 동일한 암호가 나오지만 텍스트가 조금이라도 달라지면 전혀 다른 암호가 생성됨.





만들어진 암호를 모두와 공유됩니다. 






1.실제 거래를 한경우





A기업(컴퓨터A), B기업(컴퓨터B) 이 거래가 성사되면 B기업(컴퓨터B)에서 전산처리 합니다. 거래 내역은 [거래자1][거래자2][거래내용][거래금액][거래일자][이전암호] 이런 구조의 텍스트를 암호화 합니다.






암호는 모두에게 공유됩니다.





A기업(컴퓨터A)이 C은행(컴퓨터C)에 대출을 요구할 경우 C은행(컴퓨터C)에서는 자신이 보유한 암호와 A기업(컴퓨터A)에 저장된 암호가 일치하는지 비교 합니다.

다시 자신이 보유한 암호와 B기업(컴퓨터B) 의 암호가 일치하는지 비교 합니다. 모두 일치함으로 거래 사실이 입증 됩니다.






2.거래를 가장한 경우




A기업(컴퓨터A)이 C은행(컴퓨터C)에서 대출을 받기 위해서 해킹을 하여 임의에 암호를 기록 합니다.





A기업(컴퓨터A)이 C은행(컴퓨터C)에 대출을 요구할 경우 C은행(컴퓨터C)에서는 자신이 보유한 암호와 A기업(컴퓨터A)에 저장된 암호가 일치하는지 비교 합니다.

다시 자신이 보유한 암호와 B기업(컴퓨터B) 의 암호가 일치하는지 비교 합니다. 그러나 B기업(컴퓨터B)과의 불일치 함으로 거래 사실이 입증되지 못합니다.

* 실제로는 수백만의 기업과 은행의 암호를 비교하게 됨으로 수백만의 기업과 은행을 해킹을 해야하는데 이는 불가능 합니다.







블록체인 인증 수단 만들기 1편 - 개요

블록체인 인증 수단 만들기 2편 - 시뮬레이션 환경 준비하기

블록체인 인증 수단 만들기 3편 - 어떤 블록체인을 만들것인가 기획하기

블록체인 인증 수단 만들기 4편 - 구현하기

블록체인 인증 수단 만들기 5편 - 테스트/마치며






[문의하기]




copyright ⓒ 2017. 워크식스