Q. 안녕하세요, 자기소개 부탁드립니다~^^*
A. 26살이고 한국항공대 4학년 2학기로 복학예정인 대학생입니다.
과가 전자과여서 이쪽과 무관하긴 한데 1년 전쯤에 우연히 블록체인 기술에 대해서 검색을 했었고 겉면만 봤는데도 흥미로운 점이 있어서 관심을 갖게 됐습니다.
Q. 왜 이 강의를 수강하시고 싶었나요? 커리큘럼의 어떤 부분이 가장 매력적으로 다가왔나요?
A. 제가 1년동안 미국에 있었는데 블록체인에 대해서 공부하고 싶었는데 미국에서 다른 인턴일을 하고 있어서 실천을 하지 못했어요. 그래서 한국 돌아오자마자 어떻게 하면 더 깊게 배울 수 있을까 해서 수강전에 실전 입문이나 시중에 나와있는 책을 많이 샀어요. 그래서 솔리디티 언어, 이더리움을 개발하고 dapp개발도 하고 좀 더 깊은 이해가 필요하다고 생각이 되서 검색하다가 이 강의를 알게되었고 다른 강의와 다르게 구체적이고 명확하고 실습도 있었고, 무엇보다 그걸 파이썬으로 구현하셔서, 그걸 어떻게 파이썬으로 구현한건지 신기해서 듣게되었어요.
Q. 수강을 하면서 얻은 것이 있다면? 자유롭게 말해주세요.
지갑의 진짜 개념, 거래의 검증절차, 비트코인 캐시와 세그윗의 차이 등 막혀있던 부분을 명확하게 알게되었어요.
비트코인과 블록체인의 기술을 깊고 명확하게 알 수 있는 강의에요. 블록체인을 제대로 하실 분들은 꼭 들어야할 거에요.
A. 실제로 이 강의를 들으면서 막혔던 부분이 해결되었어요. 책에는 잘 안나오는 디테일한 부분도 조성현 교수님이 다 체크를 해주셔서 그 부분이 되게 좋았어요.
구체적으로 이야기하자면 여러개념들이 있는데요.
1) 블록체인 비트코인 이야기하는 중에서 utxo라는 중요한 개념이 있어요. 보통 지갑이라는 걸 생각해봤을 때 평소 실생활에서는 지갑 안에 돈이 들어가있는거잖아요. 그런데 이 utxo안에 있는 지갑에서 네트워크상에서 쓸 수 있는 돈을 쓸 수 있는 개념이거든요. 그게 바로 지갑 기능인데, 지갑에 돈이 있는 줄 알았는데, 알고보니 utxo라는 개념이 있었고 결론은 지갑에 잔고가 있는게 아니라 네트워크에 있다는걸 이해하는게 어려웠거든요. 근데 이 강의를 듣고 지갑에 잔고가 있는게 아니라 네트워크에 있다는것. 쓰이지 않는 돈의 개념을 이해하는게 어려웠는데 그걸 해결했어요. 그걸 쓸 수 있도록 해주는게 찾아주고 검증해주는게 지갑의 기능이라는 걸 알게됐어요.
2) 또 이걸 이해하려면 암호학을 좀 해야하는데, 그걸 다루는 책이 별로 없어요. 주요한 알고리즘 중에 타원곡선 알고리즘이 있는데 책으로나 문자로만 하면 어려운데 처음부터 핵심만 짚고 넘어가주셔서 이해가 잘 되었어요. 사실 개발자 입장에서는 암호학을 이해만 하면 되고 그걸 끝까지 알고리즘을 뜯어서 보기에는, 조성현 교수님이 암호학에 대해서 중요한 말을 하셨는데, 암호학의 목적이 뚫리지 않기 위해서 그런게 아니라 암호를 해결하기 위한 비용 대비, 이익과 비교해봤을 때 비용을 더 크게 지불함으로써 못풀게 한다는 의도가 있거든요. 그 개념을 듣고 나서 블록체인을 보면 블록체인도 그렇게 만들어져있거든요. 네트워크를 망치면 망칠 수 있는데, 그 걸 망치는 기회비용이 더 크니까 이 것에 대한 안정성이 더 커지는거거든요. 그래서 되게 암호학이 지저분해요. 꼬고 꼬고 그런거라서. 그걸 순수하게 깊이 이해하는 것 보다는, 그게 주가 아니니까. 이런 의도로 설계되었구나 이런 의도만 해도 이해되는거 같아요. 만들려면 너무 복잡하고.
3) 타원곡선과 전자서명도 암호학에서 이야기를 많이 해주셨는데 이해가 많이 되었던거 같아요. 전자서명은 타원곡선 알고리즘을 이용해서 공개키 방식으로 하는건데, 전자서명 자체는 공개키를 이용해서 한 것 중 타원곡선을 이용한게 비트코인에서 쓰는거에요. 타원곡선을 따로 뗀 거에요. 실질적으로 블록의 크기를 8mb로 늘린거에요. 소프트포크와 하드포크에 대한 개념의 이해가 필요한데, 소프트포크는 업데이트할 때 하위버전과 호환을 하기 위해서, 소프트웨어 업그레이드라고 보면되어요. 하드포크는 아애 네트워크가 갈리는거에요. 세그윗은 비트코인 개발자들이 기존에 썼던거랑 세그윗이랑 연결시키기 위해서 복잡한 지저분하다그래야하나, 그런 규칙을 다 맞추려고 하다보니까 지저분해지는 점이 있었어요. 그게 현재의 비트코인이고. 블록을 8mb 로 늘린거에요. 두개로 나뉜거에요. 비트코인 캐시로 된거에요. 세그윗은 그렇지 않았거든요. 다른 방식으로 거래에서 전자서명 부분을 따로 떼어내서 거래의 크기를 늘렸거든요. 세그윗은 조성현 교수님도 완벽하게 아는게 아니라 아시는 부분까지 설명해주셔서 이 부분도 보강이 필요하다고 해야하나요. 나온지도 얼마 안됐고 이해하기도 어렵거든요. 저도 이 부분은 구체적으로는 제대로 이해가 된 거 같지는 않아요. 올해초랑 작년 비트코인 가격이 올랐던 이유가 세그윗 때문인데, 전 버전이랑 호환이 되고, 거래량을 늘려서 블록을 늘릴 수 있었어요. backward compatibility를 구현했다고 보면 돼요. 그게 실생활은 초당 4천건인데, 원래 1mb는 초당 4건이에요. 그정도 수준차이가 있어서 아직은 실생활에 쓰기에는 한계가 있다고 보는 추세에요.
4) 또 한가지 되게 배웠던게, 거래가 인풋(언라킹 스크립트)과 아웃풋(라킹 스크립트)으로 되어요. 스크립트는 문자열 같은건데, 이 거래를 검증해야하는데 그 절차에서 노드가 검증을 해요. 거기서 검증 스크립트를 생성해요. 언라킹(열쇠) 과 라킹(자물쇠) 스크립트 두개를 합쳐서 가지고 풀리는지를 검증하는거에요 너가 실제로 써도 되는 utxo인지. 거래를 검증할 때 쓰는 알고리즘이에요. 구체적으로 그림(위 그림 참조)까지 나와있어서 이 검증절차 부분이 되게 좋았어요. 열쇠가 사실 전자서명이에요. 본인이 서명을 하면 열쇠를 만드는거에요. utxo는 내가 쓸 수 있는 돈인데, 저라는걸 증명하기 위해서 전자서명을 넣고 전자서명이 포함된 걸 언라킹 스크립트. 이 검증 스크립트가 로우데이터에 들어가있어요. 노드가 거래를 만들어요. 누구에게 돈을 쏴준다 이게 거래거든요. 노드 하나가 거래를 여러개 만들 수 있고, 블록은 채굴자라고 해서 채굴자들이 블록을 만들어요. 여러 네트워크에 떠다녀요. 채굴자가 모아요. 그 거래들을. 그래서 여러 거래들을 하나의 블록으로 만들어요. 수학자가 산수문제를 만들면 또 네트워크를 타고 전파되거든요. 사실 거래를 만들었다고 해서 검증이 되는건 아니에요. 블록을 만들어야 검증이 되는거고. 한번 연결이 되도 없어질 수 있어요. 그래서 일반적으로 생성할 때 6블록이 되면 이건 진짜 맞다 컨펌이 되었다고 검증이 되거든요. 그런 검증절차를 이해하는 부분도 다른 어떤 강의보다 구체적이고 깊게 이해할 수 있었던 것 같아요.
Q. 수강하면서 얻은 것들을 구체적으로 어떻게 활용하고 싶으신가요?
A. 비트코인은 1세대, 이더리움은 2세대인데. 이더리움을 이해하려면 반드시 비트코인을 이해해야해요. 이더리움은 비트코인과 다르게, 프로그래밍 언어 솔리디티가 있어요. 계약을 맺어서 자동적으로 실행시킬 수 있는 문제인데, 기반은 비트코인과 비슷하고, 이걸 이해해야만 할 수 있기 때문에 앞으로는 이더리움을 공부를 더 해보고싶고 그 때가서 계약언어에 대해서 공부해서 사업아이템으로 쓸 건지, 이더리움같은거를 만들어서 사업을 하던지, 이걸 사업적으로 어떻게 풀어가는지 보고싶어서 스타트업 입사를 하고 싶고 결국에는 제가 나와서 만들거 같아요.
스팀잇도 블록체인 기반으로 만들어진건데, 포스트에 대해서 생산자와 소비자가 있는데, 생산자가 직접적으로 수혜를 받을 수 있도록 만든 플랫폼이거든요. 그래서 저도 대충 생각해본건 비슷하게나마 가수와 멜로디 작곡가 작사가들이 다르잖아요. 어떤 사람들은 가수의 목소리가 필요할수도 있고 자기가 멜로디 짤 수 없으니까 작사가, 작곡가들을 이어주는 플랫폼같은거를 만들어보고 싶어요. 멜로디를 만든 사람을 컨택할 수도 있고, 멜로디를 만든 사람을 만들어서 인정을 받을 수도 있고. 인정을 많이 받으면 가수들이 많을 수 있고. 스팀잇은 글로 가치가 공유가 된다고 하면, 이건 음악으로 가치가 공유되는거죠.
기본적으로 중개자를 없애고, 참여자들이 실질적으로 수혜를 받을 수 있게 만드는게 목적인데. 거기에 맞게 만들어야 진짜 블록체인의 철학에 부합하는 것인데, 조성현 교수님 이야기 들어보면 ico 여러사람들이 스타트업을 하는데, 약간의 중앙화된 서버 scam이 있는데 그게 블록체인의 철학과 다른 그런 사업도 많아요. 잘 뜯어보고 판단해야해요 투자를 하려면.
Q. 앞으로 수강생 분들에게 당부의 말씀 부탁드립니다.
A. 아애 모르는 것보다 공부를 혼자서 해와서 이 수업이 가치있게 느껴졌거든요. 그런 경험들이 되게 좋았거든요. 미리 간략하게나마라도, 시중에 짦은 책들이 많은데 전체적인 그림을 그릴 수 있게 하는게 많아요. 그런 책들을 읽은 후에 수업을 들으면 이해가 잘 될 것 같아요. 같이 들었던 수강생분들중에 한 분이 변호사인데, 파이썬을 잘 몰라요. 그런데 이 언어가 파이썬으로 진행이 되고, 조성현 교수님이 직접 짜신 코드를 보면 이해하기 좋거든요. 이게 구현하는거랑 다른 세계라서 이걸 확실히 봐야 이해가 되거든요. 논리라서 이해하는데 어려움은 없는데, 좀 더 깊게 이해하고 싶은 분들은 파이썬을 알고 오시면 더 큰 도움이 될 것 같아요.