블록체인은 해쉬함수를 계산 경쟁하는 마이닝이란 것을 통해 새로운블록을 만들때 쓰입니다.
이때 만들어진 해쉬코드가 그 블록의 위조방지를 증명합니다.
경쟁을 통해 마이닝하는것을 POW방식이라하고
무작위 피어 노드에 해쉬생성을 맞기거나 피어노드들끼리 새로운블록의 보상을 가져가는방식을 POS 방식이라고 합니다.
그렇다면 ECDSA란 무엇일까요?
ECDSA는 송금할때 디지털서명하는 알고리즘을 가르킵니다.
공개키(계좌주소)와 비밀키(개인키) 쌍이있는데 비밀키를 알아야만 해당 공개키에 해당하는 서명코드(scriptSignatre)를 작성하는게 가능합니다. 이것을 ECDSA의한 디지털 서명이라고 합니다.
즉 해당 공개키에 해당하는 scriptSignature를 만들어낼수 있다면 그 계좌에있는 돈을 송금하는게 가능하다는 이야기 입니다.
이 scriptSignature메세지는 해당 공개키에 쌍으로 존재하는 비밀키를 알고있어야만 만들어내는게 가능하며
scriptSignature가 해당 공개키를 가진사람이 서명한것이 실제로 맞는지 안맞는지 검증하는 것을 verify라고합니다.
즉 ecdsa에서는 세가지 기능있습니다.
1.공개키와 비밀키를 특정 수학적알고리즘을 통행 생성하는방법
(2^256개의 공개키와 비밀키쌍이 존재합니다.)
2.해당 비밀키로 공개키에 해당하는 특정 메세지에 서명하는 알고리즘....scriptSignature를 만들어내는 것을 말합니다.
3.scriptSgnature가 해당 공개키로 만든게 확실하게 맞는지 검증(verify)하는 알고리즘
이것은 스팀잇 첫글이라 이만줄이고
저는 위에 것들이 어떤 구체적인 수학적인 알고리즘으로 동작하는지 기술이 가능합니다.
그다지 어렵지 않습니다.
비트코인등 암호화화폐에서 쓰는 ESDSA의 타원곡선 함수는
Y^2=X^3+7 이라는 방정식으로써 이 방정식에서 1,2,3에 해당하는 모든 것들이 만들어집니다.
방정식자체가 그다지 어렵지 않음으로 중학교 수학 수준에서 누구나 이해하게 글을 작성하는게 가능하지 않을까 합니다.