μ½”μΈκ°€μ΄λ“œ

해싱은 μ–΄λ–»κ²Œ μž‘λ™ν•©λ‹ˆκΉŒ?

μ½”μΈνˆ¬μž πŸ’΅ 2023. 2. 1. 04:28
블둝체인 κΈ°μˆ μ€ ν•¨κ»˜ μž‘λ™ν•˜λŠ” μ—¬λŸ¬ 기술 ν˜μ‹ μ˜ λ³΅μž‘ν•œ μ›Ήμž…λ‹ˆλ‹€. 블둝체인 퍼즐의 κ°€μž₯ μ€‘μš”ν•œ 쑰각 쀑 ν•˜λ‚˜λŠ” ν•΄μ‹± μž…λ‹ˆλ‹€.
해싱은 μ–΄λ–»κ²Œ μž‘λ™ν•©λ‹ˆκΉŒ?

해싱은 λͺ¨λ“  길이의 λ¬Έμžμ—΄μ„ κ³ μœ ν•œ 좜λ ₯ λ˜λŠ” κ³ μ • 길이의 ν•΄μ‹œ 둜 λ³€ν™˜ν•˜λŠ” μ•”ν˜Έν™” κΈ°λŠ₯μž…λ‹ˆλ‹€. 즉, μ–΄λ–€ 기호 쑰합이 μž…λ ₯ 으둜 μ‚¬μš©λ˜λ”λΌλ„ 항상 κ³ μœ ν•œ 숫자 및 문자 λ¬Έμžμ—΄μ„ μƒμ„±ν•©λ‹ˆλ‹€ .

Bitcoin ν•΄μ‹œ λŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

00000000000000000025e2ba026a8ad462b9a693d80fd0887def167f5f888a11

(블둝 540807의 ν•΄μ‹œ)

ν•΄μ‹± ν•„μˆ˜ μš”μ†Œ

  • 해싱은 데이터λ₯Ό μ•”ν˜Έν•™μ μœΌλ‘œ μΈμ½”λ”©ν•˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€.
  • λͺ¨λ“  μž…λ ₯μ—μ„œ κ³ μ • 길이 좜λ ₯을 μƒμ„±ν•©λ‹ˆλ‹€.
  • λ™μΌν•œ μž…λ ₯은 항상 λ™μΌν•œ ν•΄μ‹œλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.
  • ν•΄μ‹œμ—μ„œ μž…λ ₯을 μž¬κ΅¬μ„±ν•  수 μ—†μŠ΅λ‹ˆλ‹€.
  • μ΅œμ‹  ν•΄μ‹œ ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λ©΄ μ„œλ‘œ λ‹€λ₯Έ 두 μž…λ ₯μ—μ„œ λ™μΌν•œ 좜λ ₯을 μƒμ„±ν•˜λŠ” 것이 사싀상 λΆˆκ°€λŠ₯ν•©λ‹ˆλ‹€.

μ•”ν˜Έ ν™”νμ˜ ν•΄μ‹±

해싱은 μ•”ν˜Έν™”ν 거래λ₯Ό ν¬ν•¨ν•œ λͺ¨λ“  블둝체인 기반 거래의 ν•„μˆ˜μ μΈ λΆ€λΆ„μž…λ‹ˆλ‹€. ν•΄μ‹œ ν•¨μˆ˜λŠ” 채꡴ λΈ”λ‘μ—μ„œ νŠΈλžœμž­μ…˜ μ„œλͺ…, 개인 ν‚€ 생성에 이λ₯΄κΈ°κΉŒμ§€ λͺ¨λ“  μž‘μ—…μ— ν•„μš” ν•©λ‹ˆλ‹€ .

λΉ„νŠΈμ½”μΈ

λΉ„νŠΈμ½”μΈ μΊμ‹œ

이더 리움

λΌμ΄νŠΈμ½”μΈ

λ¦¬ν”Œ

SHA-256

