이번 시간에는 "머클패트리샤 트리"에 대하여 알아보겠습니다 머클패트리샤 트리는 머클트리 + 패트리샤 트리 입니다 여기서 패트리샤트리는 "트라이"라고 생각하시면 됩니다! 자료구조 / 알고리즘을 공부하신 분들 중에 트라이를 알고 계신다면 공부할 때 이해가 더 쉬우실 것 입니다! 그럼 먼저 트라이에 대해 잠시 살펴보면 이런식으로 루트부터 시작하여 노드마다 한글자씩 담당해 단어를 만들어가는 형태의 트리 입니다 그림을 보시면 이해가 쉽습니다! 우선 이렇게 저장하면 중복되는 것을 효율적으로 줄일 수 있고 단어를 찾을 때 최대단어길이 만큼 시간이 들게 됩니다 머클패트리샤 트리에서는 radix 트라이인 radix트리를 사용합니다 이런식으로 공간을 더 효율적으로 사용하게 됩니다 그리고 트리의 성능 향상을 위해 노드가 4..
오늘은 비트코인에서 쓰이는 "머클트리(Merkle tree)" 라는 자료구조에 대해 알아보겠습니다 알고리즘 공부를 하던 저에게는 가장 재밌고 친근한 주제였습니다 공부할 때 https://medium.com/@dlgusdn616/bitcoin01-01-%EB%B9%84%ED%8A%B8%EC%BD%94%EC%9D%B8-%EC%BD%94%EC%96%B4-%EC%86%8C%EC%8A%A4%EC%BD%94%EB%93%9C%EB%A1%9C-%EC%82%B4%ED%8E%B4%EB%B3%B4%EB%8A%94-%EB%A8%B8%ED%81%B4-%ED%8A%B8%EB%A6%AC-3b93d59c989b 를 참고해 공부했습니다! 제목이 한글이라 주소가 좀 길게 나오네요...! waca님께서 코드를 잘 정리해주셔서 이해하기 쉬..
블록체인에 대해 공부하고 글로 남기려고 합니다 첫 주제는 이더리움 스마트 컨트랙트의 보안 취약점 입니다 실제 사례들도 가져와 쉽게 이해해 봅시다! 먼저 이더리움이 왜 만들어졌을까 백서에 따르면 이더리움의 목적은 "분산 어플리케이션 제작을 위한 대체 프로토콜을 만드는 것" 이다 여기서 나타난 비트코인과 다른점은 "스마트 컨트랙트" 라고 생각한다 스마트 컨트랙트를 이용하면 개발자가 직접 계약 조건과 내용을 코딩할 수 있기 때문에, 원칙적으로 인간이 상상할 수 있는 모든 종류의 계약을 이더리움 플랫폼을 이용해 구현할 수 있다!! 그럼 이 스마트 컨트랙트의 문제는 없었을까? 아니다 있었다! 오늘은 그 문제에 대해 알아보자 먼저 https://dasp.co/ https://www.youtube.com/watch?..