겉바속촉
[Blockchain] 블록체인과 해시 본문
지난 번에 타임스탬프에 대한 포스팅을 했었쥬!!
2020/07/24 - [IT일기/블록체인] - [Blockchain] 블록체인 타임스탬프
그래서 해시함수까지 얘기가 나오게되었습니다
그렇다면 도대체 해시함수가 무엇일까요??
우선 함수의 구조는
우리가 값을 넣으면 그에 맞는 결과값이 나오게 합니다
해시함수는 일방향 함수입니다
그래서 계산을 통해 결과값이 나오는 것은 쉽지만
그 결과값을 보고 입력값은 무엇을 넣어주었을지 알아내는 것이
어려운 구조입니다
즉 원래의 입력 데이터와의 관계를 찾기가
어려운 함수인거쥬!
이 말은 우리가 결과값으로
입력값을 조작하기가 어렵기 때문에 안전하다는 것입니다
입력값이 조금만 바뀌어도 결과값은 바로 바뀌어버리기 때문에
검증하는 것도 당연히 더 쉬워지게 된는 것이쥬
바로 이점을 이용해서
해시체인이라는 것을 만들어냅니다
A를 해시함수에 넣고 결과로 나온 h(A)를 다시 해시함수에 넣어줍니다
그 결과를 또 해시함수에 넣고
또 넣고
또.
또
...
이런 원리로 기술이 작동되는 것입니다
A ---> h(A) ---> h(h(A)) ---> h(h(h(A))) ---> ......
하기만 여기서 포인트는
원 데이터는 A 하나 뿐입니다
그리고 1979년도에 해시트리라는 것이 등장합니다
머클트리라고도 하는데요
데이터들일 2개씩 한 쌍으로 해서
해시함수에 넣고 도출된 각각의 결과를 또 한 쌍으로 해시함수에 넣고
최상위 해시값이 나올 때까지 반복해줍니다
(한 쌍을 이루지 못한다면
복사해서 한 쌍을 이루어주면됩니다)
이제는
모든 데이터로 해시트리를 만든 후에
해시체인으로 묶어버린다고 생각하면 됩니다
즉 블록단위로 해시체인을 생성해주는 것이쥬
'IT일기(하반기) > BLOCKCHAIN' 카테고리의 다른 글
[Blockchain] 암호 알고리즘 (0) | 2020.07.28 |
---|---|
[Blockchain] 비트코인 소스코드 (2) | 2020.07.21 |
[Blockchain] 비트코인 사이트, 비트코인 코어 클라이언트 소프트웨어 (4) | 2020.07.21 |
[Blockchain] 블록체인 작동방식과 leader 선출 (0) | 2020.07.20 |
[BlockChain] 보안 메카니즘 (0) | 2020.07.20 |