Cryptocurrency
Cryptocurrency Cryptographic Hash function hash function์ ์๋์ ๊ฐ์ ์์ฑ์ ๊ฐ๋๋ค. ๋ชจ๋ ํฌ๊ธฐ์ String์ input ์ผ๋ก ๋ฐ๋๋ค. ์ ํด์ง ํฌ๊ธฐ์ output์ ์์ฑํ๋ค. (bitcoin์์๋ 256bit) ์ ๋นํ ์๊ฐ ์์ ๊ณ์ฐ์ด ๊ฐ๋ฅํ๋ค. (๊ณ์ฐ ์๊ฐ์ด ๋๋ฌด ๊ธธ์ง ์๋ค) cryptographic hash function์ ์๋์ ๊ฐ์ security ์์ฑ์ ์ถ๊ฐ๋ก ๊ฐ๋๋ค. collision-free hiding puzzle-friendly ์์ฑ1. collision-free x != y ๋ผ๋ฉด, H(x) = H(y) ์ธ ๊ฒฝ์ฐ๋ฅผ ์ฐพ์ ์ ์์ด์ผ ํ๋ค. ์ด ๋ง์ collision ์ด ์กด์ฌํ์ง ์๋๋ค๋ ๋ป์ ์๋๋ค. num(possible_input) > num(possible_outputs) ์ด๋ค. โ์ฐพ์ ์ ์๋คโ ๋ผ๋ ๋ง์, collision์ด ์กด์ฌํ์ง๋ง, hahs function์ ๊ฒฐ๊ณผ๋ฅผ ์์ธกํ ์ ์๋ค๋ ๋ป์ด๋ค. ์ค์ ๋ก, 2^130 ๊ฐ์ ๋ฌด์์ ์๋ฅผ ์ ํํ์ฌ hash function์ ๋๋ ธ์ ๋, 99.8%์ ํ๋ฅ ๋ก ์ถฉ๋์ด ๋ฐ์ํ๋ค. ํ์ง๋ง ์ด ์์น๋ ์ฒ๋ฌธํ์ ์ผ๋ก ํฌ๊ธฐ ๋๋ฌธ์ ๊ฑฑ์ ํ ํ์๊ฐ ์๋ค. (collision์ ๋ฐ๊ฒฌํ ํ๋ฅ ์ ์ธ๋ฅ๊ฐ ๋ง๋ ์ต๊ณ ์ ์ปดํจํฐ๋ก ์ฐ์ฃผ ์์ฑ์๋ถํฐ ๊ณ์ฐ์ ํด๋, 2์ด๋ค ์ง๊ตฌ์ ์ด์์ด ๋จ์ด์ง ํ๋ฅ ๋งํผ ๋ฎ๋ค.) collision์ ์ฝ๊ฒ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ด ์๋๊ฐ? -> ํน์ hash function์ ๋ํด์๋(SHA256์ ๋ํด์๋ ์ต๋จ๊ธฐ๊ฐ collision์ ์ฐพ์๋ด๋ ๋ฐฉ๋ฒ์ด ์๋ ค์ ธ ์๋ค.) ๊ฐ๋ฅํ์ง๋ง, ๋๋ถ๋ถ์ ๊ทธ๋ ์ง ์๋ค. hash as message digest collision์ ๊ตฌํ๋ ๊ฒ์ด ๋งค์ฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์, H(x) = H(y)๋ผ๋ฉด, x = y๋ผ๊ณ ํ์ ํด๋ ๋๋ค. ์ฆ, hash๋ฅผ ์ด์ฉํด ๋ฐ์ดํฐ ์ ์ก/๋น๊ต์ ๋๋ ๋น์ฉ์ ์ ๊ฐ ๊ฐ๋ฅํ๋ค. (์ ์ฒด message ๋์ hash๋ง ๋น๊ต) ์์ฑ2. hiding H(x)๋ฅผ ๊ฐ๊ณ x๋ฅผ ์ ์ถํ ์ ์๋ค. hiding ์์ฑ์ ๊ฐ์ง๋ ค๋ฉด ์๋์ ๊ฐ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค. high min-entropy ๋ฅผ ๊ฐ์ง ๋ฌด์์ ์์ โrโ์ x์ ์กฐํฉ(concatenate)ํ์ฌ hash function์ input์ ๋ฃ์ผ๋ฉด hiding ์์ฑ์ ๊ฐ๊ฒ ๋๋ค. (H(r|x)) high min-entropy ๋ ๋๊ณ ๊ณ ๋ฅด๊ฒ ํผ์ ธ์์์ ๋ปํ๋ค. ์ฆ, ๋์ ์ ํ๋ฒ์ ์์์ ํน์ ๊ฐ์ด ํน์ถ๋๊ฒ ์ฌ๋ ค๋ฒ ์ค๋ณตํด์ ๋ฝํ์ง ์๋๋ค๋ ๋ป์ด๋ค. (no particular value is chosen with more than negligible probability) commitment ํธ์ง๋ฅผ ๋๋ดํ๋ฏ ๋ฐ์ดํฐ๊ฐ ๊ฐ์ง๊ณ ์๋ ๋ด์ฉ์ ๊ณต๊ฐํ์ง ์๊ณ ๋ฐ์ดํฐ๋ฅผ ๊ณต๊ฐํ๋ ๊ฒ ...