비트코인(11)
-
[밑바닥비트코인] 3. 타원곡선
비트코인에서 쓰이는 암호화 기법을 알아보기 전에 타원곡선의 정의와, 타원곡선 위에서 연산이 어떻게 이뤄지는지에 대해서 살펴보도록하자. 타원곡선 타원곡선은 다음과 같은 형태의 방정식을 갖는다. 비트코인은 secp256k1이라는 타원곡선을 사용하며, 여기서 a의 값은 0, b의 값은 7이다. 그러면 타원곡선에서 점 간의 연산은 어떻게 하는 것일까? 그에 대한 해답은 아래에 있다. 출처 : https://stackoverflow.com/questions/19800518/python-matplotlib-for-elliptic-curve-with-sympy-solve 더하고자 하는 두 점(P, Q)을 연장한 선이 타원곡선과 만나는 점(R)을 x축 대칭한 점이 P+Q가 된다. 타원곡선에서 한 점 A를 x축 대칭하면..
2021.07.04 -
[밑바닥비트코인] 2. 유한체의 연산
유한체에서의 연산은 기존 우리가 알고있는 연산과는 조금 다른 방식으로 수행된다. 유한체 연산의 바탕이 되는 나머지 연산에 대해서 살펴보고 유한체 연산하는 방법을 알아보겠다. 나머지 연산 나머지 연산은 어떤 수 A를 B로 나눠서 생긴 나머지를 연산한다. >>> a = 10 >>> b = 4 >>> a % b 2 10 = 4*2 + 2 이므로 몫 2 나머지 2 중에 나머지인 2를 출력한다. 나머지 연산은 음수에 대한 값도 가능하다. >>> -19 % 3 2 >>> -44 % 12 4 >>> -43 % 12 5 -19 나누기 3은 몫이 -7, 나머지가 2이다. 쉽게 생각하면 나누는 수(12)를 해당 음수(-44)와 가장 가까우면서 더 작은 수(-48)로 만들었을 때의 차이를 계산한다고 보면 된다. 유한체의 연..
2021.07.04 -
[밑바닥비트코인] 1. 유한체(Finite field)
[밑바닥비트코인]이 붙은 게시물은 모두 를 참조하였음을 밝힙니다. 이번 장에서는 비트코인에서 쓰이는 암호화 기법을 이해하기 위해서 선행되어야하는 수학적 기반들에 대해서 살펴보도록 하겠다. 유한체(Finite field) 유한체의 조건은 다음과 같다. 1. 집합에서 +, * 연산에 대해서 닫혀있다. 2. 집합 내에 0으로 표기하는 원소가 존재하여, 집합 내의 원소 a에 대해 a+0 = a 를 만족한다. (+에 대한 항등원) 3. 집합 내에 1으로 표기하는 원소가 존재하여, 집합 내의 원소 a에 대해 a*1 = a 를 만족한다. (*에 대한 항등원) 4. a+b = 0 을 만족시키는 원소 b가 집합 내에 존재하고 이를 -a로 표기한다. (+에 대한 역원 존재) 5. a*b = 1 을 만족시키는 원소 b가 집..
2021.07.04 -
[블록체인] 2. 비트코인(Bitcoin) - 사토시 나카모토 논문 해석
이번 장에서는 암호화폐의 조상격인 비트코인이 처음 소개된 논문에 대해 분석해본다. Bitcoin : A Peer-to-Peer Electronic Cash System이라는 제목의 논문은 기존의 전자 결제 시스템의 이중 지불 문제를 지적하고, 이를 해결하기 위해 비트코인이라는 블록체인 기반의 새로운 해법을 제시한다. 이 논문은 2009년 '사토시 나카모토'라는 필명을 가진 익명의 프로그래머에 의해서 처음 소개되었다. 사토시 나카모토의 정체는 아직도 밝혀진 바가 없으며, 이러한 신비한 내러티브가 비트코인의 몸값 상승에 어느정도 역할을 하지 않았나 추정한다. 출처 : https://bitcoin.org/bitcoin.pdf 자 이제부터 나카모토씨가 작성한 논문의 각 단락을 분석해보자. Abstract 논문의..
2021.07.03 -
[블록체인] 1. 블록체인, 암호화폐란 무엇인가?
먼저 블록체인의 시초가 된 비트코인에 대해서 살펴보고, 비트코인의 근간을 이루는 블록체인 기술에 대해서 간략히 알아본다. 이 블록체인 기술이 어떻게 우리 일상생활에 적용될 수 있을지 살펴보자. 비트코인(Bitcoin), 암호화폐(Cryptocurrency)란? 출처 : https://www.cnbc.com/2021/05/19/the-crypto-collapse-heres-whats-behind-bitcoins-sudden-drop.html 비트코인은 2009년 '사토시 나카모토'라는 가명의 프로그래머에 의해 만들어지고 배포된 가상 자산이다. 기존 화폐는 현금이 아닌 이상, 송금 및 결제 등의 서비스를 이용할 때 반드시 은행 등의 중앙 기관(서버)를 경유해야하지만 비트코인의 경우 블록체인이라는 분산 원장 ..
2021.06.21