SHA-256

keccak256

슀크립트

SHA-512

ν•΄μ‹œ ν•¨μˆ˜λŠ” ν•΄μ‹œλ₯Ό κ³„μ‚°ν•˜λŠ” 데 μ‚¬μš©λ˜λŠ” μˆ˜ν•™μ  μ•Œκ³ λ¦¬μ¦˜μž…λ‹ˆλ‹€. μ„œλ‘œ λ‹€λ₯Έ μ•”ν˜Έ ν™”νλŠ” μ„œλ‘œ λ‹€λ₯Έ ν•΄μ‹œ ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ§€λ§Œ λͺ¨λ‘ λ™μΌν•œ ν•΄μ‹± κΈ°λ³Έ 원칙을 λ”°λ¦…λ‹ˆλ‹€.

ν•΄μ‹±μ˜ μ£Όμš” 속성

해싱은 κ³ μ • 길이의 좜λ ₯을 μƒμ„±ν•©λ‹ˆλ‹€.

해싱은 항상 λͺ¨λ“  μž…λ ₯μ—μ„œ κ³ μœ ν•œ κ³ μ • 길이 좜λ ₯을 μƒμ„±ν•©λ‹ˆλ‹€. λͺ‡ κ°€μ§€ 예λ₯Ό 톡해 이것이 무엇을 μ˜λ―Έν•˜λŠ”μ§€ μ‚΄νŽ΄λ³΄κ² μŠ΅λ‹ˆλ‹€.

μž…λ ₯

μ‚°μΆœ

μ•ˆλ…•ν•˜μ„Έμš”

2CF24DBA5FB0A30E26E83B2AC5B9E29E1B161E5C1FA7425E73043362938B9824

HODLν•˜κΈ° 쒋은 λ‚ μž…λ‹ˆλ‹€.

6B89D5D4AD6A3364410DD9BAB95FD250EF4A663D9D3C47CBD7388535A5912E03

Charles Dickens 의 μ†Œμ„€ Bleak House 전체

4F144CC612CA27E2DD6DFD6663F68BABC3B758D602B5102BF14E717E823EB741

μœ„μ˜ ν‘œμ—μ„œ SHA-256 ν•΄μ‹œ ν•¨μˆ˜λŠ” μ„Έ κ°€μ§€ λ‹€λ₯Έ μž…λ ₯의 ν•΄μ‹œλ₯Ό μƒμ„±ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€. μ„Έ κ°€μ§€ 경우 λͺ¨λ‘ ν•΄μ‹œλŠ” μ™„μ „νžˆ κ³ μœ ν•˜μ§€λ§Œ κΈΈμ΄λŠ” λ™μΌν•˜κ²Œ μœ μ§€λ©λ‹ˆλ‹€. SHA-256은 일반적으둜 숫자 0-9와 문자 A-F둜 κ΅¬μ„±λœ 64개의 기호둜 ν‘œμ‹œλ˜λŠ” 256λΉ„νŠΈ 길이의 ν•΄μ‹œλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€. μž…λ ₯이 아무리 μ§§κ±°λ‚˜ 길더라도(ν•œ 단어(hello) λ˜λŠ” 전체 μ†Œμ„€( Charles Dickens의 Bleak House )) ν•΄μ‹œλŠ” 64자둜 κ³ μ •λ©λ‹ˆλ‹€.

해싱은 κ²°μ •λ‘ μ μž…λ‹ˆλ‹€.

λ™μΌν•œ μž…λ ₯은 항상 λ™μΌν•œ 좜λ ₯을 μƒμ„±ν•©λ‹ˆλ‹€. SHA-256을 μ‚¬μš©ν•˜μ—¬ "fun"μ—μ„œ ν•΄μ‹œλ₯Ό μƒμ„±ν•˜λ©΄ 항상 μ•„λž˜ ν‘œμ— ν‘œμ‹œλœ 좜λ ₯을 μ–»κ²Œ λ©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ 문자 ν•˜λ‚˜λ₯Ό 변경해도 μ™„μ „νžˆ λ‹€λ₯Έ ν•΄μ‹œκ°€ μƒμ„±λ©λ‹ˆλ‹€.

