μ μμλͺ μ λ€νΈμν¬ μμμ κ±°λμ 보μμ κ°ννκΈ° μν΄ μνΈ μκ³ λ¦¬μ¦(Cryptography Algorithm)μ μ΄μ©νμ¬ μ‘μ μμ μ μμ μ¦λͺ νκ³ μμ μκ° κ²μ¦νλ κ³Όμ μ λ§νλ©° λΈλ‘μ²΄μΈ μμμ λͺ¨λ κ±°λμ λ³΄κ° κ³΅μ λλ―λ‘ λΆμ°ν λμ΄ μλ λμ§νΈ λ°μ΄ν°μ μ§μ(Authentication)μ μ¦λͺ νκΈ° μν΄ μ μμλͺ λ°©μμ μ¬μ©νλ€. μ½κ² λ§ν΄μ μ¬κΈ°μ κΈ°μ μ€λ κ±°λλ΄μ©μ΄ μ§μ§μΈμ§ κ°μ§μΈμ§ νλ³νκΈ° μν΄ μ¦λͺ κ³Ό κ²μ¦μ μ°¨κ° νμνλ€λ κ²μ΄λ€. κ·Έλμ λΉνΈμ½μΈκ³Ό μ΄λ리μ λΈλ‘μ²΄μΈ λͺ¨λ ECDSA(Eliptic Curve Digital Signature Algorithm)μ΄λ μ μμλͺ μκ³ λ¦¬μ¦μ μ¬μ©νκ³ μλ€.
λΉνΈμ½μΈμ μλ₯Ό λ€μ΄ μ€λͺ νμλ©΄ λΉνΈμ½μΈμ μμ κΆμ λ€μ μΈκ°μ§μ μν΄ κ΅¬μ±λλλ° μ μν€(Digital Key), μ£Όμ(Bitcoin Address), κ·Έλ¦¬κ³ μλͺ (Digital Signature) λ±μ΄λ€. κ·Έλ¦¬κ³ μ μν€λ κ°μΈν€(Private Key)μ 곡κ°ν€(Public Key)λ‘ μ΄λ κ² λκ°μ§λ‘ λλ μ μλ€. 곡κ°ν€λ μν κ±°λ ν λ μν κ³μ’λ²νΈ κ·Έλ¦¬κ³ κ°μΈν€λ λΉλ° PIN λ²νΈ νΉμ κ°μΈ μλͺ μ΄λΌκ³ λ³Ό μ μλ€. μν κ±°λ μμ κ³μ’λ²νΈκ° μλλΌλ λΉλ°λ²νΈκ° μμΌλ©΄ κ±°λν μ μκ³ λΉλ°λ²νΈλ λ¨μκ² κ³΅κ°λμ΄μλ μλκ³ κ°μΈμ μΌλ‘ 보κ΄λμ΄μΌ νλ―μ΄ κ°μΈν€(Private Key) λ 곡μ λ°μ΄ν°μ κ³΅κ° λμ§ μκ³ κ°μΈ μλ²μ μ μ₯λκ±°λ μ΄λ€ νμμΌλ‘λ κ°μΈμ μΌλ‘ κ΄λ¦¬λμ΄μΌ νλ€.
κ·Έλ¬λ©΄ κ°μΈν€, 곡κ°ν€, μ£Όμ, κ·Έλ¦¬κ³ μλͺ μ κ°μ§κ³ μ΄λ»κ² μ μμλͺ μ νμ¬ μμ νκ² κ±°λλ₯Ό νλ€λ κ²μΌκΉ? μ°μ κ±°λ κ³Όμ μ μκΈ° μ μ μ΄ μμλ€μ κ΄κ³μ μ΄λ€ μκ³ λ¦¬μ¦λ€μ΄ μ μ©λλμ§ λ¨Όμ κ°λ¨νκ² μ΄ν΄ν νμκ° μλ€. μ μ μλͺ μ ν¬κ² μΈκ°μ§ μκ³ λ¦¬μ¦μΌλ‘ ꡬμ±λλλ° κ°μΈν€μ 곡κ°ν€λ‘ μ΄λ£¨μ΄μ§ μ μ ν€ μ(digital key pairs)μ μμ±νλ μκ³ λ¦¬μ¦, κ°μΈν€λ₯Ό μ΄μ©νμ¬ μ μ μλͺ μ μμ±νλ μκ³ λ¦¬μ¦, κ·Έλ¦¬κ³ κ³΅κ°ν€λ₯Ό μ΄μ©νμ¬ μλͺ μ κ²μ¦νλ μκ³ λ¦¬μ¦μ΄λ€.
κ°μΈν€μ 곡κ°ν€ κ·Έλ¦¬κ³ μ£Όμλ λ°μ ν κ΄κ³κ° μλλ° μλ κ·Έλ¦Όκ³Ό κ°μ΄ κ°μΈν€λ‘ λΆν° 곡κ°ν€κ° λμ€κ³ 곡κ°ν€λ‘ λΆν° μ£Όμκ° λμ¨λ€. μ¬κΈ°μ μ£Όλͺ©ν΄μΌν μ μ λ³νμ μ°μ΄λ ν¨μλ€μ΄ λ¨λ°©ν₯ μνΈν ν¨μ(One way cryptographic function)μ΄μ΄μ λλ릴 μ μλ€(Irreversible)λ νΉμ§μ κ°μ§κ³ μλ€. ν μͺ½ λ°©ν₯μΌλ‘λ μ°μ°μ΄ κ°λ₯νμ§λ§ κ·Έ λ°λ λ°©ν₯μΌλ‘λ μ°μ°μ΄ κ±°μ λΆκ°λ₯νμ¬ μλμ κ°μ μ μΆνκΈ° νλ€κΈ° λλ¬Έμ 보μ μκ³ λ¦¬μ¦μ μ£Όλ‘ μ°μΈλ€. μ¦ κ°μΈν€λ‘ 곡κ°ν€λ ꡬν μ μμ§λ§ 곡κ°ν€λ‘λ κ°μΈν€λ₯Ό ꡬν΄λΌ μ μλ€λ κ²μ΄λ€.
<μΆμ²: Mastering Bitcoin 2nd Edition, Andreas M. Antonopoulos: >
κ°μΈν€(Private Key)λ λλ€μΌλ‘ λ§λ€μ΄μ§ 256 bit μ«μλ‘ 1κ³Ό 2μ 256μΉ μ¬μ΄μ μλ₯Ό λλ€μΌλ‘ λ½μ κ²μ΄λΌκ³ 보면 λλ€. λ³΄ν΅ SHA256Hash μκ³ λ¦¬μ¦(random numberλ₯Ό λ§λλ ν¨μ μ€ νλ) μ ν΅ν΄ μ½κ² μ°μΆν μ μκ³ μλ ννμ κ°λ€.
<μΆμ²: Mastering Bitcoin 2nd Edition, Andreas M. Antonopoulos>
곡κ°ν€λ κ°μΈν€λ₯Ό Elliptic Curve Multiplicationμ΄λΌλ ν¨μλ₯Ό ν΅ν΄ νμ°ν κ°μΌλ‘ ν¨μμ μμ K = k*G μΌλ‘ k λ κ°μΈν€ Gλ generator λΌλ κ³μλ‘ κ³΅κ°ν€ Kλ₯Ό μ°μΆνλ€. μλ§ λ³΄κΈ°μ κ΅μ₯ν κ°λ¨ν κ² κ°μ§λ§ Elliptic Curve μ Gμ kμ κ³±μΌλ‘ νμ°ν Elliptic Curve Cryptocurrency κ·Έλνλ μλμ κ°λ€. μ΄ν΄νκΈ° μ΄λ €μ΄ κ΄κ³λ‘ μ΄ν΄κ° λλ©΄ ν¬μ€ν νλλ‘ νκ² λ€.
<μΆμ²: Mastering Bitcoin 2nd Edition, Andreas M. Antonopoulos>
μ£Όμ(Address)λ 곡κ°ν€(Public Key)λ‘ λΆν° μμ λ¨λ°©ν₯ μνΈ μκ³ λ¦¬μ¦μΈ SHA256 ν¨μμ RIPEMD160 Hash ν¨μ μκ³ λ¦¬μ¦μ μ΄μ©νμ¬ μ°μΆν κ°μ Base58Check μ΄λΌλ μΈμ½λ© λ°©μμ μ΄μ©νμ¬ λ³νν κ°μΌλ‘ μ νλ€.
<μΆμ²: Mastering Bitcoin 2nd Edition, Andreas M. Antonopoulos>
κ·ΈλΌ μ¬λ¬ λ Έλ λ€μ κ°μΈν€, 곡κ°ν€, μ£Όμ λ±μ κ°μ§κ³ μ΄λ€ κ³Όμ μ κ±°μ³μ κ±°λ(Transaction)κ° μ§ν λ κΉ? μ°μ Alice κ° Bobμκ² 1 λΉνΈμ½μΈμ μ‘κΈνλ κ±°λλ₯Ό νλ€κ³ νμ Aliceμ Bobμ κ°κ° νΌμλ§ μκ³ μλ λΉλ° κ°μΈν€λ₯Ό κ°μ§κ³ μκ³ λꡬλ μ μ μλ 곡κ°ν€λ₯Ό κ°μ§κ³ μλ€. μμΈν (μνμ μκ³ λ¦¬μ¦μ μ€λͺ νκΈ°λ λ무 μ΄λ €μ°λ―λ‘) μ½κ² μ€λͺ νμλ©΄ Aliceκ° Bobμκ² 1 λΉνΈμ½μΈμ΄ λ€μ΄ μλ 보물ν¨μ 보λΈλ€κ³ μκ°ν΄λ³΄μ. μ°μ κ·Έ 보물ν¨μ Aliceμ κ°μΈν€λ‘ μ΄μ΄μ(Unlocking) 1 λΉνΈμ½μΈμ΄ λ€μ΄κ° μλμ§ νμΈνκ³ Bobμκ² μμ νκ² λ³΄λ΄κΈ° μν΄ λ€μ μλ¬Όμ λ₯Ό μ κ·Όλ€(Locking). νμ§λ§ Bobμ΄ μ΄ μ μμ§λ§ μμ νκ² λ³΄λ΄κΈ° μν΄ μ¬ν μ λμΉ΄λͺ¨ν λΈλλλ₯Ό κ°μ§ νΉμ μλ¬Όμ λ₯Ό λΆμ¬ 보λ΄κΈ°λ‘ νλ€. μ΄ μλ¬Όμ λ‘ λ§νμλ©΄ Bobμ 곡κ°ν€λ₯Ό μ΄μ©νμ¬ λ§λ νΉμν νΌμ¦μ νμ΄μΌ μ΄λ¦¬κΈ° λμ΄ μλλ° κ·Έ νΌμ¦μ Bobμ΄ κ°μ§κ³ μλ κ°μΈν€λ‘ λ§λ€μ΄μ§ μ μμλͺ μΌλ‘λ§ μ΄ μκ° μμ΄ μμ£Ό μμ νλ€.(μ΄λ μ¬ν μ λμΉ΄λͺ¨ν κ° μ΄μ©ν ECDSA κΈ°μ λ‘λ§ κ°λ₯νλ€. κ·Έ κΈ°μ λ‘ μΈν΄ κ°μΈν€λ‘λΆν° 곡κ°ν€λ₯Ό λ§λ€ μ κ° μμ§λ§ 곡κ°ν€λ‘ λΆν° κ°μΈν€λ μ μΆν μκ° μλ€.) κ·Έλμ Bobμ 보물ν¨μ μ ν΄ λ°μμ μμ νκ² λ³΄λ¬Όν¨μ μ΄κ³ (Unlocking) 1 λΉνΈμ½μΈμ νλν μ μλ€. κ²°κ΅ λͺ¨λ κ±°λμ κ³Όμ μ 보물ν¨μ μ΄κ³ (Unlocking) μ κ·Έλ(Locking) κ³Όμ μ λ°λ³΅μ΄λΌ ν μ μλ€. μ΄λ° μΌλ ¨μ κ³Όμ λ€μ μνΈν λμ΄ λΈλ‘μ²΄μΈ μμ κΈ°λ‘λκ² λλ€. κ±°λ μκ³ λ¦¬μ¦μ μνμ μΌλ‘ μμΈν μ΄ν΄νκ³ μΆλ€λ©΄ Andreas M. Antonopoulosμ Mastering Bitcoin 2nd Editionμ 3μ₯κ³Ό 4μ₯μ μ λ νλ©΄ λ λ§μ λ΄μ©μ μ΄ν΄ν μ μμ κ²μ΄λ€.
Andreas M. Antonopoulos
Visit Amazon.com's Andreas M. Antonopoulos Page and shop for all Andreas M. Antonopoulos books.
www.amazon.com
<μΆμ²:
https://cdn.rawgit.com/andreacorbellini/ecc/920b29a/interactive/modk-mul.html>