Wallet - modolee/blockchain GitHub Wiki
- ๋๋ค ํ 256bit๋ก ์ด๋ค์ง ๊ฐ
- ์ผ๋ฐ ๋์ ์์ฑ๊ธฐ๋ก ๊ฐ์ธํค๋ฅผ ์์ฑํ๋ ๊ฒ๋ณด๋ค ์ํธ๋กํผ (๋ฌด์์์ฑ)๊ฐ ๋์ ํจ์๋ก ์์ฑํด์ผ ์์ ํ๋ค.
- ์ต์ ๊ฐ : 0x1
- ์ต๋ ๊ฐ : 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364140
- 2^256 = 1.1579209e+77, ๊ฐ์์ ์ฐ์ฃผ์ ์์ ๊ฐ์๋ก ํํ๋๋ 10^80๊ณผ ๋ง๋จน๋ ์ซ์
- ๋นํธ์ฝ์ธ ์ฃผ์ ์์ฑ๊ธฐ
- ๊ฐ์ธํค๋ฅผ ์์ฑํ์ผ๋ฉด ํ์๊ณก์ ๊ณฑ์ ์ ์ด์ฉํด์ ๊ณต๊ฐํค๋ฅผ ๊ณ์ฐํ ์ ์๋ค.
- ๋นํธ์ฝ์ธ์ secp256k1์ ์ฌ์ฉํ๋ค.
- Base64 : 64๊ฐ์ง์ ๋ฌธ์๋ก ์๋ฅผ ํํ. A-Z(26), a-z(26), 0-9(10), +, / (2)
- Base58 : 58๊ฐ์ง์ ๋ฌธ์๋ก ์๋ฅผ ํํ. Base64์์ ํท๊ฐ๋ฆด ์ ์๋ 0-O(์ซ์ ์, ๋๋ฌธ์ ์ค), I-l(๋๋ฌธ์ ์์ด, ์๋ฌธ์ ์), +, / 6๋ฌธ์๋ฅผ ๋บ ๊ฒ
- ๋นํธ์ฝ์ธ์์๋ ๋ณด์์ ์ํด์ ๋นํธ์ฝ์ธ ์ฃผ์๋ฅผ ์ผํ์ฉ์ผ๋ก ์ฌ์ฉํ๊ธธ ๊ถ์ฅํ๋ค.
- ๊ทธ๋์ 100๊ฐ์ ๊ฑฐ๋๋ฅผ ์ํด์๋ 100๊ฐ์ ์ฃผ์๊ฐ ํ์ํ๋ค. (100๊ฐ์ ๊ฐ์ธํค๋ฅผ ์ ์ฅํด์ผ ํ๋ค.)
- ๋งค๋ฒ ๋ฌด์์ํ๊ฒ ๊ฐ์ธํค๋ฅผ ์์ฑํ๊ณ , ๊ทธ์ ๋ฐ๋ฅธ ๋นํธ์ฝ์ธ ์ฃผ์๋ฅผ ์ฌ์ฉํ๋ค.
- ๋ณด๊ด์ด ์ด๋ ต๋ค. ๊ณต๊ฐํค - ๊ฐ์ธํค ์์ ๋ชจ๋ ๋ฐฑ์ ํด์ผ ํ๋ค.

- ํ๋์ ์๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ท์น์ ๊ฐ์ง๊ณ ์ฃผ์๋ฅผ ์์ฑํ๋ค.

- ๋ง ๊ทธ๋๋ก ๊ณ์ธต์ ์ผ๋ก ๊ตฌ๋ถ๋์ด ์์ ๊ณ์ธต์ ํค๋ฅผ ์ด์ฉํด์๋ ํ์ ๊ณ์ธต์ ์ ์ดํ ์ ์์ง๋ง, ํ์ ๊ณ์ธต์ ํค๋ฅผ ์ด์ฉํด์๋ ์์ ๊ณ์ธต์ ์ ์ดํ ์ ์๋ค.
- BIP-0032

