블록체인 은 암호화 기술을 이용하여 요즘 대세인 '비트코인'을 개발하기 위해 만든 기술입니다.
암호화 기술은 디지털 서명, 해시체인등이 있습니다.
디지털 서명은 송신자 한 사람만이 사용할 수 있는 개인 키를 사용하여 서명을 보내면, 수신측에서는 그 송신자의 공용 키를 이용해 보내온 메시지를 해독한 다음 이를 보관하는 것.
해시(Hash)는 하나의 문자열을, 이를 상징하는 더 짧은 길이의 값이나 키로 변환하는 것이다. 이를 체인의 형태로 한 것을 해시체인
블록체인 기술
블록체인 기술은 관리자 없이 자동으로 처리하고 보안을 보장하는 거래시스템을 개발 할 수 있습니다.
블록체인 기술은 여러 사회에 변화를 가져옵니다.
옛날에 개인정보 유출 사건도 많고 여러 피해가 막대해서 사람들은 정보 유출을 끔찍하게 여기고 싫어하고 있습니다.
블록체인은 이러한 문제를 해결 할 수 있습니다. 굉장히 반가운 소식이죠.
큰 예로 들자면 비트코인입니다. 비트코인을 이용하면 계좌번호, 전화번호, 신용카드 번호 등 여러 정보 없이 거래 가능합니다.
따라서 블록체인은 화폐 시스템을 변화 시킬 수 있습니다. 자신 만의 화폐를 만들어 발행 할 수 있고 , '원'이 아닌 어떤 화폐를 사용할 지 고민 되는 날이 올겁니다.
공유 경제도 활성화 될 겁니다.
이를 위해 이더리움이 등장했습니다. 하나의 플랫폼이라고 할 수 있습니다. 이더리움은 개인이 자유롭게 블록체인 어플리케이션을 개발 할 수 있고 배포 할 수 있게하는 플랫폼입니다.
블록체인에 대한 이해
블록체인은 타임스탬프를 사용합니다.
타임스탬프는 쉽게 말해서 시간의 형식입니다.
ex) 2018-08-07 18:00:00
이는 거래 사실을 증명하는데 유용합니다. 시간을 되돌릴 수 없습니다. 닥터 스트레인지가 아닌 이상...ㅋㅋㅋㅋㅋ
따라서 화폐를 거래할 떄 영수증이 생기는데 영수증에 써있는 시간이 타임스탬프입니다.
또한 타임스탬프는 표준시간을 사용하기 때문에 여러 나라에서도 가능합니다.
즉 증명하는데 유용하죠.
항상 좋은 점이 있다면 나쁜 점도 있죠.
나쁜 점은 컴퓨터에 설정된 시간과 같다고 보장 할 수 없고, 사용자가 임의로 시간을 변경할 수도 있습니다.
이를 위해 해시 체인 타임스탬프를 이용합니다.
이는 위에 처럼 절대시간을 이용하는 것이 아니고 상대 시간을 이용합니다 .
상대시간은 말 그대로 상대적인 시간 ex) A 다음 B 저장 입니다.
위에서 말했듯이 해시 함수로 데이터를 순서대로 저장합니다.
예를 들어
해시 함수 h가 있습니다.
입력 a를 해시 함수에 넣으면 h(a)가 결과 값입니다.
즉 a가 바뀌면 h(a)도 바뀝니다. 이는 데이터 검증을 쉽게 만들죠.
이를 그림으로 봅시다.
출력 값으로 입력값을 알기도 어렵습니다. 이처럼 해시를 이용하여 데이터 앞뒤 순서를 이용한 것입니다. 이 기술을 해시 체인이라고 하죠.
일회용 비밀번호 지급 받을 때 이처럼 사용합니다.
이 처럼 해시 체인을 확장하여 이용하여 A<B<C라는 순서를 알수 있죠 그리고 h0 h1 h2에있는 숫자 1 2 3 을 해시 체인 타임스탬프라고 합니다.!!
즉 이를 이용해서 블록을 만들고 하는 방식으로 진행 됩니다.
이를 또한 보완하기 위해서 작업 증명 알고리즘이 나왔습니다.
작업 증명 알고리즘: 서비스 제공자가 제시한 것을 완료해야만 사용자들이 이용 할 수 있는 원리입니다.
여러 분 들 게임을 좋아하시나요. 게임 중에 스도쿠라는 게임이 있습니다. 이와 비슷 합니다.
이해를 돕기위해서 아래와 같은 해시함수가 있다고 합시다.
- 출력 값: 1만개(0~9999)
- 출력 값 99이하 입력 값x를 찾는다.
- x는 해시로 계산하기 어렵다.
x는 여러번 바꾸면서 해시 함수로 계산하지만 출력 값이 99이하인지 확인 하는 사람은 단 한번 x를 계산합니다.
'블록체인' 카테고리의 다른 글
블록체인 앱 개발 기초(채굴/송금) (0) | 2018.08.16 |
---|---|
블록체인 앱 개발 기초(제네시스 블록 생성!!) (4) | 2018.08.11 |
블록체인과 스마트계약 플랫폼(용어 정리) (0) | 2018.08.08 |
스마트 컨트렉트와 이더리움 이해 (0) | 2018.08.08 |
용어 정리 (0) | 2018.08.04 |