μž…λ ₯

μ‚°μΆœ

μž¬λ―ΈμžˆλŠ”

00C4285274FCC5D6FBA2EE58DAF0D8C2B9B825B68D35D65D0E90A9BB333A51B5

νƒœμ–‘

27756F050E14A1CB1C1EE867F0EACE9EA4D9FCB81B8BEE089469F1EBD5FD7B17

해싱은 단방ν–₯ ν•¨μˆ˜μž…λ‹ˆλ‹€.

μ£Όμ–΄μ§„ 좜λ ₯μ—μ„œ β€‹β€‹μž…λ ₯이 무엇인지 κ²°μ •ν•˜λŠ” 것은 λΆˆκ°€λŠ₯ ν•©λ‹ˆλ‹€. 즉, ν˜„λŒ€ 기술둜 ν•΄μ‹œ ν•¨μˆ˜λ₯Ό λ’€μ§‘λŠ” 것은 사싀상 λΆˆκ°€λŠ₯ν•©λ‹ˆλ‹€. μž…λ ₯이 무엇인지 ν™•μΈν•˜λŠ” μœ μΌν•œ 방법은 μ˜¬λ°”λ₯Έ λ¬Έμžμ—΄μ„ 찾을 λ•ŒκΉŒμ§€ μž„μ˜μ˜ λ¬Έμžμ—΄μ„ μ‹œλ„ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. 이 방법을 무차별 λŒ€μž… 이라고 ν•©λ‹ˆλ‹€.

무차별 λŒ€μž…μ„ μ‚¬μš©ν•˜μ—¬ ν•΄μ‹œλ₯Ό μ›λž˜ λ¬Έμžμ—΄λ‘œ λ˜λŒλ¦¬λŠ” 것은 말처럼 쉽지 μ•ŠμŠ΅λ‹ˆλ‹€. ν˜„μ‘΄ν•˜λŠ” μ–΄λ–€ 컴퓨터도 합리적인 μ‹œκ°„ 내에 μ†”λ£¨μ…˜μ„ 찾을 수 μžˆμ„ 만큼 κ°•λ ₯ν•˜μ§€ μ•ŠμœΌλ©° μš°λ¦¬κ°€ κ·Έλ ‡κ²Œ ν•  컴퓨터λ₯Ό λ§Œλ“€ κ°€λŠ₯성도 μ—†μŠ΅λ‹ˆλ‹€. ν˜„μž¬ μ„Έκ³„μ—μ„œ κ°€μž₯ λΉ λ₯Έ 컴퓨터인 IBM μ„œλ°‹λ„ μ΄ˆλ‹Ή 수쑰 개의 계산을 ν•  수 있으며 단일 ν•΄μ‹œμ— λŒ€ν•œ 닡을 μ°ΎλŠ” 데 μˆ˜λ…„κ³Ό μ—„μ²­λ‚œ μ–‘μ˜ μ „κΈ°κ°€ ν•„μš”ν•©λ‹ˆλ‹€.

해싱은 μΆ©λŒμ— κ°•ν•©λ‹ˆλ‹€

ν•΄μ‹± λ©”μ»€λ‹ˆμ¦˜μ΄ 두 개의 μ„œλ‘œ λ‹€λ₯Έ μž…λ ₯에 λŒ€ν•΄ λ™μΌν•œ 좜λ ₯을 생성할 λ•Œ 좩돌 이 λ°œμƒν•©λ‹ˆλ‹€. κ³ μœ ν•œ ν•΄μ‹œμ˜ μˆ˜λŠ” μ œν•œλ˜μ–΄ μžˆμ§€λ§Œ μž…λ ₯ μˆ˜λŠ” μ œν•œλ˜μ–΄ μžˆμ§€ μ•ŠκΈ° λ•Œλ¬Έμ— μ΄λ‘ μƒμœΌλ‘œλŠ” 해싱이 κ°€λŠ₯ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ 좩돌 κ°€λŠ₯성은 극히 μ μŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ 해싱은 좩돌 에 λŒ€ν•΄ λ‚΄μ„± 이 μžˆμ§€λ§Œ λ©΄μ—­μ„± 이 μžˆλŠ” 것은 μ•„λ‹™λ‹ˆλ‹€.