- ๊ฒฐ์ ์ ์ง๊ฐ์ ์๋๋ฅผ ์์ฑํ ์ ์๋ ์ํธ๋กํผ๋ฅผ ์ฌ๋์ด ๊ธฐ์ตํ๊ณ ์ฝ๊ธฐ ์ฌ์ด ๋ฐฉ์์ผ๋ก ์ ์ฅํ๊ธฐ ์ํด, ๋จ์ด๋ก ํํํ ๊ฒ
- BIP-0039
- Mnemonic Wordlists
- Mnemonic Code Converter
* ENT : initial entropy length * CS : the checksum length * MS : the length of the generated mnemonic sentence in words. CS = ENT / 32 MS = (ENT + CS) / 11 | ENT | CS | ENT+CS | MS | +-------+----+--------+------+ | 128 | 4 | 132 | 12 | | 160 | 5 | 165 | 15 | | 192 | 6 | 198 | 18 | | 224 | 7 | 231 | 21 | | 256 | 8 | 264 | 24 |
- ํซ ๋ฐ์ดํฐ
์์ฃผ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ - ์ฝ๋ ๋ฐ์ดํฐ
์์ฃผ ์ฌ์ฉ๋์ง ์์ง๋ง ๋ณด๊ด์ด ํ์ํ ๋ฐ์ดํฐ
๋ฐ์ดํฐ ์ ์ฅ์
-
ํซ ์คํ ๋ฆฌ์ง
- ์ผ๋ฐ : ํซ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์ ์ฅ์. ๋น ๋ฅด๊ฒ ์ ๊ทผํ ์ ์์ด์ผ ํ๋ค. (์๋ > ์ฉ๋)
- ์ํธํํ : ์จ๋ผ์ธ์ผ๋ก ์ฐ๊ฒฐ ๋์ด ๋ฐ๋ก ์ถ๊ธ์ด ๊ฐ๋ฅํ ์ ์ฅ์
- ์์
- ์ธํฐ๋ท์ ์ฐ๊ฒฐ ๋ PC
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ํด๋ผ์ฐ๋
-
์ฝ๋ ์คํ ๋ฆฌ์ง
- ์ผ๋ฐ : ์ฝ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์ ์ฅ์. ๋ง์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์์ด์ผ ํ๋ค. (์๋ < ์ฉ๋)
- ์ํธํํ : ์คํ๋ผ์ธ ์ํ๋ฅผ ์ ์งํ์ฌ ๋ฐ๋ก ์ถ๊ธ์ด ๋ถ๊ฐ๋ฅํ ์ ์ฅ์
- ์์
- USB ๋ฉ๋ชจ๋ฆฌ
- ์ข ์ด์ ์ ์ด ๋์
- ๋จธ๋ฆฌ ์์ ๊ธฐ์ต
๋จ์ํ ๊ฐ์ธํค๋ฅผ ์ ์ฅํ๋ ๊ฒ ์ด ์ธ์ ๋ ๋ง์ ๊ธฐ๋ฅ์ ์ ๊ณต
- ์๋ก์ด ๊ณ์ ์์ฑ
- ์๋ช ์์ฑ
- ํธ๋์ญ์ ์์ฑ
- ์ถ๊ฐ ์ ์ธ ๋ณด์ ์ค์ (ํจํด, ์ง๋ฌธ, ์๋ฉด ์ธ์ ๋ฑ)
- ํธ๋์ญ์
๋ด์ฉ ์์ฑ
A๊ฐ Bํํ 1 ETH๋ฅผ ๋ณด๋ด๊ฒ ๋ค. - ๊ฐ์ธํค๋ก ์๋ช
์ด ํธ๋์ญ์ ์ A๊ฐ ์์ฑํ ํธ๋์ญ์ ์ด ๋ง๋ค. - ์๋ช
๋ ํธ๋์ญ์
๋ด์ฉ์ ๋ธ๋ก์ฒด์ธ ๋คํธ์ํฌ์ ์ ์ก
Parity, MyEtherWallet, MetaMask ๋ฑ๋ฑ
-
ํซ ์๋
- ์จ๋ผ์ธ ์ํ์์ ๊ฐ์ธํค๊ฐ ๋ง๋ค์ด์ง ๊ฒฝ์ฐ
- 1, 2, 3๋ฒ ๊ณผ์ ์ ๋ชจ๋ ์จ๋ผ์ธ ์ํ์์ ์งํ
- ํดํน์ผ๋ก ๋ฐ์ดํฐ๊ฐ ์ ์ถ๋๋ฉด ๊ฐ์ธํค๋ ๊ฐ์ด ์ ์ถ ๋ ์ํ์ด ์์.
- ๋ณด์
- 2FA(Two-Factor Authentication) : ์ง๋ฌธ, OTP, PIN
-
์ฝ๋ ์๋
- ์คํ๋ผ์ธ ์ํ์์ ๊ฐ์ธํค๊ฐ ๋ง๋ค์ด์ง ๊ฒฝ์ฐ
- ์์ : MEW ํ๋ก๊ทธ๋จ์ USB์ ๋ค์ด ๋ฐ์์ ์คํ๋ผ์ธ ์ํ์ PC๋ก ์ฎ๊ธด ํ ๊ณ์ (๊ฐ์ธํค/๊ณต๊ฐํค)๋ฅผ ์์ฑํ ๊ฒฝ์ฐ
- 1, 2๋ฒ ๊ณผ์ ์ ์คํ๋ผ์ธ ์ํ์์ ์งํํ๊ณ 3๋ฒ ๊ณผ์ ๋ง ์จ๋ผ์ธ ์ํ์์ ์งํ
- ํดํน์ผ๋ก ์ธํด ๊ฐ์ธํค๊ฐ ์ ์ถ ๋ ์ํ์ด ์์.
- ์คํ๋ผ์ธ ์ํ์์ ๊ฐ์ธํค๊ฐ ๋ง๋ค์ด์ง ๊ฒฝ์ฐ
-
์จ๋ผ์ธ ์๋
- ๊ฑฐ๋์ ์ง๊ฐ
-
์ํํธ์จ์ด ์๋
- MetaMask
- Mist
- Parity
- ๊ธฐํ ๋ธ๋ก์ฒด์ธ ์ง๊ฐ์ ํฌํจํ๊ณ ์๋ ํ๋ก๊ทธ๋จ
- Geth(Go-Ethereum)
- Bitcoin Core
- MetaMask
-
ํ๋์จ์ด ์๋
- Ledger Nano S
- Trezor One
- Ledger Nano S
-
๋ชจ๋ฐ์ผ ์๋
- Jaxx
- Jaxx
-
ํ์ดํผ ์๋
-
[21ํ ์์ธ ์ด๋๋ฆฌ์ ๋ฐ์ ] ์ํธํํ ํ๋์จ์ด ์ง๊ฐ๊ณผ ๋ชจ๋ฐ์ผ ์ง๊ฐ ์ํ๊ณ
- ํซ ์๋ ์ ์ฌ์ฉํ์ง๋ง ์ฝ๋์๋ ์ ๋๋ถ๋ถ ์์ฐ์ ์ ์ฅํด๋๋ฉด์ ์์ ํ๊ฒ ๋ณดํธํจ
- ์ํ์ ์ง๊ธ ์ค๋น์จ์ฒ๋ผ ๋น์ฅ ํ์๋ก ํ๋ ๋งํผ๋ง ํซ ์๋ ์ ์ ์ฅํด์ ์ฌ์ฉ
- ๊ฑฐ๋์ ๋ด์์ ์ผ์ด๋๋ ๊ฑฐ๋๋ค์ ๋ธ๋ก์ฒด์ธ์ ๊ธฐ๋ก๋์ง ์๋๋ค.
- ๊ฑฐ๋์ ๋ฐ์์ ์ ๊ธ ๋๋ ์ถ๊ธ์ ํด์ผ ๋๋ ๊ฒฝ์ฐ์๋ง ๋ธ๋ก์ฒด์ธ์ ๊ธฐ๋ก๋๋ค.
- ๊ฑฐ๋์๋ณ ์ฝ๋์๋ ๋น์จ ๋ฌธ์ ๊ฒฐ๊ณผ
- M of N : N๊ฐ์ ๊ฐ์ธํค ์ค์์ M๊ฐ์ ํค์ ์ํด ์ถ๊ธ ์๋ช ์ด ๋์ด์ผ์ง๋ง ์ถ๊ธ์ด ์ด๋ฃจ์ด์ง๋ ์๋
- ์์ฐ์ 1์ธ์ด ๋จ๋ ์ผ๋ก๋ ์ถ๊ธํ์ง ๋ชปํ๊ณ 2์ธ ์ด์์ ๋์๊ฐ ์์ด์ผ ์ถ๊ธํ ์ ์๋ ํํ
- ์ค๋งํธ ์ปจํธ๋ํธ ํํ๋ก ๊ตฌํ๋์ด ์๋ ์ผ์ข ์ dApp
- ์์คํฌ๋ก : ๊ตฌ๋งค์, ํ๋งค์, ์ค๊ฐ์์ 2 of 3
- ์ ์์ ์ธ ๊ตฌ๋งค/ํ๋งค๊ฐ ์ด๋ค์ง ๊ฒฝ์ฐ 3๋ช ๋ชจ๋ ์๋ช
- ๊ตฌ๋งค์๊ฐ ์ ๋นํ ์ฌ์ ๋ก ํ๋ถ ์์ฒญํ ๊ฒฝ์ฐ : ๊ตฌ๋งค์, ์ค๊ฐ์ ๋ง ์๋ช ํ๋ฉด ํ๋ถ ๊ฐ๋ฅ
- ํ๋งค์๊ฐ ์ ๋นํ ์ฌ์ ๋ก ํ๋งค๋ฅผ ์ฒ ํ ํ ๊ฒฝ์ฐ : ํ๋งค์, ์ค๊ฐ์ ๋ง ์๋ช ํ๋ฉด ์ฒ ํ ๊ฐ๋ฅ
- ํซ์๋ ๊ณผ ์ฝ๋์๋ ์ ๊ฐ๋
- ์ฝ๋ ์คํ ๋ฆฌ์ง - ๋๋ฌด์ํค
- ํด๋ผ์ฐ๋ ์คํ ๋ฆฌ์ง์ ํซโข์ฝ๋ ๋ฐ์ดํฐ
- [์ฝ์ธ๊ธฐ๋ณธ #8] ํซ์๋ ๊ณผ ์ฝ๋์๋ ์ ๊ตฌ๋ถํ๋๊ฑด
- [๋ธ๋ก์ง์ฐฉ๋จ] ํซ์๋ (Hot wallet), ์ฝ๋์๋ (Cold wallet), ๋ฉํฐ์๊ทธ์๋ (Multi-Sig wallet)! ์ง๊ฐ์๋ ์ข ๋ฅ๊ฐ ์๋ค
- [์ซ๋ถ] ์ซ์ง๋ง ๋ธ๋ก์ฒด์ธ #40ํ: ํซ์๋ ๊ณผ ์ฝ๋์๋ ์ ๊ฐ๋ hot & cold wallet
- ์ํธํํ ์ง๊ฐ, ์ ํ์ํ๊ณ ์ด๋ป๊ฒ ๋ง๋ค๊น
- ์ง๊ฐ์ ์ข ๋ฅ์ ๊ทธ ํน์ง๋ค
- The Top 10 Best Ethereum Wallets (2018 Edition)
- Best Ethereum Wallet (2018 Update) โ 5 Options Reviewed
- [Info] ์ํธํํ ์๋ (Crypto Wallets)
- bitcoinbook - ch05.Wallets
- How to generate your very own Bitcoin private key
- Mnemonic Code Converter
- Using Mnemonics to create Wallets
- My notes on bitcoin addresses
- Bitcoin mnemonic phrase in Elixir