본문으로 바로가기

블록체인 기술을 파악하기 위해 비트코인의 전체소스를 분석하는것은 상당한 시간과 노력이 요구됩니다.

핵심이 되는 부분(키와 주소생성, 트랜잭션, 채굴 및 합의, 프로토콜 등)을 중심으로 분석을 하면 좋을것 같습니다.

비트코인을 기반으로 해서 변형된 암호화폐를 만들수도 있으며, 라이트코인이 그 예가 될수 있습니다.

라이트코인은 비트코인을 기반으로 해서 비트코인의 문제점을 보완하여 새롭게 탄생한 암호화폐입니다.

따라서 비트코인과 라이트코인의 소스를 비교한다면 새로운 암호화페를 개발하는데 힌트가 될수 있을것 같습니다.


비트코인과 라이트코인의 소스코드는 다음의 github에서 받을수 있으며, 동일 branch로 0.15 버전을 선택하여 받습니다.


bitcoin : https://github.com/bitcoin/bitcoin

litecoin : https://github.com/litecoin-project/litecoin


일단 분석은 windows 환경에서 살펴보았습니다.

beyond compare를 통해서 소스를 비교해보면 전체 1000개정도의 소스가 비교됩니다.



전체소스에서 qt 폴더를 제외한 변경화일은 다음과 같습니다.

qt는 UI에 관련된 코드로 화면출력에 관련된 리소스등이 포함되어있기 때문에 블록체인의 코드와는 상관이 없으니 제외하는것이 좋습니다.

이렇게 qt를 제외하고 비교를 하면 다음과 같이 67개 정도의 코드가 변경이 되어있습니다.




라이트코인과 비트코인의 가장큰 차이점 중에 하나가 라이트코인은 SHA256 알고리즘이 아닌 scrypt 알고리즘을 사용한다는 것입니다.

다음과 같이 비트코인에는 없는 scrypt 알고리즘 소스가 추가되어 있습니다.



이와같이 비트코인과 라이트코인의 변경점을 분석하면 비트코인을 기반으로 알고리즘을 변경하거나 최적화하여 개선된 암호화폐를 개발하는데 힌트가  될수 있지 않을까 싶습니다.