λΉ„νŠΈμ½”μΈμ—μ„œ μ‚¬μš©ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜μΈ SHA-256은 256λΉ„νŠΈ 길이의 ν•΄μ‹œ(1κ³Ό 0으둜 κ΅¬μ„±λœ 256자리 λ¬Έμžμ—΄)λ₯Ό 좜λ ₯ν•©λ‹ˆλ‹€. μ΄λŠ” 생성할 수 μžˆλŠ” 총 2,256개의 κ³ μœ ν•œ ν•΄μ‹œκ°€ μžˆμŒμ„ μ˜λ―Έν•©λ‹ˆλ‹€. μž…λ ₯의 μˆ˜κ°€ κ°€λŠ₯ν•œ λͺ¨λ“  좜λ ₯의 μˆ˜λ³΄λ‹€ 크면(예: 2 256 +1) μž…λ ₯ 쀑 적어도 두 κ°œλŠ” λ™μΌν•œ 좜λ ₯을 κ°–κ²Œ λ©λ‹ˆλ‹€. 이것이 μΆ©λŒμž…λ‹ˆλ‹€.

κ·Έλ ‡λ‹€λ©΄ 해싱이 μ•…μš©λ  수 μžˆλ‹€λŠ” λœ»μΈκ°€μš”? μ•„λ‹ˆ, μ „ν˜€. 2256 은 μ—„μ²­λ‚œ μˆ«μžμž…λ‹ˆλ‹€. 사싀 μ—„μ²­λ‚œ 것은 μ •μ˜λ₯Ό 내리기 μ‹œμž‘μ‘°μ°¨ ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μ΄λ ‡κ²Œ μƒκ°ν•΄λ³΄μ„Έμš”. 2 256 은 κ΄€μΈ‘ κ°€λŠ₯ν•œ 전체 우주의 μ›μž μˆ˜μ™€ 거의 κ°™μŠ΅λ‹ˆλ‹€. 이 숫자의 μˆœμ „ν•œ ν¬κΈ°λŠ” 좩돌이 λ°œμƒν•  κ°€λŠ₯성이 μ™„μ „νžˆ μž‘λ‹€λŠ” 것을 μ˜λ―Έν•©λ‹ˆλ‹€.

해싱은 λΈ”λ‘μ²΄μΈμ˜ κΈ°λ³Έμž…λ‹ˆλ‹€.

블둝체인 기술 은 λ‹€μ–‘ν•œ κ³Όν•™ λΆ„μ•Όμ˜ μ€‘μš”ν•œ μ†”λ£¨μ…˜ λ²”μœ„λ₯Ό κ²°ν•©ν•©λ‹ˆλ‹€. μ•”ν˜Έν™” ν•΄μ‹œ κΈ°λŠ₯은 블둝체인을 κ΅¬μΆ•ν•˜κ³  ν•΄λ‹Ή μ†”λ£¨μ…˜μ„ ν™œμš©ν•˜κΈ° μœ„ν•œ 기반 역할을 ν•©λ‹ˆλ‹€. 해싱을 μ™„μ „νžˆ ν¬κΈ°ν•˜λŠ” λΆ„μ‚°ν˜• λ„€νŠΈμ›Œν¬λ₯Ό μƒμƒν•˜κΈ°λŠ” μ–΄λ ΅μŠ΅λ‹ˆλ‹€.