Loading
2020. 5. 1. 01:01 - Bengi

2020.04.30

1. 2020년의 1/3이 지나가 버렸다. 시간은 화살 같이 날라가고, 내 인생도 아마 인간 평균 수명을 따지자면 1/3 혹은 1/4 정도를 지나가는 시점에 돌입하게 되었다. "이 시점이 올 때까지 나는 무엇을 하였는가?"라는 질문을 하게 될 수 밖에 없는 것도 사실인데, 난 사실 이 때까지 이루어 놓은 것이 없다는 것만 확실하게 알아가는 것 같다.

2. 이룬게 있건 없건 간에 요즘 글이 잘 안 쓰여진다. 머리 속에 샘솟는 아이디어도 없고, 뭔가 집착할 만한 무언가도 존재하지 않는다. 그냥 흘러가는대로 사는 것도 있고, 그 흘러감 속에 허우적대면서 손에 부여잡히는 대로 돈과 시간이라는 급류 속을 헤쳐나가고 있는 것도 있다. 사실 이러한 다급함이나 결국 돈과 시간의 빈곤함이 나를 이렇게 비쩍 마른 존재로 만들어가는 것일지도 모른다. 쓸 글감들은 적어지고, 비즈니스적이거나 사회 생활에 관련된 것이 아니라면 그렇게 열심히 관심을 갖지 않는 듯한 모양새를 지니게 되는 것 같다.

3. RSS나 트위터나 페이스북이나 다양한 형태로 외부의 데이터를 가져오는 데이터 피드를 구축한지 짧게는 10년, 길게는 15년 정도가 지났다. 사실 이런 형태의 데이터보다는 책이나 논문 형태로 데이터를 습득하는 것을 선호하였고, 당연하게도 그 쪽에서 데이터를 얻는 것이 많았었는데, 이제는 그런 데이터 소스들을 적극적으로 활용하기에는 상당히 힘든 상황이 온 것도 사실이다. 지속적 자기 계발이 안 되는 시점에서 단편적인 데이터 조각이나 인식의 편린들을 가져와서 어떤 것을 끌어내는 작업을 하는 것을 중점적으로 하게 되는 것은 어쩔 수 없는 일이다. RSS에서 데이터를 습득하는 정도가 높아졌고, -거의 데이터 값이 0이라고 생각했던- 잡지류에서도 데이터를 습득하고, 이후 후 가공이나 추가 탐색을 통해서 데이터를 보완하면서 방향성을 잡는 형태가 반복되고 있다.

문제는 이러한 단순 데이터 습득이 양질의 결과를 가져오는가에 대한 질문이다. 지금까지 약 25년 이상의 삶의 데이터가 축적이 된 시점에서, 더 많은 데이터를 학습하는 것은 의미가 없을 수도 있다. 이미 학습된 통계학이나 몇몇 기법들을 통해서 데이터들을 걸러내고 재활용하고 이어붙이는 작업을 더 능숙하게 하는 것이 더 나을지도 모른다는 것은 경험적으로 알 수 있다. 이미 성장 한계치를 다 찍고 더 이상 성장할 수 없다는 것을 깨달아 버린 것일지도 모른다.

4. 정체되어있음이라는 것은 무언인가? 사고하는 방법이나 생각하는 방법을 서서히 잊어간다는 것을, 결국 새로운 것을 쟁취하는 것이 아니라 있는 것을 지켜내는데 힘을 쏟아야한다는, 정말 길고도 지루한 싸움을 이어가는 것을 이야기하는 것 같다. 질문에 대한 대답은, 대답의 양상은 정해져있을 가능성이 높다는 것이다. 감기에 걸리면 감기약을 처방하듯이 결국 어떤 인풋 값들에 의해서 어떤 아웃풋을 내는 것들은 정해져있고, 이에 기반하여 세상이 돌아간다는 정말 단순한 물리법칙부터 사회법칙까지를 이끌어내는 것은 당연한 일이다. 그리고, 나는 이런 재미없는 일들 속에 파 묻혀버린 것 같다. 결국 처음부터 똑같은 결과를 낼 것을 알면서도 만들어내는 일들을 한다는 것은 너무나도 지루하고 희망이 없는 일이 아닐까 싶다.

'일상생활 > 하루하루' 카테고리의 다른 글

2020.04.30  (0) 2020.05.01
2019.11.24  (0) 2019.11.24
2019.11.09  (0) 2019.11.09
2019.10.22 인터넷 안에 사람있어요!  (0) 2019.10.22
2019.10.03  (0) 2019.10.03
2019.08.17  (0) 2019.08.17
블록체인 + 스타트업 = ???  (0) 2019.08.11
2019.07.26  (0) 2019.07.26

댓글을 입력하세요

2020. 4. 5. 23:33 - Bengi

2020.04.05

1. 블로그에 쓸 글이 없다는 것은 솔직히 변명에 가까운 무언가일 것이다. 사실 쓸 이야기는 많다고 할 수 있겠고, 꼭지를 다룰 만한 것도 많다고 할 수 있을 것이다. 주변에서 글 첨삭 요청하는 것들을 보면 내가 이야기하고 싶은 이야기들이기도 하고, 뭐 쓸만한 주제의 일들을 많이 겪기는 하지만, 비즈니스적 예의와 NDA 관련해서 글을 적지 못하는 것이 상당히 많다.

2. 에의를 지키라는 것은 분명히 좋은 조언일 것이다. 하지만, 비즈니스적으로 봤을 때 도덕적 선택이 ..........

됐고, 글을 써야겠다. 아주 날카롭고 비판적인, 그리고 모두 까기의 슬픈 이야기를

댓글을 입력하세요

2020. 1. 24. 02:54 - Bengi

블록체인이라는 이름의 지옥 (부제 : ML은 전기양이긴했냐)

「딥러닝 레볼루션이라는 책을 읽다가 빡이 좀 많이 쳐서 글을 쓰게 되었지만 서두부터 쌍욕을 날리기는 좀 뭐해서 다른 주제로 이야기를 시작한다. Bengi (혹은 필자?)의 주력 필드는 무엇이었는가에 대해 궁금한 사람들이 많을 것이다. 한 때는 NLP나 영상처리를 하고 있지를 않나, 한 때는 해킹 중에서 리버싱이랑 IoT 관련한 쪽을 하지 않나, 임베디드를 했었다고 하지 않나... 여튼 다양한 걸 하고 도대체 전공이 무엇인지에 대해서 물어본다면, 사실 나도 잘 모르는 게 사실이다. 200n년부터 블로그를 쭉 구독해왔다면 생각 없는 초중딩(...)이 해킹하겠다고 설쳤고, 게임 리버싱을 했었고, CPU를 만들겠다고 뻘짓을 했었던 흔적들을 볼 수 있을 것이다. 그리고, 으레 AI를 하고 싶어서 그 당시에는 ML인지도 모르고 ML를 하고 있었기도 했고 이런 경험들이 쌓여서, 학부를 괜찮은데를 가서 학부 2학년에 영상처리 배우고, BoB 초창기 기수에 임베디드 해킹을 주로 했었고, 그 이후에 졸업 프로젝트로 NLP 위주로 재현도 높은 논문 분류기를 만들어서 검색 및 클러스터링을 주로 했었다. 거의 검색 엔진 하나 새로 만드는 느낌이었는데, 그 때 배운게 많다.

뭐, 그래서 블록체인이라는 이름의 지옥이라는 제목은 왜 썼냐고? 사실 블록체인이 기존의 인공지능이나 컴퓨터 공학이 받았던 천대를 똑같이 받고 있다는 점과, 그리고 솔직히 블록체인 까는 인간들에 대해서 한 이야기를 하고 싶기 때문이다.

시작으로 돌아가자, 「딥러닝 레볼루션이다. 그렇게 주변 프로그래머들에게 추천을 받고, 사람들도 좋다고 하고, 필독서라고 하는데, 솔직히 읽다가 구역질이 나오는 건 둘째치고, 사실 인공지능을 공부했거나 ML을 공부했다면, 솔직히 이게 얼마나 개소리로 시작해서 개소리로 끝나는가에 대해서 생각을 할 수 있을 것이다. 아니, 사실 좀 더 이야기를 해보자면, 딥러닝과 ML은 분명히 다른 분야이며, 인공지능을 상위로 두고 있는 다른 분야라고 할 정도로 많은 차이점을 갖고 있지 않나 싶다. 실제로 많은 분야에서 딥러닝 연구자들은 기존 인공지능이나 ML 연구자들과는 다른 분야를 사는 듯한 느낌을 많이 받는데, 이 부분은 일반적으로 사용하는 툴과 공부하는 백그라운드에서 차이를 보이기 때문일 것이다.

백그라운드의 차이는 무엇인가? 딥러닝의 근본 없음.... 아니 사실 딥러닝이 갖고 있는 특이적 문제들에 대한 질문으로부터 시작될 것이다. 딥러닝의 근본은 어디서 오는 것인가에 대한 질문이다. 일반적으로 (딥러닝 레볼루션에서 언급한대로) 1957년의 퍼셉트론부터 시작이 될 것이다. 이후 70년대에? 80년대에 무엇이 있는가? 90년대에 무엇이 있는가? 라고 하면 좀 문제인게 일반적으로 이 때는 뉴럴넷 관련 연구가 개차반이었던 시절이기도하고, 선형 분류기를 여러개를 묶어서 돌리는 형태로 돌렸을 떄 은닉층이라고 불리는 중간 계층에 대한 조정 혹은 보정을 하는게 불가능했었던 시절이기 때문이다. (발견은 70년대 후반, 논문은 80년대에 나왔다지만) 다행히도, 백프로파게이션이 90년대부터 널리 쓰이기 시작하면서 CNN이 뜨기 시작했다. 하지만 이 때에도 CNN은 문제가 많았었는데, GPU라는 개념도 희박하던 시절이고, 결국 대량의 CPU나 특수 목적으로 칩셋을 만들어서 썼던 (ASIC이라는 이름이 그 때도 있었는가는 모르겠다. 그 때 태어나서 (...)) 시절이었다. 컴퓨팅 파워가 낮아서 실제로 쓸만한 수준으로 시스템을 운영하지 못한 것이다. 영상처리 가르치던 교수님이 그 때를 회상하면서 8bit로 영상처리하는 건 기적이었다고 말 하면서 요즘 컴퓨터 좋아졌다는 이야기를 할 정도였었고, 386 CPU가 뭐 대단하다고 실시간으로 영상처리를 했곘는가를 생각해보면 쉽다.

여튼, 2000년대로 오면, 코호넨 네트워크 같은 녀석이나 RNN이 본격적으로 등장한다. 그 때까지만 해도, 사실 이 때부터 ML 관련판에서는 이야기가 나오기 시작하였고 2012~2014년도에 엄청 이거 관련된 이야기를 많이 접했던 기억이 있다. LSTM이 나오고, 뭐 그런 부분은 2015년도부터 유명해진 이야기고 (기억에 의존하는 거라 틀렸을 가능성이 크다. 위키에서는 90년대로 돌아가는데... 아마 2016년 이후일 가능성도 크다) 실제로 사실 그 당시에 DNN 관련된 부분만 해도 참 최신 트랜드였다는 것을 기억한다. 인공지능, 현대적 접근」 3판이 한국에 류광체... 아니 류광님의 번역으로 나왔을 때, 인공지능 수업을 학교에서 제대로 배웠었는데, DNN은 진짜 슬라이드 10장으로 약간 공부를 했었고, RNN 백 프로파게이션 증명이 시험 문제로 나왔을 정도로 NN 쪽은 대충 배웠었다. 오히려 디씨전 트리나, SVM, 퍼셉트론 등을 더 자세하게 배웠고, 그것의 도움을 일 할 때 많이 받았었다.

근데, 인공지능 이야기를 왜 주구장창 하느냐고? 사실 딥러닝 옹호론자, 혹은 딥러닝 이전의 세계에 대해서는 뭔 실패한 사람처럼 언급을 한다는 점이 언제나 거슬린다는 거고, 특히 딥러닝 이전에 수 많은 시도들이나 시행착오들에 대해서 그렇게 짧고 간단하게 넘어갈 이야기는 아니라는 점이다. AI가 대세라고, 딥러닝과 뉴럴넷이면 세상을 바꾼다고 하는 나팔수들의 이야기들을 볼 때마다 느끼는 건 도대체 니네는 이 필드에 기여를 한게 뭔데 그렇게 자신감에 차서 나팔수 노릇을 하고 있느냐의 질문일 것이다.

인공지능은 천대받는 학문이었다. 인기도 엄청 없었고, 논문도 잘 안 나왔었고, 사실 하는 사람만 하는 학문이었고 번역서도 그렇게 많지 않았었다. 오히려 영상처리나 NLP 같은 실용적인 부분들에 있어서 많이 쓰이긴 했지만 한계는 분명한 상황이었고, 취미로 하기에는 적당하지만 업으로 삼기에는 너무 힘든 학문이었다. 50년대나 8~90년대에 받던 냉대나, 철학계의 공격이나, 인공지능 무용론에 비할바는 있겠냐만은 2000년대 중후반의 인공지능은 사실 용도 제한적인 특정 분야에서만 쓸 수 있는 기술이었고 이에 따라서 관심 갖을 사람들만 관심을 갖는 학문이었던 것도 사실이다.

결과적으로 천대 받던 시절을 지나 뉴럴넷이 세상을 바꾼다는 이야기가 나올 때부터 인공지능 말고 딴 분야를 하게 되었다. (사실 이 때 되면 노이즈나 바이럴이 더 많아지는 시기이기도 하고, 사실 싹 다 영상처리에 몰려있는 상황에서 NLP 공부하던 학부생이 뭘 더 할 것도 없었다. 그리고 NLP는 취미 생활이지 돈 벌려고 한 것도 아니고) 그리고, 아직도 뉴럴넷, 특히 딥러닝 관련해서는 정말로 싫어하는 편이다. 요즘 논문 트랜드는 다시 통계학이나 수학 베이스로 돌아가니 볼만한 것들은 보고 있지만, 솔직히 지금의 열기는 너무 과열이 되었다고 생각을 하고, 장기적으로 다시 꺼질 버블이라고 생각하고 있다. 결과적으로 다시 주기적 순환 속에서 침체기에 들어갈 것이다.

개발자나 다양한 사람들이 피상적인 형태의 무언가를 보고 호오가 갈리는 걸 정말 많이 봤다. 딥러닝 옹호론자들이 생겨났을 때, 실제로 인공지능이나 관련 학문을 배웠던 사람보다는 일단 TF깔고 뭐 돌리고, SPSS에서 툴 돌리고 뭐 할 줄 안다고 하고, 뭐 일단 잘 되는 예제들 돌리고 나는 인공지능을 잘 해! 라고 하는 사람들이 태반이었다. 그리고 그 중 대부분이 "ML 그거 망한거 아니에요 ㅎㅎ?" 라고 했었던 인간들이었었다. 기존 베이스나 기존 학문에 대해서 한 치의 존경도 없이 하이프나 인기에 따라가는 사람들인데, 솔직히 진짜 힙스터라는 말 밖에 붙여줄 수 밖에 없다. 기술 이해도가 뛰어난 것도 아니고, 뭐 맨날 얕게 배워서 얕게 쓰고 넘어가는게 기본인데, 꼭 그럴 때마다 구 기술이나 이전 세대를 무시하는 행동을 꼭 했었었고, 사실 이런 무례함이야말로 그런 사람들을 멀리하게 하는 계기가 되었다. (그러고보니 펑셔널 랭귀지 했을 때도 비슷한 경험이 있다 ㅠㅠ)

전기차건, 드론이건, 인공지능이건, 4차 산업 혁명이라고 붙은 모든 이름의 것들은 대부분 암흑기나 겨울을 지나서 대세가 되고, 주류 시스템에 편입되는 과정을 거쳤다. 드론은 쿼드롭터 날리면서 놀던 사람들이 선구자가 되었고, 전기차는 초기 개척자인 테슬라, 인공지능은 관련 연구자들이나 취미 생활을 하던 사람들이 주도적으로 업계를 끌어왔었다. 그리고, 일단 업계가 성숙하거나 시장이 커지면, 기술적 부족함이나 부실함에 대해서 기성 업체들의 기술을 접목해서 확장하는 형태로 신기술이 성숙화된다. 자세제어 기술이나 관성 제어 같은 기술들이나 모터 관련된 노하우들은 기존의 항공 관련 기업이나 로보틱스 분야의 도움을 받고, 배터리 효율이나 대량 생산의 경우 라인을 갖고 있는 공장에서 도움을 받으며, 수학과 통계학을 기반으로 모델을 해석하는 등이 그 예일 것이다. 이 때에는 기존 시장에서 낮은 기술 집적도와 넓은 연계 연구들의 도움을 받아 움직이게 된다. 그 후 다시 성숙기로 가면 레드오션이 되고, 기술적 집적, n%p 단위의 공정 개선 경쟁, 전문가들의 등장 등으로 다시 시장 혹은 기술에 대한 고도화가 이루어진다.

이런면에서 블록체인도 비슷한 하이프를 겪고 있는데, 특히 요즘 SSI/DID가 대세가 되면서 아마도 블록체인에 기반한 투명한 데이터 공유나 GPG/PGP의 대안 형태의 메시징이나, ECDSA 관련된 기술적 진보, Shnorr 관련 멀티 시그 기술 등등 여러가지 기술들이 겹치면서 나오는 안정적인 데이터 공유 등이 대세가 되면, 대중화가 될 것이고, 기술 힙스터들이 몰려올 것이다. 뭔 김치국부터 마시는 이야기냐고 할 수는 있겠지만, 지금 이 타이밍에 블록체인 기술은 이미 성숙기로 들어간 상태이고, 기존 기업들은 기술력이 있느냐 없느냐로 이미 시험을 충분히 받은 상태라는 점, 그리고 이더리움 2.0 기준으로 샤딩이나 분산 데이터 저장 등이 대세가 되어 안정기로 넘어갈 타이밍이라는 것이다. 샤딩이 중요한 것인가? 라고 물어본다면, 이게 아마도 블록체인의 PoW가 갖고 있는 문제를 해결하리라 보기 때문이다.

블록체인 기술은 섹시하다. 아니 원자력 발전소 10 기의 발전량을 쳐 먹는 수준의 PoW 시스템이 섹시한가? 라고 물어본다면, 아마도 그것은 대안 기술들 (텐더민트, RAFT, DPoS, Sharding, L2 기술, 오프체인/사이드체인 기술...) 들에 의해서 개선이 될 것이기 때문이다. 그리고, 그 개선 과정에서 많은 사람들의 도움과 기성 시스템(분산처리, 게임이론, 금융공학, 네트워크 스택, 암호학, 라이브러리 등등)에 도움을 받아서 성장을 할 것이기도 하다.

이런면에서, 나는 사실 블록체인에 대한 대중 인식이나 개발자의 인식이 싫은 편이다. 뭔 말만하면 사기 기술이라느니 -이미 기술 기반은 다져져있다- 기술적 특이점이 없다느니 이런 말을 하지만, 실제로 알게 모르게 블록체인에 연계된 기술들의 혜택을 받고 있다는 것이다. 다들 해시 함수와 비대칭키 암호화의 노예이자 토렌트의 숙주들인데, 뭐 그러면서 블록체인 기술을 욕해?!

개발자들 중에서 블록체인 디스하는 사람들의 변절을 제일 경계하게 된다. 딥러닝 때도 그랬고, ML까던 사람이 뭔 신내림을 받은 듯이 딥러닝 찬양을 하고 있지를 않나, 갑자기 전도사가 되어서 너희는 인공지능을 모른다 이런 소리를 하지를 않나, 뭔 ML 기초도 모르면서 커널이 어떻다고 말을 하지를 않나 -.-; 이런 사람들이 양산될 것은 뻔하다. 이미 이 업계는 DeFi, 커스터디, ERC-1155, 탈중앙화, DID 이딴 요상한 말들로 진저리가 날 정도인데, 더 이상한 사람들을 보게 되는 건 정말 사절인데 말이다.

그래서, 그렇다면 신내림을 받은 사람들은 이제 무엇을 이야기할 것이냐? 이것도 제일 재미있는 질문일 것이다. 사실 예상하는 부분은 이더리움의 스마트컨트랙트 개발로 세상이 평등해진다는 평등주의자, keybase.io랑 DID가 다르지 않다는 걸 깨달은 개발자들의 대거 이주(도대체 왜?), UbiKey의 secp256k1 지원으로 암호화폐 거래를 본격적으로 하면서 이게 금융의 대안이라고 주장하는 금융의 ㄱ자도 모르는 사람들, 공인인증서의 대체재가 SSI라고 주장하는 사람들, 분산컴퓨팅의 끝이라고 특정 블록체인을 밀어주는 사람, 타원곡선암호의 매력에 빠져서 curve25519 전파하듯이 secp256k1 전파하는 사람 등등 별의별 인간 군상이 예상된다.

아 나도 개발자들 다 있는 Ubikey있고. Keybase도 초창기부터 가입했고, 뭐 별의별 힙스터 물건들은 다 쓰고 있긴하다. 근데, 까놓고 말하자 keybase로 나는 스텔라루멘 거래는 해봤지만 그걸로 채팅 제대로 해 본적은 없고, Ubikey로 2FA 열심히 한다지만 이걸로 GPG/PGP 서명 제대로 한 적은 손에 꼽는다. 사실 최애 서비스는 Authy와 1Password인데, 이건 너무 레거시해서 다들 싫어하지 않나?

이미 블록체인의 버블은 다시 시작되었다. IITP도 그렇고, KISA도 그렇고, 뭐 다들 DID에 미쳐있다. 그리고 곧 DID로 여권과 주민등록증과 각종 공무원 서류들을 대체할 수 있다는 강한 믿음을 갖고 있는 사람들이 한 무더기가 되었다. 뭐 SSI Meetup 등 제대로 굴러가는데도 많지만, 사실 발로 만든 DID 서비스들이 우후죽순 생겨나고 퍼블릭 네트워크를 쓰지도 않으면서, 탈중앙화 된 신원인증이라고 설치고 있다. DID는 블록체인의 쓸모를 증명하는 서비스이자, 탈중앙화된 탈중앙집권적인 시스템이 될 것이다. 이를 기대하면서 미래의 벽돌을 쌓고는 있지만, 사실 걱정되는 건 매한가지다. 결국 이 업계도 인공지능이 겪었던 것처럼 핫한 시점이 다시 올 것이고, 기존 ML이 겪었던 고충들을 또 다시 겪을 것이다. 그리고, 난 그 때에 또 짐을 싸고 딴 곳으로 가면 갔었지, 계속 남아서 뭘 하진 않을 것 같다. :P

  1. 0xcrypto 2020.05.09 12:32

    우연히 트위터에서 검색하다 어떻게하다보니 여기까지 오게 되었네요. 전문지식이 없는 제가 느끼기에도 추상적이던 블록체인 기술들이 점점 구체화되어서 요즘에는 이더리움 메타마스크 지갑으로 web3.0 홈페이지들 로그인 하는 재미로 돌아다니고 있습니다. 잘 읽었습니다. 감사합니다.

댓글을 입력하세요

2019. 12. 30. 21:14 - Bengi

2019년 회고

회고 할 게 있는가 싶긴한데, 뭐, 글을 열심히 썼고, 회사를 운영했고, 코드를 좀 많이 안 짰다 정도로 정리가 가능하겠다.

1. 몇몇 블로그 글이 대박을 쳤다.

제일 많이 화자되었던, Vim 도대체 왜 쓰는가의 경우에는 3,900회 정도 읽혔고, devnews나 슬랙, 트위터, 페이스북을 통해서 엄청나게 퍼졌었다. 사실 이 글이 왜 그렇게 많이 퍼졌는지는 아직도 미스터리다. 그냥 10년 정도 Vim 쓰면서 빡쳤던 것을 주저리주저리 했을 뿐인데 (...)
그 다음으로 많이 공유되었던 글은 블록체인 거 쓸만하긴 해요? 이다. kemu님이 OKKY에 공유하고 여기저기 퍼진 것으로 추정되는데, 사실 현업에 있는 사람이라면 다들 공감할 글이라고 생각한다. 근데 그게 왜 OKKY에 올라가서 인기를 끌었는지는 잘 모르겠다. 아니 블록체인 까는 글이긴하지만 그래도 희망은 있다는 글인데 왜 자바 커뮤니티에서 인기가 있었는지는 모르겠다. -_-;

2. 회사를 운영했다.

작년이 북핵 롤러코스터였다면, 올해는 냉전의 과학 혹은 마우스 드라이버 크로니클에 가깝지 않나 싶다. 여튼, 회사는 월초에는 개판이었다가 7~8월달부터 안정기로 들어갔다. 좀 복잡한 사연들이 엮여있지만, 지금은 사실 다양한 시도들과 지속적인 확장을 하고 있는 상황이다. 뭐 사실 말 하지 말라 말하지 말라 그러지만, 사실 투자 받은 사실은 누구나 쉽게 알 수 있고, 뭐 기타 여러가지 일들이 다발적으로 일어나고 있는건 내 트위터 상황만 봐도 잘 알지 않을까. 맨날 이것저것 일 하면서 일 벌리는게 기본적인 상황이고, 사실 지금 회사 운영이 잘 된다고 하기는 어렵지만, 그래도 거지꼴이라도 앞으로 나아가고 있는 건 사실인 것 같다. 블록체인 업계에는 겨울이 왔고, 이 겨울을 버티는 자가 승리할 것이다. 기술력이라는 것은 그렇게 쉽게 얻을 수 있는게 아니니 뭐 회사가 팔리거나, 인력 풀이 각자 좋은데로 가거나, 아니면 업계에서 승리자가 되겠지.

3. 코드를 좀 많이 안 (못) 짰다

언제 어떻게 무엇을 했는지 빤히 보이지 않는가?

651커밋, 일당 2커밋 정도 했고, 사실 회사가 자금 사정이 나빠졌을 때에는 코드 짜기보다는 여기저기 싸돌아다니면서 이것저것 집어오고 외주하기 바빴으니 뭐 그렇다고 싶다. 안정기에 들어간 후에나 내가 스스로 코드를 짜고 명령을 내리고, 그리고 일 다운 일을 했던거 같다. 주로 번역과 블록체인 월렛 관련 개발을 하고 있다. 월렛이 일단 비동기 환경이라는 것도 있고 너무 극단적인 시스템을 취하고 있어서 이 부분에 대해서 안정적으로 개선하고 운용될 수 있도록 시스템을 짜는게 주된 일이다. 일반적으로 이더리움과 비트코인을 주로 다루지만, 요즘 다시 EOS가 프라이빗 네트워크 구축하기 쉽고, 이더리움보다 중앙 집권적이라는 이유로 다시 국내 업계에서 뜨는 중이다. 거기다 수수료 문제도 없고, 솔리디티보다는 친숙한 언어를 사용할 수 있는 등의 장점도 있으니 SI에서 환영 안 할 리가 있겠는가.

번역 쪽은 주로 블록체인 번역 관련 작업을 필두로 대부분 기술 문서나 표준화 문서의 번역을 했었다. 현재에도 몇몇 주요 도큐멘트 분석하고 이를 한국어로 옮겨쓰는 일들을 하고 있는데 번역 관련해서는 참 할 말이 많으면서도 뭐 실명까고 하는 거니 실명 블로그에다가 써야하지 않나 싶다. :P

여튼 알차지는 않았지만 (일년의 절반을 삽질에 던졌으니) 그래도 한 건 많은 해 아닌가 싶다.

'일상생활 > 끄적끄적' 카테고리의 다른 글

2019년 회고  (0) 2019.12.30
한계효용과 컴퓨터  (0) 2019.12.14
뻘글이 빵하고 터질 때  (0) 2019.11.04
블록체인 거 쓸만하긴 해요?  (3) 2019.11.04
블로그의 전체적인 기조를 바꿨습니다.  (0) 2019.08.24
경영학 허투로 배운건 아니더라  (0) 2019.06.14
그래서 무엇을 원했니  (0) 2018.09.11
좋은 글이란  (0) 2018.05.18

댓글을 입력하세요

2019. 12. 14. 23:24 - Bengi

박나해님의 글에 대한 비판

사실 박가분 관련된 일이나, 정의당 관련된 글들에 대해서 이야기를 하기는 꺼져지는 일이기도 하고, 그냥 이야기 해봤자 영양가도 없는 일이라서 말을 아낄려고 했는데, 좀 이야기를 해야겠다.

* 하물며 기업에서도 프로젝트할떄 예컨대 kpi같은 핵심성과지표를 도입해 자원 투입에서 결과 도출까지 피드백을 거쳐 프로젝트의 목적이 생산적으로 진행되고있는가 아닌가 체크하고 살아남기 위한 노력을 하는데.. 지난 분기에 실적이 좋지 않았다, 그럼 정상적인 회사는 그 원인을 기업내부에서 찾지 무지한 대중이 미개하여 우리의 우수한 상품을 외면한다고 결론내린 회사는 자연 도태 수순을 밟을것이다.

사실, 이 부분부터 뜨악할 수준의 논의를 시작하는데, 일다 눈에 거슬리는 것부터 이야기를 해보자. KPI는 Key Performang Indicator의 줄임말로 한국어로 번역할 경우 핵심성과지표(...)라고 번역이 된다. 동어반복을 하셨다. 여튼, 그 뒤에 "KPI를 통해서 자원 투입에서 결과 도출까지 피드백을 거쳐 프로젝트 목적이 생상적으로 진행되고 있는가"라는 말을 하셨다. 하지만, KPI는 피드백을 거친다고 보기에는 힘들다. KPI는 이것을 달성하냐 못 하냐에 대한 지표로써, 예를 들어서, 생산률 10% 이상 증가가 KPI라면, 생산률 8% 증가는 KPI 달성을 못 한 것이고, KPI 12% 증가의 경우 달성을 한 것이다. 이러한 KPI의 문제는 잘못된 목표를 세울 경우 주객이 전도되는 경우가 많다는 것이다. 이는 중앙일보의 잘못된 지표는 잘못된 결과를 낳는다와 매일경제의 KPI에 대한 맹신을 버려라를 통해서 쉽게 확인 할 수 있다.

KPI를 기반하여 관리를 할 경우 분기나 월 단위의 보고 기반으로 목표를 잡기에 피드백이 느린 편에 속한다. 두번째로, 잘못된 지표나 정량화되지 않은 지표를 사용할 경우 이를 지키지 못하거나, 오도를 할 수 있다. 그리고 마지막으로, 지표에 의해 생산성이 하락 할 수 있다. 대표적으로, KPI를 도입할 경우 초과 달성에 대한 보상이 없는 경우 KPI에서 할당된 할당량만 채우고 추가적으로 노력을 안하는 경우, KPI에 정의된 외의 생산성을 높이는 일들을 구태여 하지 않는 등의 행동을 하는 것을 볼 수 있다.

KPI를 도입하거나, 피드백을 도입한다고 하더라도, 생산성의 측정이 완벽하게 되지 않을 뿐더러 잘못된 KPI 측정에 기반하여 실제로 실적이 잘 나오지 않았을 가능성이 크다. 뭐, 사실 이런 부분들을 선해를 하여, 생산성을 체크하기 위한 절대적 수단이 있고, 이를 이용하여 열심히 노력하여야하는데, 내부적 요인이 아닌 외부적 요인(소비자)를 탓하는 것은 말이 안 된다는 이야기를 할 수는 있을 것이다.

* 어디 신성한 사회적 정의구현을 가-암히 장사치의 활동에 빗대느냐 불편하실 분들이 있을지 모르겠으나 솔직히 보통사람들이 매일 일상에서 분투하고있는 최소한의 자본주의적 단계의 합리성도 갖추지 못한 집단이 더 나은 비전을 대중에게 제시할 설득력을 갖추고 세상을 바꿀 경쟁력을 갖출수있는지 의문이다.

사실 이런 면에서 글쓴이가 주장하는 자본주의적 단계의 합리성이라고 하는 것이 실존적인지에 대해서 큰 질문이 생기지만, (설령 존재한다고 하더라도 글쓴이이가 생각하는 자본주의적 단계의 합리성이 실제 필드의 합리성과 괴리감이 클 것이라는 건 쉽게 유추할 수 있다) 더 나은 비전이 설득력을 지니느냐 못 지니느냐는 생존주의적 관점으로 보기는 어렵다. 실제로, 자본주의적 사회에서 모두가 합리적인 판단을 한다고 쳐도 도태는 발생하기 때문일 것이며 (노파심에서 다시 설명하지만, 당연하게도 모두가 자기가 낼 수 있는 속도로 달린다고 하더라도 1등과 꼴지는 정해져있고, 꼴지는 결국 도태 되기 떄문이다) 이는 자연적인 현상이다.

여기서 질문이 생기게 되는데, 자본주의적 단계의 합리성이 합리성 자체로 확장이 될 수 있는가와 자본주의적 합리성이 옳은 결과를 내놓는가에 대한 질문일 것이다. 사실 이런 질문은 맑스주의적으로 대답을 할 수는 있겠지만, 그런 증명은 진부하고 재미가 없으므로 다른 방식으로 이야기를 해보자. 합리성이란 무엇인가? 그 전에 모두가 합리적인 판단을 하더라도 꼴찌는 도태되어야한다는 것이 자본주의적 관점이라면 그것은 옳지 못하다.

+신자유주의 독점 자본주의와 진보의 독점 도덕주의의 유사성

 

신자유주의에 어떻게 독점이 존재하는가에 대한 질문을 뒤로 하자. 독점적 시장이 구축되는 것은 경쟁이 없다는 것인데, 경쟁이 없는 신자유주의가 존재할 수 있는가에 대한 질문은 고이 접어둬야할 것이다. 뭐 변증법적 방식일 수도 있으니 말이다.

* 세상을 바꾸는 인내심을 대중을 바꾸는 조급함으로 대체하는 현재 진보의 방식은 사실 신자유주의적 자본가들이 노동자들을 다루는 방식과 외견상 더 유사해보인다. 그들은 기업성장을 위해 기술혁신을 위한 장기적 투자 대신 단기적 이윤 극대화를 위해 노동자들을 해고와 고용불안으로 위협함으로써 과정상의 비용을 절감하는 저진로 low road 전략을 채택한다. 당장에 주가상승을 통해 기업내부의 주주들에게 이익을 가져오나 장기적으로는 기업 자체의 경쟁력을 갉아먹듯이, 대중을 윽박지르고 강요, 검열하는 pc주의는 문화적 극약처방을 통해 당장의 목표달성을 위해 효과적으로 보이나 장기적으로는 진보 자체의 경쟁력을 침식할것이다.

 

신자유주의는 자본주의적 성과측정지표 중 하나가 아니였는가? 단기간의 목표 달성들이 성공한다면, 그 목표들의 달성들의 합은 합리적으로 최선의 결과를 내야한다. 단기적 이윤이 극대화 된다면, 장기적 이윤들은 극대화된 단기적 이윤들의 합으로 인해 극대화 될 것이다. 사실 여기서 알 수 있는 단 한가지 점은 진짜 아무것도 하나도 답을 이끌어낼 수 없다는 것이다. 단기적 이익을 쫒는 것이 장기적 이익을 쫒는 것과 어떻게 배치 될 수 있는가에 대한 설명은 존재하지 않는다. 사실 이러한 단기 이익에 의해 장기 이익을 포기하면, 장기적으로 도태가 되는 것은 자본주의적인 형태를 띄는 것이 아닌가? 언젠간 그렇기에 신자유주의가 망하는 것이 그 이유 때문이 아닌가? 이런 질문들이 남게 된다.

* 노동시장이 일방적인 시장원리에 따라 굴러가고 해고가 쉽게 이루어지듯이, 진보시장이 일방적인 도덕원리에 따라 굴러가고, 시민 개인을 자의적으로 해고(=제명, 낙인, 조리돌림 등) 할 수 있다.

여기서부터 머리가 띵해지는데, 도덕원리란 무엇인가. 자본주의적 관점에서 해석을 해보자. 해고를 하면 무엇이 일어나는가. 다시 고용이 일어날 것이다. 해고가 되면, 다른 단체에 고용(창설)이 될 것이라는 말이다. 

* 마치 경제적 자원을 독점하는 자본가처럼, 공론장의 도덕적 자원을 독점하여 대중을 생물학적 정체성에 따라 도덕적 정규직과 비정규직으로 나눈다. 어떤 정체성은 절대적 약자로 소명되어 도덕적 권리가 안정적으로 보호되지만 다른 정체성은 사소하거나 잘못 아닌 일에도 공론장의 권리를 박탈당하도록 종용한다. 신자유주의적 노동유연화를 통한 분리조치가 정규직과 비정규직의 대립을 확대시켜 노동자들의 정체성을 분열시키듯, 진보적 도덕유연화를 통해 생물학적 정체성들간의 대립을 부추기고 시민들의 공동의 정체성을 분열시키고있다.

도덕적 비정규직이 생물학적 정체성에 의해서 결정된다는 놀라운 주장을 뒤로하고, 생물학적 정체성은 오랑우탄과 침팬치의 차이인지 성 염색체의 차이인지에 대해서부터 꼼꼼히 논의되야하지 않나 싶다. 사실 이러한 주장의 취약점이 갖고 있는 문제는 잘못된 비유는 잘못된 결과를 내 놓는다는 것인데, 생물학적 정체성은 어디서 오는 것인가? 합리적인 자본주의 사회(웃음)에서는 생물학적 정체성으로 비정규직과 정규직을 가르지 않는다. 비정규직과 정규직은 노동 생산성(웃음)에 의해서 생산성이 낮은 쪽에는 비정규직이라는, 높은 쪽에는 정규직이라는 형태로 보상을 하는 것 뿐이다. 그리고 이러한 상황에서 생물학적 정체성이 (노동경제학만 봐도) 자본주의적 고용에 영향을 미치는 일은 없어야한다. 생물학적 정체성이라는 생산성과 관련 없는 지표를 통해서 구별을 하면, 합리적이지 않은 결과를 내 놓고 그 기업은 도태되기 때문이다. 그 누가 백인 남성만 뽑으려고 하고 그 외 인종이나 성별을 뽑지 않으려고 노력을 하는가! (웃음)

개소리는 그만하고, 솔직히 경제적 자원을 독점하는 자본가에 대항을 하려면 우리 모두가 규합되어야한다는 주장과 공론장의 도덕적 자원 분배가 어떻게 되는지에 대해서하고, 그리고 노동자끼리 분열을 하는 것하고 셋 다 각각의 이야기이며, 서로를 엮여있는 거대한 그림의 일부일 뿐이다. 모두가 같은 것을 바라본다고 생각한다면, 아쉽게도 정말로 아쉽게도 생물학적 정체성을 실존하고 있고, 이에 대한 차별이 존재하며, 이를 기반하여 자본가가 아닌 민족, 인종, 성별간의 대립이 선행하여 존재하는 것이다. 이는 자본주의 이전의 세계에서 조차도 존재를 해왔던 것인데, 이를 자본주의적 속성으로 환원시킬 수 있는가라고 할 수 있는가라는 또 다른 꼭지를 만들게 된다. 또한, 비정규직과 정규직이라는 단어를 썼지만, 인종과 성별, 그리고 정체성은 단순하게 고용의 형태로 빗댈 수 있는 스펙트럼이 아니다. 이를 잊고 PC주의나 사람을 판단한다는 것은 자신의 인식의 나이브함을 증명할 뿐이다.

* 진보경제학자들은 좋은 자본주의를 만들기 위해선 노동자의 참여를 확대하고 사회전체의 다양한 이해관계자들과 협력적 관계를 추구하는 고진로high road 전략을 추구해야된다고 말한다. 이는 정체성 정치에 대해 원글쓴이와 본인 포함 진보너머에서 꾸준히 주장해온 방향과 일치한다. 모 댓글처럼 정체성정치를 반대하는 정체성 정치라는 비판은 층위의 오류이다. 바꿔쓰면 도덕검열주의를 반대하는 도덕 검열주의라는 명제가 되는데, 말장난에 기초한 논리적 모순이다. 차라리 도덕검열주의를 반대하는 포퓰리즘으로 다시 비판하는게 올바른 비판이다

 

사실 이 부분에서 제일 궁금한 것은 민주주의를 반대하는 것을 민주주의적으로 포옹해야하는가에 대한 대표적인 딜레마가 실존하는데, 이에 대한 해답을 이미 다 알고 있는 듯한 식으로 말했다는 점이다. 이미 잘 알려진 사실이기도 하지만, 많은 독재와 권력은 민주주의적으로 뽑히고 만들어졌다. (히틀러라던지, 히틀러라던지, 히틀러라던지) 이를 포퓰리즘이라고 할 수 있겠으나, 그렇다면 도덕 검열주의를 반대하는 자는 민주주의를 민주주의적으로 파괴하자는 사람들과 동치라는 말이라고 봐야하나 싶은 것이다.

* 진보는 “소수 부자층, 대기업들의 발전은 곧 나라 전체의 경제 활성화로 이어진다”는 자유시장주의자들의 경제적 낙수효과는 비판해왔으면서 “소수 진보 활동가들의 pc주의 확대는 곧 사회 전체의 진보 활성화로 이어진다”는 검증안된 문화적 낙수효과는 무비판적으로 수용하고있다.

 

 PC주의에 물들었다고 말하는 게임과 상업영화들은 자본가들의 것이 아니었는가? 진보의 활성화보다는 자본주의적 침략에 가까운 무엇이 아닌가? 소수 진보 활동가가 아니라 거대 자본인 헐리우드와 미디어의 자본주의적 행태와 침략주의적 행태로 봐야하는 것이 아닌가? 검증 안 된 문화적 낙수 효과가 아닌 흥행과 자본 획책을 위한 PC주의의 강요가 아니였던 것인가? 이를 통하여 자본을 벌고 새로운 착취를 꿈꾸는 것이 아니였던가? 그것이 효과적으로 돈을 벌기에 다들 PC주의에 빠져있는 것이 아닌가? 그것은 테크 기업이라는 거대 악들이 모두 후원하는 CoC 같은 것들이 아닌가? 라는 생각을 잠시 접고, 낙수 효과에 대한 정의부터 다시 해야할 것 같으며, 실제로 낙수효과는 소수가 부를 거머 쥐더라도 다수에게 빵부스러기는 흘러간다는 주장으로 알고 있는데, PC주의가 소수에게 권력을 줌으로써 어떤 빵부스러기가 다수에게 흘러가는지에 대해서 자본주의적 고찰이 좀 더 필요할 것 같다.

* 관행적 낙수효과 전략를 폐기하고 최대 다수의 이해관계에서 출발하는 상향식 전략을 시도하자는 제안의 시도로서 원글도 쓰여진것이다. 기존의 하향식 문법을 어떻게 상향식 대안으로 바꿀것인가에 대해 같이 고민하기 위해 상상의 형식을 빌려 출발한 문학적 글이었으나 너무 열화와 같은 성원으로 진짜 현실적 계획으로 발전해갈수도있는 모냥이다-.-;

앞서 말한 모든 것들이 가상의 가정이었고, 가상의 이야기였으니 문학적으로 받아들이고 그 글 속의 뜻 깊음을 받아들이라는 소리인 거 같은데, 독어독문학과를 나왔다면 아시겠지만 작가가 소설을 발로 쓰고 개연성이 없으면 비평과 비난에 시달리며, 자본주의적으로 도태(책 절판) 된다는 것을 기억해야만 할 것이다.

추가적으로 덧붙이자면 하향식 문법과 상향식 문법이라는 단어 선택도 문제인데, 사실 이 글과 트위터의 글에서는 상향식 전략(및 문법)은 그 누구도 제시하지 않았다는 점이 이 글의 핵심일 것이다. 앞서 증명하였듯이 하향식 문법의 변주일 뿐이며, 자신이 상향식이라고 주장하는 하향식 신자유주의의 변주에 불과한 방법론들의 도입을 재차 멋있게 주장하면 뭐 어쩌라는 것인가.

그리고 글 개판으로 쓰지 말자.

솔직히 이 글을 읽으면서 세 번을 생각한 것은 자본주의와 신자유주의가 어떤 차이를 갖고 있는가인가. 자본주의에 대한 긍정은 할 수 있다. 하지만, 자본주의적으로 옳으면서, 신자유주의적으로 그른 무언가가, 자본주의적으로 틀리면서, 신자유주의적으로 옳은 무언가가 존재한다는 것을 당당히 밝히는 것은 상당히 웃긴 글을 쓰려는 노력으로 이해를 해야만하는 것인가?

단어들을 기워 맞추고, 나쁜 거 옳은 거 이런식으로 구분을 하여 뭔가를 찍어낸다면 그것은 아무것도 나타내지 못한다. 결국 이 글에서 쭈욱 질문을 했던 내용들은 실제로 글이 뒤죽박죽이고, 단어의 선택이 엉망이었기 때문이다. 신자유주의적이지 않으면서 자본주의적인 무언가를 찾을 수는 있을 것이다. 하지만 신자유주의적이면서 자본주의적이지 않은 것을 찾는다는 것은 상당히 흥미로운 견해로 받아들어야할 것 같다.

댓글을 입력하세요

2019. 12. 14. 00:13 - Bengi

한계효용과 컴퓨터

이런 저런 이야기를 하려다가, 사실 컴퓨터가 무엇을 하느냐에 대한 질문들에 대한 이야기가 나와서 잠시 글을 쓰게 되었다. 한계 효용이라는 단어를 썼지만, 실제로 한계 효용이라는 것보다는 한계 효용으로인한 효용 감소에 대한 이야기겠지만 말이다. 여튼, 이야기를 시작해보자.

경제학에서는 한계 효용이라는 용어가 있다. 한계 효용은 재화의 가치에 대한 부분이다. 뭐 편하게 생각한다면 위키피디아에 언급된 것처럼, 갈증을 느낄 때의 물 한 모금과 그 다음의 한 모금과, 그 다음의.... 최종적으로 갈증을 해결했을 때의 물 한 모금의 가치는 분명히 다르다는 것이다. 즉, 재화가 어느정도 쌓이게 된다면, 재화의 가치는 선형적으로 증가하는 것이 아니라 점점 가치가 증가하는 속도가 떨어진다는 것이라고 하면 되겠다.

"한계 효용을 왜 컴퓨터 공학에 대해서 이야기를 하느냐"라고 묻는다면, 실제로 많은 컴퓨터 공학에 대한 담론들은 7~80년 대에 형성이 되었고, 이 이후에 담론의 진보나 변화가 있는 것처럼 보이지는 않는다 혹은 왜 구시대적 담론이 컴퓨터 공학에 대한 평가 잣대로 쓰이는가에 대한 질문으로부터 시작된다. 일반적으로 7~80년대라고 칠 경우, 제일 먼저 떠오르는 것은 애플][ 컴퓨터나, 그에 준하는 PC들일 것이다. 매킨토시를 필두로 하여, IBM이나 GE 등의 거대 기업의 컴퓨터 사업 자체를 박살내 버린 정보화 혁명은 충분히 세상을 바꾸었다고 할 수 있을 것이다. 그리고, 그에 따라서 컴퓨터 공학에 대한 철학계나 사회과학계의 비판과 경영학적 접근 혹은 방법론들이 생기기 시작하였고, 아직도 그 의견들이 주류적인 모양새를 지니고 있는 것처럼 보인다. 이는 아마도, 한계 효용이라는 개념을 적확하게 설명하는 무언가라고 생각하고 있다.

사실 이 글은 컴퓨터의 한계를 인용한 트친의 트윗으로부터 시작이 되었는데, 실제로 이러한 시각이나 이러한 방법론을 탈피해야한다는 주장에 대해서는 충분히 이해가 간다. 일반적으로, 기술 고도화가 되거나 집약화가 된 경우 그 기술이 세상을 바꾸는 모습은 잘 보이지 않지만, 실제로는 세상을 엄청나게 바꾸고 있는 경우가 허다하기 때문이다. 그렇기에 두 가지 접근법을 사용하여 분석을 시도를 하려고 한다. 첫째, 기존 주장과 같은 형태로 21세기의 컴퓨터 기술의 발전은 20세기 컴퓨터 기술의 발전과 동일하며, 실질적으로 20세기 발전의 연장선상이므로 기존 담론과 방법론의 재적용에 무리가 없어야한다. 둘째, 21세기의 컴퓨터 기술은 20세기와 분명히 다르며, 이에 따른 변화는 4차 산업...아니아니... 그거 말고 새로운 기술 혁명 혹은 기술의 발전으로 꼽을 수 있다. 로 글을 전개해 보는 것이다.

일단 첫 의견을 시작을 하자면, 실제로 정보 혁명이라고 부르는 7~80년대의 혁명은 실제로 21세기의 컴퓨터 기술 발전을 실질적으로 예상을 하였으며, 실제로 20세기의 기술 발전이 가져온 것들의 알레고리에 불과하다는 시각만을 갖는 것은 아니다. 분명히, 기술적 변화는 생활의 변화를 야기하고, 이 생활의 변화는 시간이 지날수록 계속된다는 것을 모두가 알고 있다. 다만, 이러한 변화의 폭이 크지 않거나, 기술의 영향력이 Leap 혹은 변혁이라고 할 수 있는 수준에 다다르지 못할 때가 많다는 것을 상기 하고, 실제로 이런 극단적 변화에 대해서 집중을 하는 경향성이 크다는 것이다.

7~80년대의 정보 혁명과 실제로 2010년도의 디바이스, ML 혁명 (일단 이렇게 명명했다)이 있다고 가정한다면, 실제로 7~80년대와 2010년도의 발전량을 직접적으로 비교를 하는 것 뿐만 아니라, 이것이 어떻게 세상을 변화시켰는가, 혹은 이것이 얼마나 문화나 사회에 충격을 주었는가를 평가해야한다고 보는 입장인 것이고, 이 때문에 한계 효용이라는 이야기가 나오는 것이다. 7~80년대의 경우 인공위성을 통한 실시간 TV 중계가 성공적으로 시행이 되었고, 미국인들은 신문이나 녹화된 테이프를 통해서 방송하는 TV 속보를 보는 것이 아닌 실시간으로 안방에서 전쟁을 보게 되었다. 걸프전이 그 대표적인 예인데, 미국인들은 지구 반대편에 있는 중동의 전쟁 상황을 실시간으로 볼 수 있었다. 이러한 변화는 지구촌이라는 단어나, 세계가 하나로 엮일 수 있다는 희망을 던져주었다. 컴퓨터 기술의 발전은 단순히 계산 기계의 발전이 아닌, 서로간을 연결할 수 있는 통신망의 구축이나, 이런 시스템에 기반한 공론장을 만든다는 것에 기반한다. 이러한 형태는 뉴스그룹이나 인트라넷 (이후에는 인터넷)의 형태로 발전하게 되었으며, 세계화를 가속했다는 점이다. 이제 사람들은 56Kbpps 모뎀을 이용한다면, 지구 반대편에서 친구를 만들고, 의견을 교환할 수도 있고, 체스를 둘 수도 있다. 이러한 변화는 이웃이나 남이라는 장벽을 부순 진전이라고 할 수 있다. 또한, 컴퓨터는 회계에서만 쓰인 것이 아닌, 공정관리나 시스템 관리에도 쓰이기 시작하였다. 공정의 최적 효율을 찾는 방법이나, 컴퓨터를 이용한 계산은 생산이라는 분야에 대해서 새로운 혁명을 일으켰다. 전사적 데이터 통합과 이를 통한 데이터 웨어하우스 구축은 경영에 있어서 일종의 혁신과 같았다. 전사적 데이터 통합과 이를 기반한 의사 결정 체계는 기존의 회사 시스템을 효율화 시켰으며, 의사 소통이나 데이터 취합의 문제를 대부분 해결해 주었다. 인트라넷의 도입은 사내 의사 소통 및 데이터 관리의 개선을 가져왔으며, 이메일은 협업을 개선하는 도구로써 사용이 되었다.

그러나, 2000년대를 보라. 광통신 케이블들이 해저를 지나가면서, 세계가 더 촘촘히 엮인다고는 하지만, 기존의 생산 방법론의 변화나, 더 나은 공론장은 존재하지 않는다. 뉴스그룹이나 메일그룹이 WWW 형태의 게시판으로 옮겨갔을 뿐이며, 개인의 저널리즘이라고 주장하는 블로그가 등장했지만, 기성 매체의 위력은 아직도 강력하다. 데이터의 수집 및 가공에 대한 방법론은 발전된 컴퓨터 성능에 힘입어 개선이 되었지만, 이는 1~2%p 정도의 개선만을 약속할 뿐이다. 전사적 정보시스템은 7~80년대처럼 도입하기 비싼 시스템은 아니고, 누구나 노트북을 한 대씩 들고 다니면서 작업을 하지만, 사람들의 대부분은 리모트나 원격 근무가 아닌 출근을 한다. 아직도 사람들은 토크빌이나 하버마스의 주박을 벗어나지 못하고 있으며, 공론장은 카페에서 인터넷으로 옮겨간 것 뿐이다.

한계 효용적으로 봤을 때, ML이나 최신 컴퓨터 기술들이 사람들에게 주는 효용이 무엇인가에 대해서 궁금한 것들이 많은 것이다. 다품종 소량 생산이나, JIT 같은 헛소리들은 이미 다 작살이 난지 오래고, 사람들은 아직도 7~80년대의 질서 혹은 방향성에 의존해서 산다. 뉴스를 종이로 보는게 아니라 아이패드나 스마트폰으로 볼 수는 있어도, 그것이 저널리즘을 바꾸지는 않았다. 광통신이 세상을 엮었다고 하지만, 그 엮인 세상이 없었던 것은 아니다. 전신이나 팩스로도 시스템은 굴러갔으며, 그것이 좀 더 빠르게 굴러가고 변화한다는 것을 의미한다. 인터넷은 세상을 평등하게 연결한 것처럼 보이지만, 법적, 제도적, 문화적 차이는 개선이 되지 않는다. 기술은 모두에게 영화를 볼 수 있도록 스트리밍 사이트들을 공급하지만, 그것이 할리우드의 파괴를 의미하지 않는다. 많은 사람들은 미국산 할리우드 영화를 보며, 독립 영화들은 아직도 힘들어하고, 상업성에 쫒기고 있다. 그렇다면 세상이 변화한 것은 무엇인가? 대량의 중앙 집중식 웨어하우스를 통해서 2일 배송을 하는 아마존? MBA에서 C를 받은 아이디어로 창업한 DHL은 웨어하우스 개념을 처음으로 만들고, 이를 통해서 비행기를 통한 특급 배송을 성공적으로 만들어냈다. 아마존은 개선인가? 아니면 재적용인가?

이에 대한 반박은 존재하는가?

2010년도를 기점으로 여러 키워드들이 떠오르고 있긴하다. 한국에서는 4차 산업혁명이라는 얼척없는 이야기를 하지만, 정보화 혁명의 연장 선상으로 봐야하지 않을까싶다. 어쨌든, ML은 효율적으로 발전하였고, 이제 7~80년대에서는 생각도 하지 못한 형태의 영상처리들을 하기 시작하였다. 실시간으로 사람들을 구분해내고, 물건들을 분류하고, 그리고 자율 주행을 시도할만한 수준까지 갔다. 광통신망과 무선통신망의 확장은 제한된 계층들만 사용하던 시스템을 대중에게 개방을 하였고, 누구나 스마트폰 한 대로 게임뿐만 아니라 이를 이용한 서비들을 쓰기 시작했다. 거의 모든 일들은 전자화 되어가고 있다. 항공권 예약부터, 건물 임대까지 많은 것들은 스마트폰과 컴퓨터를 통해서 이용된다. 컴퓨터가 없는 삶으로 돌아가기는 힘들며, 대부분 이런 시스템 뒤에는 ML과 거대한 데이터 웨어하우스들이 놓여있다. 사용자들의 데이터는 분석되고 분류되어, 타겟 광고에 사용되고, 추천에 사용된다. 사람들은 단위 시간당 더 많은 일들을 할 수 있게 되었다. 더 이상 영화 잡지를 뒤적이지 않아도, 스트리밍 사이트에서 추천 받은 영화들을 골라서 보면 되고, 신문을 사들 필요가 없이 인터넷 커뮤니티들을 돌아다니고, 네이버 뉴스란을 뒤지면 된다. 기업적인 측면에서는 다양한 물류나 공정 개선들을 겪고 있다. 스마트 팩토리를 통해서 실시간으로 재고 확인이나 물류 관리는 기본적으로 하고, 로봇이나 기계의 수명 또한 예측해서 공장 가동률을 최대한 끌어 올릴 수 있을 것이다. 모든 물건들은 트랙킹 번호로 추적이 되며, 생산부터 통관, 국내 배송까지 모든 것들은 전자동화 되었다.

사실 이런 주장을 별로 좋아하지 않는 쪽이라서 글을 더 쓰지를 못 하겠는데, 실제로 여기서 얻는 질문들은 대부분 비슷할 것이다. 그렇다면, 세상이 변한다는 것을 어떤 것을 의미하며, 일주일 배송이 걸리던 것이 하루 걸린다는 것이 무엇인가라는 것이다. 그리고 그것이, 나의 삶을 행복하게 해주는가에 대한 질문을 할 수 밖에 없다. 사실, 나는 국내외 기업에서 혁신 사례로 들고 나왔던 것 중에서 중개업이나 공정 개선을 제외한 형태의 비즈니스로 IT 관련 산업을 하는 걸 본 적이 없다. 심지어 저널리즘까지도 중개업을 하려는 미친X들의 온상인데, 사실 IT라는 게 뭘 의미하는지 잘 모르겠다.

마켓컬리와 쿠팡이 당일 배송으로 세상을 바꾸었는가? 사실 옆에 편의점이나 마트 가면 살 수 있는 물건들이 대부분인데? 이 기술 뒤에는 사용자 추천 시스템과 물류 관리 시스템, 배송 추적 시스템, 수요 예측, 제품 QC, 대체재 찾기 등등이 있을 것이다. 이게 다 전산화 되었고, 누군가가 대규모 데이터 웨어하우스에 접근해서 ML 모델 수정하면서 계속 돌아가고 있는 것이다. 이런 시스템의 도입으로 사람들은 에어비앤비나, 우버나, 타다나, 넷플릭스나 뭐 사실 대부분 비슷한 형태를 지니는 중개 서비스를 이용하게 된다. IT 기술로 데이터 처리와 추천, 최적화에 비교 우위를 두고, 이를 이용하여 독점적 위치를 차지한다. 일종의 플랫폼을 구축하고, 규모의 경제를 달성한다. 아마존의 1%p 공정 개선은 수 억 달러를 절약한다. 이 앞에서 5~6%p의 공정 개선 이런건 타 기업이나 경쟁사나 하는 것이고 실질적으로 변하는 건 없다고 볼 정도로 미미한 개선이 될 뿐이다. 이 때문에 한계 효용에 대해서 이야기를 하는 것이다. 실제로 IT가 개선 해주었던 것들은 정보 혁명이라고 불리우던 70년대, 80년대, 90년대가 지니고 있는 특색의 연장선상에 불과하다. 더 나은 방식으로 데이터를 처리하거나 제공하여 이를 이용하여 사용성을 개선하고, 공정을 개선하는 것. 그것이 디지털화가 갖는 장점이나 최종 목표이다.

이런 면에서 IT가 세상을 바꾼다는 소리를 하는걸 별로 안 좋아한다. 도대체 무엇을 바꾸는가? 무엇을 바꿔주는가? 배달의 민족이 바꾼 것은 무엇인가. 전단지에서 모바일 전단지로 바뀐 것일 뿐 실제로 바뀐 것은 존재하지 않는다. 거기다가 모바일 전단지는 전단지 갯수가 아니라 매출의 n%를 요구한다. 그것이 상생인것인가? 효율화인가? 아님 무엇인가?

이는 새로운 비즈니스가 아니다. 대부분 경영을 배우다보면 알게되는 플랫폼이나 중개자 비즈니스의 역할이고, 데이터를 통한 장사일 뿐이다. 뭐 거기서 뭐가 변하겠는가. 개선은 되겠지. 근데 그게 인류 처음으로 인공위성을 발사하거나, 인류 처음으로 화상통화를 하거나 그런 것에 비견할 만한 무언가는 되지 않는다는 것이다.

'일상생활 > 끄적끄적' 카테고리의 다른 글

2019년 회고  (0) 2019.12.30
한계효용과 컴퓨터  (0) 2019.12.14
뻘글이 빵하고 터질 때  (0) 2019.11.04
블록체인 거 쓸만하긴 해요?  (3) 2019.11.04
블로그의 전체적인 기조를 바꿨습니다.  (0) 2019.08.24
경영학 허투로 배운건 아니더라  (0) 2019.06.14
그래서 무엇을 원했니  (0) 2018.09.11
좋은 글이란  (0) 2018.05.18

댓글을 입력하세요

2019. 12. 7. 21:57 - Bengi

2019.12.7

1. 광기야말로 나라는 존재를 제대로 잘 정의하는 단어라는 생각이 종종든다. 미쳐있지 않고서야 이런 일을 왜 하고, 이런 일을 하지 않을 수만 있는가라는 걸 잘 표현하는데, 사실 이런 것 덕분에 캐미라고 하는 게 잘 맞는 사람과 안 맞는 사람들이 극단적으로 갈리는 경향이 크다. 뭐 여튼, 이런 성격 덕분에 좋은 사람들을 만날 수 있었고, 좋은 일들이 많이 있었으니 그렇지, 상당히 극단적인 모양새로 삶을 살았던건 사실이다.

2. 뭐, 그래도 운이라는게 많이 있어서, 대부분 밤새서 노력을 하거나 타이밍 잘 맞춰서 들어가면 대부분 일은 잘 풀리는 것도 지금까지의 삶에 큰 영향을 미친거 같다. 뭐, 99번 실패를 해도 1번 정도는 성공을 했고, 이게 대부분 한 건 한 건이 큰 건수라서 대부분 실패를 만회했던 것도 있고, 역시 성격이 공격적이긴 해도 보수적으로 판을 짜고 테스트를 여러번 하는 식으로 리스크 헷징을 해서 그런 것도 있다. 뭐, 그렇다고 하더라도, 거의 마지막에는 일단 될 때까지 막 던지다가 우연치 않게 맞거나, 한 방에 우연치 않게 성공하는 경우로 대부분 뭔가를 만회했던 기억이 많다. 뭐 이런 느낌을 설명하면 모든 감각이 "그래야만 할 것 같다"을 가리키고 있을 때가 종종 있다. 안개 속을 정처없이 떠돌다가 등대 불빛을 봤다는게 정확할 것이다.

3. 요번 건도 그렇다. 2017년도의 선택이, 2015년도의 선택이, 2011년도의 선택이... 그 외에도 무수히 많은 선택들이 우연치 않게 엮이면서 여기까지 왔다. 삶이라는게 참 오래 살아봐야할 일이라는 건 알지만, 에전의 나에게 종종 감사할 때가 많다. 생각지도 못한 부분에서 도움을 받고, 우연치 않게 그 자리에 그 사람이 있는 일들을 보면서, 참 나도 인복과 운이 많은 사람이라고 느낀다.

4. 다음 운은 어디서 올지 궁금하다. :)

댓글을 입력하세요

2019. 11. 24. 18:18 - Bengi

2019.11.24

1. 번역을 할 일이 생겼다. 하나는 자의 반 타의 반으로 들어가게 된 번역이고, 하나는 솔직히 뚜껑이 열려서 번역을 시작을 하게 된 케이스이다. 뭐, 그러나 저러나 번역을 원해서 해 본 적은 그렇게 많이 없는 것 같다. 정확히 말하자면, 번역은 대부분 읽기가 너무 불편하거나, 너무 거지 같이 했거나, 아니면 너무 오래전에 했기에 다시 할 필요가 있는 것들을 찾게 되고, 필요에 따라서 기계적으로 한 경우가 많은 것이다.

2. 번역 관련 문제를 생각하다가, 수능 국어 문제 25번에 대한 해석으로 뉴스 기사가 나온 것이 퍼뜩 생각이 났다. 1타 강사가 잘못된 해석으로 풀이를 가르쳤고, 이에 따라 많은 (?) 학생들이 그대로 문제를 풀어서 틀렸다는 이야기인데, 사실 이 기사를 보면서 수능 국어가 변별력을 갖고 있는지, 그 전에 글에 대한 해석이라는 게 명료하게 하나로 정의 될 수 있는지에 대한 고민이 먼저 들었었다. 실제로, 문학 지문들을 다 드러내고, 비문학만 남겨놓고 시험을 보는 것이 낫겠다는 주장을 하는 모교 교수(님)도 있었고, (무려 수능검토위원장이다 -_-, PSAT도 그 분의 손을 거쳤으니 뭐 이해를 충분히 한다.) 사실 많은 부분에서 문학에서 해석이라는 부분에 대해서 만큼은, 특히 고전 시가에 대해서 만큼은 해석이 옳고 그름에 대해서 의문을 품지 않을 수 없는 것이다.

일반적으로, 수능 문제가 갖고 있는 문제는 출제자의 의도와 글쓴이의 의도가 상이하다는 것이고, 이에 따라서 수험생(혹은 풀이자)는 이 두 가지 간극을 메꿔가면서 논리적인 추론을 해야한다는 부분이다. 일반적으로, EBS 연계 이전의 수능들에서 자주 나타나는 현상이기도 하였는데, 문제들 하나하나가 대부분 논리적 정합성을 묻는 형태의 문제였던 걸로 기억을 한다. 하지만, EBS 연계 이후에는 지문을 이미 외우고 있거나, 이미 알고 있는 상태에서 이러한 (처음 보는 글에 대한) 논리적 추론 능력에 대한 검증은 무력화 된다. 그렇기에, 대부분 트리비얼하거나, 다른 지문과의 병행을 통해서 새로운 정보들에 대한 비교를 해야하는데, 이런 부분에 있어서 같은 계를 공유하지 않는 두 지문을 어거지로 끼워 맞추는 과정이 수반되게 된다. 

아마도 25번 문제의 경우 그 지문만을 놓고 봤을 때에는 1타 강사의 해석이나 추론이 유효했으리라고 본다. 하지만, 다른 지문과 같이 곂쳐놓고 봤을 때에는 분명히 해석이 틀어질 것이고, 이를 이용해서 이런 지문을 외운 학생들을 내치려는 행동으로 보인다는 것이다. (아님, 뭐 영어 출제 오류처럼 대형 실수를 저질렀거나)

3. 여하튼, 글이라는 것은 짜증나는 존재이다. 글은 단순히 형식 논리로 환원될 수 없는 형태를 지니고 있는데, 이를 해결하기 위해서 다양한 형태의 도구들을 쓰거나, 아님 그냥 그것조차 포기하고 인간의 뇌라는 제일 원시적이자 근원적인 도구를 사용하여 해석과 해설을 달고, 그에 기반하여 글을 옮기고 다시 쓰는 것일 것이다.

번역이란 존재도 비슷하다. 테크니컬 라이팅에 대한 번역을 주로 맡고 있지만, 글을 그대로 옮기는 것이 아니라는 점, 엄밀성과 정밀성이라는 부분에서는 양보를 못 하지만, 비유나 백그라운드 지식, 혹은 그와 연관된 기술에 대한 사전 지식에 대한 독자의 수준 등을 고민한다면, 번역되어서 나오는 글은 원문과는 상당히 상이한 형태가 될 것이다.

그렇기에, 문장을 쪼개거나, 다시 재 배열하거나, 뜻을 휘발 시키거나, 뜻을 고착화 시키는 작업들이 요구되어진다. 사실 이 이야기의 발단은 번역 중인 문서에서 typically와 generally가 병용되고 있는 문서에서 둘 다 "일반적으로"라는 단어로 해석을 하는 상황을 봤을 때, 이것이 기술 문서이기에 둘 다 일반적으로라는 단어를 써서 번역을 해도 무리가 없을 것이라고 판단했다는 것은 존중을 하지만, "전형적으로"와 "보편적으로" 두 단어를 구분해야할 수도 있다는 점을 고려하여, 어조를 어떻게 선택하느냐로부터 시작이 되었다. 미묘한 차이이고, 실제로 문서를 썼던 당사자는 이 두 단어의 차이를 자각하지 못한 채 글을 썼거나, 혼용을 했을 가능성을 배제할 수 없다는 것 조차도 실제로 이 번역이 갖고 있는 문제이자, 한국어 번역이 힘든 일이기도 하다.

4. 그런 김에 테크니컬 라이팅과 번역 관련된 책들을 몇 권 구매하여 읽고 있는데, 사실 글을 명료하게 쓴다는 것이 무엇인지 아직도 모르겠다. 어렸을 적에는 그냥 바로바로 튀어나왔던 말들이 요즘은 좀 다시 한 번 생각하게 되는데, 어렸을 때보다 배운 것도 많아지고 더 겸손해진 것도 있지만, 역시 점점 잊어버린다는 것이 제일 큰 문제이다. 이미 번역을 다 해 놓고 생각해보니 call을 콜이라고 해석한다기 보단 호출이라고 해석해야했을 껄이라는 후회를 한다던지, 몇몇 일본식 한자(e.g. 매개변수) 같은 단어 대신에 파라미터라고 그냥 번역을 했어야하는지, method라는 단어의 번역이나 entity라는 단어의 번역을 하지 못 하겠어서 끙끙 머리를 싸 매고 있다던지, 이러한 자잘한 문제들에 엮이면서, 시간을 잡아먹는 일이 자주 일어나고 있는 것이다.

5. 「완전한 번역에서 완전한 언어로」라는 책을 읽고 있는데, 사실 나는 정영목 번역가가 누구인지를 이 책을 읽기 전까지는 몰랐다. 뭐 책을 많이 읽는다는 사람이 이런 이야기를 하다니 어처구니가 없지만, 사실 번역가 찾아서 누가 번역했는지 따져 보는 경우는 그렇게 많지 않고, 해외에서 출간된 책 순위권 보면서 언제 한국에 번역되나냐, 출판사 -결국 번역가랑 간접적인 상관관계를 만드는- 를 보고 책을 산 적이 더 많다는 것이다. 뭐 여튼, 그런 실토는 그만하고, 다음의 구절이 와 닿았다.

책을 받으면 빠르게 읽으면서 할만한지 살피고 답을 드립니다. 그리고 번역을 시작하죠. 전 둔한 편이라 읽어서는 감이 안 오고 손으로 옮겨봐야 알겠더라고요. 보통은 절반가량 진도가 나가면 궤도에 오릅니다.

궤도에 오른다 하면?

배우로 치면 대사가 입에 붙는 겨죠. 저자의 문체가 내 몸에 붙어 대충 이런 거구나하는 느낌이 오죠. 처음에는 불분명했던 대목이 뒤쪽을 마저 읽으면서 비로소 이해되는 경우도 많아요. 아, 이 사람은 말을 이런 식으로 하는 사람이구나 깨닫는 거죠. 그렇게 한 차례 ㅂ전역하고 처음부터 다시 보며 습득한 스타일대로 다듬어요. 그러니까 앞쪽 절반을 퇴고하는 시간이 더 오래 걸립니다. 제 경우는 초고 만드는 시간과 다듬는 시간이 얼추 비슷해요.

정말 공감이 많이 갔던 부분인데, 뭐 그건 둘째치고, 요즘 들어서 다시 드는 생각은 이전의 내가 정말로 빠르게 지식을 습득하고 확장할 수 있었던 것은 내가 다양한 일을 하였기 때문이 아닌가 싶다. 책이나 여러 취미생활을 갖고 있었던 것은 역진적으로 다시 나의 취향과 성향을 만들어 냈고, 이에 따라 내가 무엇에 호오가 있는지, 그리고 그 호오를 통해 무언가를 창조해 내는 일을 해내고 있다는 점이다.

6. 예전 글에도 썼지만 (귀찮아서 링크는 안 건다), 번역은 글을 글로 옮기는 게 아니라 그 글을 갓 잡은 활어처럼 생생하게 새롭게 만드는 일이라는 것이다. 뭐 벌써 7~8년전 과외 선생님의 그 말씀이었지만, 나는 아직도 그 과외 선생님의 그 수업에서 배운것을 잊지 못한다. 언어에 대한 접근이나, 글에 대한 접근을 배울 수 있었고, 사실 약 3년간의 통번역 연습은 대학교에 와서도 잘 써먹고, 그리고 대학교 수업보다 더 값진 것들의 연속이었으리라 생각하니. 뭐 지금 이렇게 번역을 하면서 훈수를 두고, 기여를 할 수 있다는 부분은 뭐 거의 하기 힘든 일 아닌가? 그렇지 않나 싶다.

7. 그렇기에 번역을 다시 하기 시작했다. 뭐, 블록체인 관련 글들이지만, 최대한 많이 번역 할 수록, 한국의 생태계가 변하지 않을까 하는 헛된 희망을 갖고 글을 써 내려간다.

'일상생활 > 하루하루' 카테고리의 다른 글

2020.04.30  (0) 2020.05.01
2019.11.24  (0) 2019.11.24
2019.11.09  (0) 2019.11.09
2019.10.22 인터넷 안에 사람있어요!  (0) 2019.10.22
2019.10.03  (0) 2019.10.03
2019.08.17  (0) 2019.08.17
블록체인 + 스타트업 = ???  (0) 2019.08.11
2019.07.26  (0) 2019.07.26

댓글을 입력하세요

2019. 11. 10. 02:09 - Bengi

거 그래서 블록체인이 뭐란 말이오? (1)

그냥 요즘 삘 받아서 글을 막 쓰게 되는데, 이럴 때 열심히 글을 써 두는게 제일 좋지 않나 싶다. 일단 블록체인 기술에 대해서 이야기를 해야하나 싶은게, 실제로 다들 블록체인 기술이 뭔지에 대해서 이야기를 하는 사람이 없기 때문이다. 아니 솔직히, 블록체인 관련 글들은 쓰는데 회사 솔루션을 끼워서 이야기를 하거나, 아님 얕은 지식의 이야기를 하거나, 너무 암호학 위주로 이야기를 하거나, 아님 뭐 내 마음에 안 들게 글을 써서 그냥 블록체인에 대한 이야기를 처음부터 하려고 한다. 하지만, 이 글은 언제라도 사라질 수 있으며, 그 후 회사 블로그에 올라갈 (...) 수 있다는 부분은 양해 부탁드리는 부분이며, 솔직히 저희 회사도 먹고 살아야한다는 점을 이야기 하고 싶다. 저희 회사 기술력 보고 시리즈A 투자 좀 해 주세요. 제발.

뭐, 여튼 블록체인을 언제나 쉽게 이야기를 하면,

1. 공인인증서(비대칭키)로 거래 내역을 사이닝해서
2. 그 트랜젝션(거래 내역)을 전파를 하고,
3. 전파 받은 기록들을 해쉬 링크드 리스트에 기록을 해서
4. 그 최신 블록(혹은 노드)을 P2P로 토렌트 비슷하게 공유를 하면,

기초적인 블록체인이 나온다.

5. 거기에 PDA 같은 녀석을 추가로 넣고 스택 기반으로 VM을 만들면 비트코인이 되고
6. 인스트럭션 셋을 만들어서 인스트럭션 단위로 Gas라는 사용료를 물면 이더리움이 된다
7. 그리고 블록을 생성할 때마다 보상을 줘야한다. (경제학적 이유)
8. 블록 생성 방식에 대한 합의가 필요하다.

좀 더 복잡한 이야기를 하자면,
9. 이런 VM에 박히는 스크립트의 용량을 최소화하는 것이 목표인 상황,
10. 블록 생성 방식을 바꾸어 최소한의 시간으로 빠르게 컨펌하는 것이 목표인 상황
11. 블록체인 네트워크가 갖고 있는 한계 및 해결 방식
12. Fee를 해결하기 위한 방법
13. 기타 등등의 각종 이슈들
이 있으며, 이 부분에 대해서는 추가적인 포스팅을 하도록 할 것 같다.

라고 말을 한다. 사실 공인인증서라고는 말하지만 사실은 사설인증서이며, 개인이 직접 생성하는 비대칭키에 의존한다. (그러니 막 지갑 주소가 여러개 생성 될 수 있는 것이다!)

사실 많은 질문들, 특히 블록체인 노드와 월렛에 대한 구분을 못 하거나, 콜드 월렛과 핫 월렛이라는 요상한 단어를 쓰는 친구들을 볼 때마다 복장이 터지는 이유는 콜드와 핫은 의미도 없을 뿐더러, 콜드나 핫이나 둘 다 실제로 작동되는 원리는 비슷하기 때문이다. 아니 비슷하다고? 비슷하다. 이제 그 이야기를 길고 길게 이야기를 할 것이다.

일단, 큰 꼭지는 1번과 3번은 인터넷 없이도 처리가 되고, 2번과 4번은 네트워크랑 관계가 있다는 것을 쉽게 눈치를 챌 수 있을 것이다. 5번과 6번은 이제 심플한 컴퓨터구조론 혹은 오토마타 이야기라는 걸 이해를 바로 하면 컴퓨터 공학 정규 수업을 열심히 들었다는 것이다. 뭐 일단 이야기를 진행해보자. 1번 부터 이야기를 해보자.

1번 : 비대칭키로 거래내역의 사이닝을 한다.

비대칭키는 무엇인가? 일반적으로 프로그래머라면, 알 수 있는 부분은 "공인인증서에서 사용된다." 혹은 "SSL 같은 곳에서 사용된다." 정도일 것이다. 좀 더 궁금증을 갖고 있다면, RSA 정도를 알 것이고, 일반적으로 ssh 통신을 할 때 pem 키라고 부르는 녀석이 RSA (혹은 딴 비대칭키) 비밀키 및 공개키를 박아놓은 녀석이라는 것을 알 수 있다. 이걸 이용해서 비밀키로 사이닝을 하고, 공개키로 그것을 확인하는 (사실 반대도 가능하다) 작업을 할 수 있다. 이는 중간에 공격자가 공개키로 암호화된 메세지를 가로채도 비밀키가 없다면 해독을 못하는 상황을 만들어 낼 수 있다는 것을 의미한다. 또한 비밀키로 사이닝한 메세지를 공개키와 같이 공개를 하여, 비밀키를 갖고 있는 사람이 공개키로 이러한 메세지를 썼다는 것을 해독 시킬 수 있을 것이다. 암호화폐에서 이것이 쓰이는 이유는 명료하다. 사이닝을 통해서 주인을 식별할 수 있다는 것 때문이고, 이를 암호화폐의 전송에 사용하게 된다.

제일 간단하게 생각 할 수 있는 예는 다음과 같을 것이다. 일단 Alice는 10 Bengi 코인을 갖고 있고, 나머지는 모두 0 Bengi 코인을 갖고 있다고 가정하자. 그리고 Alice는 다음과 같은 메세지를 써서 서명을 한다.

{
    msg : "Alice는 Bob에게 10 Bengi Coin을 보낸다.",
    signature : msg의 서명 (Alice의 비밀키로 서명함)
}

 

이 메세지를 받은 사람은 Alice가 비밀키를 사용하여 Bob에게 10 Bengi Coin을 보냈다는 것을 증명할 수 있다. msg를 signature(서명)을 Alice의 공개키로 해독해 msg가 나오면, Alice가 보낸 것이 맞기 때문이다. 그렇다면, 이제 Bob은 10 Bengi 코인이 있는 것이고, 5 Bengi Coin을 Carol에게 보내고 싶다. 그러면 이제 위의 모델에서, Bob은 Carol에게 5 Bengi 코인을 보내고 싶다는 메세지를 작성해 서명해서 넘겨주면 된다! 그러면 Bob이 주인인게 확실하니! 그러면 이제 Bob은 5 Bengi 코인을 갖고 있고, Carol은 5 Bengi 코인을 갖고 있고, Alice는 0 Bengi 코인을 갖고 있을 것이다.

하지만, 여기서 드는 의문은 이제 이것이다. msg 내용이 좀 그시기하다는 것이다. 다음과 같이 바꿔보자

{
    from : "Alice",
    to : "Bob",
    amount : 10,
    signature : msg의 서명 (Alice의 비밀키로 서명함),
}

그 다음으로 드는 생각은 Alice의 Signature를 어떻게 검증하냐는 것이다. Alice의 공개키가 등록된 장부가 있거나 그에 준하는 무언가가 있어야한다. 이럴바에는 그냥 from에 Alice의 공개키를 넣는것이 어떤가? 그러면 좀 더 쉽게 전송을 할 수 있을 것이다.

{
    from : "Alice's Publickey",
    to : "Bob",
    amount : 10,
    signature : msg의 서명 (Alice의 비밀키로 서명함),
}

이제 메세지는 자가 증명을 할 수 있다. form에서 Alice의 공개키를 찾아서 signature가 맞는지 알 수 있다. 근데, 이러면 Bob의 공개키와 Bob이 어떻게 연결되어있는지를 증명할 수 없다. 즉, to에도 Bob의 공개키를 넣으면 편해질 것이다. Bob은 여기서 비밀키를 이용할 일이 없지만, Bob의 신원증명에는 사용되니 공개키를 넣는게 좋을 것이다.

{
    form : "Alice's Public key",
    to : "Bob's Public key",
    amount : 10,
    signature : msg의 서명 (Alice의 비밀키로 서명함),
}

(별로 알 필요는 없음) 비대칭키 암호화를 좀만 안다면 msg 길이 만큼 signature의 길이가 길어진다는 점이 문제라는 걸 알 수 있다. 위의 메세지를 해슁을 하고, 해슁된 데이터 값 (해식값)에 서명을 해도 동일한 효력이 나올 것이다. 그렇게 바꿔보자.

{
    form : "Alice's Public key",
    to : "Bob's Public key",
    amount : 10,
    tx_hash : msg의 hash 값,
    signature : tx_hash의 서명 (Alice의 비밀키로 서명함),
}

이제 좀 이쁜 모습이 되었다. 이제 이것을 이용하여 전송 Alice는 Bob에게 전송을 할 수 있다. Bob의 공개키는 이 트랜젝션이 블록체인 상에 허가가 나면 10 Bengi Coin을 소유하게 되는 것이고, 이에 따라서 10 Bengi Coin 이하의 값을 전송할 수 있을 것이다. 기본적인 전송 시스템을 구축할 수 있는 것이다. Bob에게 수신된 총량과 발신한 총량을 빼면 Bob의 잔고가 나올 것이다. 즉, 이걸 주기적으로 기록만 한다면 블록체인 상에서 거래를 할 수 있다! 그러니, 이런 전송이 발생할 때마다 Alice의 잔고에서 금액을 깍고, Bob의 잔고에 그 만큼의 금액을 추가하면 된다. 만약 Alice가 잔고가 없는 상황에서 돈을 보내려고 한다면 블록체인 네트워크 상에서 거부를 할 것이다. (잔고 금액을 추적하고 있으니, 하지만 동시에 각각 Bob과 Carol에게 7 Coin씩 보낸다는 트랜젝션을 생성하는 공격 같은 걸 하거나 0 Bengi Coin을 무한히 보내는 공격을 한다면 어떨까? 이후에 후술한다.)

사실, 암호화폐에서 대표적인 모델은 2가지가 있는데, UTXO 모델과 Account 모델이다. UTXO는 비트코인이 사용하는 모델이고, Account는 이더리움이 사용하는 모델이다. Account 모델의 기초를 위에서 이미 설명을 했으니 넘어가도록 하고, UTXO 모델은 복식 부기를 사용하는 모델이다. 상당히 복잡하다고 할 수 있는데 상당히 직관적이니 이야기를 한 번 하긴 해야할 부분이다. 이 이야기는 나중에 공격에 대한 저항성 이야기에 대해서 아주 중요하게 다룰 것이다.

Account 모델의 단점은 공개키-잔고 쌍을 어딘가에 기록하고 계속 추적해야한다는 점이다. 이 방식은 어쨌든 공개키 쌍이 늘어날 수록 데이터베이스 크기가 늘어난다는 점이다. 이 방법 대신에 UTXO는 복식 부기를 사용하여 이 부분을 해결한다. 복식부기 자체가 잔고 증명이 되고, 복식부기를 연속적으로 만들어냄으로써 잔고의 흐름을 추적하는 방식을 사용한다.

간단하게 1 Input, 2 Output 트랜젝션을 보자.

{
    from : [
    	tx1_hash, // to Alice 12
        ],
    to : { 
    	Alice Publick Key : 2,
        Bob Public Key : 10
        },
    tx_hash : tx_new_hash,
    signature : alice signature of tx1_hash,
}

Alice의 12 Bengi Coin을 받는 트랜젝션을 찾아서, Alice에게 2를 보내고, Bob에게 10을 보내는 새로운 트랜젝션을 만든다. 이렇게 되면 Alice는 tx1 더 이상 사용 될 수 없어지고, tx_new가 이제 Alice와 Bob의 새로운 잔고 증명 Tx가 된다. Alice와 Bob은 이 트랜젝션 해쉬를 갖고 새로운 거래를 열 수 있다. 여튼 여러개의 Alice에게 Bengi Coin을 보내는 tx들을 모아서, from에 넣고, to에 받을 사람을 적어서 트랜젝션을 생성하면 되는 구조이며, 이를 통해서 검증자는 전체 잔고의 추적을 할 필요가 없어졌다. 그냥, tx1_hash의 시그니처와 Alice의 공개키와 tx1_hash 세 개를 대조하여 맞는 사용자인지 확인을 하는 과정이 있는 것 뿐이다. 이를 P2PK 방식이라고도 불리는데, 바로 공개키를 사용하지는 않고 Address를 사용하나 전체적인 기조는 같다. 그렇다면 2개의 인풋과 3개의 아웃풋이 있을 경우 어떻게 하는가? 아웃풋은 쉽겠는데, 2개의 인풋이 Alice의 서로 다른 공개키로 보내는 것이라면 약간 골이 아플 것이다. 그래서 실제로 signature는 다음과 같은 형태를 띄고 있다.

{
    from : {
    	tx1_hash: alice signature of tx1_hash, // to Alice 10
        tx2_hash: alice signature of tx2_hash, // to Alice 5
        },
    to : { 
    	Alice Publick Key : 2,
        Bob Public Key : 10,
        Carol Public Key : 3
        },
    tx_hash : tx_new_hash,
}

 

어려운가? 그렇다면 쉽게 설명하면, 잔돈 모델로 생각하면 편하다. Alice가 1000원짜리 지폐랑 500원짜리 동전 합쳐서 1500원을 넘겨주고, 200원을 거슬러 받고, 1000원을 BoB에게 주고, 300원을 Carol에게 준  모양새가 된다.이런식으로 잔돈들을 합쳐서 큰 돈을 만들고, 큰 돈을 다시 쪼개서 분배를 하는 과정을 거치게 된다. 그래서 비트코인 트랜젝션을 보면 일반적으로 1~3개의 인풋에 2개 정도의 아웃풋이 기본적으로 있는 것이다.

2번 트랜젝션의 내역을 전파한다.

이렇게 만들어진 트랜젝션을 이쁘게 팩킹하여, 연결된 노드나 자기 자신의 노드나 여튼 블록체인 데이터를 받을 수 있는 무언가에 전송을 해 주면, 노드들끼리 이 신규 트랜젝션을 공유를 하여 네트워크에 동기화를 시켜준다. 그리고, 블록 생성자가 이 트랜젝션 데이터를 받아서 블록에 산입을 하도록 한다. 그냥 토렌트나 P2P 서비스를 생각하면 편하다. 데이터를 동기화하는 과정인 것이다. 여기서 콜드월렛 핫 월렛이 결정되는데, 블록체인 노드에 바로 연결되어서 쏘면 핫 월렛, 연결이 되어있지 않고 중간 전달자가 대신 전달해주면 콜드월렛이나, 실제로 콜드나 핫이나 트랜젝션 생성을 하는 건 변함이 없다는 것을 알 수 있다. 솔직히 네트워크에 안 붙고도 트랜젝션 생성할 방법 많은 관계로 핫이나 콜드나 별 의미가 없다. 특히 같은 비밀키를 여러군데에 저장해서 쓰는 경우라면 더더욱.

3번 해쉬드 링크드 리스트에 기록을 한다

블록체인이라는 게 여기서부터 중요해지는데, 해쉬드 링크드 리스트를 사용한다는 점과, 사실은 링크드 리스트가 아니라 DAG라는 점이다. 링크드 리스트는 트리나 그래프 형태로 만들어지면 안 되는데, 블록체인은 그렇게 되는 경우가 종종 있기에 엄밀히 말하면 링크드 리스트의 속성을 충족하지는 않는다. 그래서 더 느슨한 자료구조인 DAG의 특징을 충족하는 것인데, 이 부분에 대해서 이야기를 해보자.

이제 두번째 장벽인 해쉬 함수에 대해서 이야기를 하려고 한다. 해쉬란 무엇인가? 비가역적인 형태로 무언가를 생성시키는 함수이다. 해쉬 함수의 특징은, 같은 값이 들어가면 같은 값이 나와야하고, 두 다른 값의 결과는 같지 않아야하며, 비슷한 값의 결과는 충분히 달라야한다, 그리고 제일 중요한것은 원본의 값을 유추할 수 없어야한다는 점이다. 간단히 설명한 것이지만, 상당히 구현 난이도는 높은 편이고, 실제로 해쉬 함수가 깨진다 (취약점이 나온다) 라는 부분들이 저 전제를 못 지키기 때문이다. 두 다른 값에서 같은 결과값이 나오는 경우를 해시 콜리전 (충돌)이라고 불리고, 유추 가능성에 대해서는 제1역상 공격이라고 한다(제2는 해쉬 콜리전이다) 이를 실제로 염두를 해야하는 점은 무엇인가? 블록체인은 데이터의 위변조를 검증하는데 해쉬를 쓰고, 이 덕분에 해쉬가 덕지덕지 발라져 있다는 점이다.

해쉬 링크드 리스트는 다음과 같은 특징을 갖고 있다. 트랜젝션들을 넣은 블록을 만들고, 해쉬를 만든다. 아니... 정확히는 앞선 블록에 대한 정보를 담게 된다. 다음과 같은 구조를 띄게 되는데 일단 확인해 보자.

current_block = {
    previous_block_hash : previous_block_hash,
    tx_data : [tx1_data, tx2_data, tx3_data, tx4_data, ... ],
    txs_hash : SHA3(tx_data),
}

new_block = {
    previous_block_hash : SHA3(current_block),
    tx_data : [tx5_data, tx6_data, tx7_data, ... ],
    txs_hash : SHA3(tx_data),
}

간단해 보이지 않는가? 사실 이 데이터는 좀 말이 안 된다는 걸 나중에 이야기를 하겠지만, 이런식으로 데이터를 박아넣는다. 정확히는 tx_data는 머클트리를 사용하여 저장을 하고, 블록과 블록 헤더가 분리가 되어있는 형태이지만, 일단 간단한 형태로 설명을 하기 위해서는 이것이 편하리라 생각하여 이렇게 적는다. new_block은 current_block의 hash 값을 가리킨다. 이를 이용하여, 블록체인은 자신의 이전 블록 데이터를 찾아 넣을 수 있는데, 이 때문에 해시드 링크드 리스트라고 하는 것이다. 포인터 대신에 해시값을 사용하는 링크드 리스트인 것이다.

그리고 블록체인 클라이언트는 tx_data를 순회하면서 값들을 최신으로 업데이트를 하게 되는데, 이를 통하여 앞의 트랜젝션을 통한 전송 관련된 부분을 처리하게 된다.

4번 최신 블록을 P2P로 토렌트 비슷하게 공유를 한다.

자 이제 블록체인은 트랜젝션을 전파하듯이 전파를 하면.... 되나....? 될 것이다. 옆 사람이 새로운 블록을 만들어냈다는 걸 알기 전까지는 말이다. 실제로 블록의 경우 예측 가능한 정도로 생성되어야하며, 동시에 한 블록을 참조하는 여러 블록들이 생성되는 일은 지양해야한다. (그렇기에 DAG라는 표현을 한 것이다. 실제로는 일어나니) 이를 위해서, 블록체인 클라이언트들은 규칙을 공유한다.

첫째, PoW 방식의 생산. HashCow 같은 문제를 풀어서 해결하는 방식. Nonce 필드를 추가하고, 해쉬 값에 대해서 제약 조건을 걸어 특정 조건을 달성한 해쉬 값을 인정하는 방식이다. 일반적으로 해쉬 값에 앞에 0이 몇 자리 이상 붙어 있느냐로 제한을 두는 경우가 많다. 해쉬의 특성상 특정한 해쉬를 도출해 내는 건 상당히 힘든 일인데, 이를 이용한 트릭이다.

new_block = {
    previous_block_hash : SHA3(current_block),
    tx_data : [tx5_data, tx6_data, tx7_data, ... ],
    txs_hash : SHA3(tx_data),
    nonce : some_number
}

적절한 some_number를 넣게 된다면, 00000deadbeef..... 같은 해쉬를 얻을 수 있다. 각각 컴퓨터는 이 some_nubmer를 무작위 (혹은 순서대로) 대입하여 00000으로 시작하는 해쉬 값을 찾으면 되는 것이다. 이를 통해서 제일 먼저 0이 5개 (상황따라 난이도가 올라갈 수록 0의 갯수가 증가한다)인 some_number인 블록을 찾았다면, 이를 적합한 블록으로 인식하고 모두가 받아들이는 것이다.

아니, 이게 어떻게 보안을 유지시키냐고? 비트코인은 30분마다 블록이 생성되도록 해쉬 난이도를 조절(0의 갯수 조절)을 하는데, 총 컴퓨팅 파워로 30분 즈음에 적합한 블록을 찾아내도록 셋팅을 하는 것이다. 그것을 이용해서, 다른 유저가 (위변조한) 블록을 마구 생성하거나, 블록체인이 2개로 쪼개지거나 했을 때를 조절할 수 있다.

둘째, 제일 긴 체인을 선택한다. 제일 많은 컴퓨팅 파워가 소모된 체인이 제일 올바른 체인이라고 가정을 하는 것이다. 별다른 의미는 없지만 제일 효율적인 방식이긴 하다. 특히, 공격자가 다른 체인을 만드려고 해도, 전체 컴퓨팅 파워의 51% 이상을 장악하고 있지 않는 이상 제일 긴 체인을 택할 것이므로 공격자의 공격은 수포로 돌아가게 된다.

셋째, 깊이가 6 이상이 된 스플릿이 발견될 경우 롤백하지 않는다. 30분 단위의 블록 생성 시간을 감안하면 3시간 이상이 된 블록들은 적합한 것으로 간주하고, 신규 체인 (7번 전 블록부터 다른 해쉬 값을 갖는 더 적합한 블록들의 연속)을 받아들이지 않는다. 이렇게 함으로써 외부의 공격을 막는다.

이 두 가지를 지키는 블록들을 외부 노드로부터 받아들이면서, 블록체인의 전체 크기는 증가한다. 뭐 하지만 저런 시스템이 돌아가지만 실제로 블록 스플릿이 거하게 일어난 적도 있고 (6개 이상의 블록이 각각 생긴 두 체인으로 쪼개진 적이 있다.), 포크라는 방식으로 블록을 양분하는 방식이 있는 등 (비트코인 캐쉬, 비트코인 골드 등) 을 생각한다면, 실제로 완벽하게 안정적인 방식은 아니라는 것을 알 수 있다. 다만, 이러한 규칙을 통해서 주기적으로 블록을 생성하고, 확률적으로 동시에 블록을 생성하는 것을 막고, 충분히 네트워크에 전파될 시간을 잡아 블록체인의 신뢰성을 보장 시킬 수 있다.

자 그렇다면, 이제 노드는 어떻게 찾는 것인가? 일반적으로 P2P 클라이언트와 비슷하게 작동되나, 자기 자신이 Seeder이기도 하고, Tracker이기도 하다. 일반적으로 비트코인 클라이언트가 처음 시작된다면, 하드 코딩 된 DNS 주소에 쿼리를 날려 주변 노드들 정보를 얻고, 그것이 안 될 경우 하드 코딩 된 노드 주소에 연결을 시도한다 (참고로 최신 클라이언트에서는 폐기된 방법이다), 최종적으로 아무것도 없을 경우 UDP 브로드캐스팅을 쓰는 것으로 알고 있는데, 여기까지 가보지는 않아서 정확히 설명을 할 수는 없을 것이다. 여튼, 천하의 블록체인이 중앙화된 클라언트에 하드코딩된 주소를 의지한다니 재미있지 않은가? 이더리움도 비슷하게 bootstrap node 리스트를 따로 제공한다. 이에 대한 문제는 Tor 네트워크나 Tails가 갖고 있는 문제와 비슷한데, 일단 초반에 Tor나 Tails를 깔기 위해서 사이트에 접속하는 과정 자체가 그 사람의 신원을 노출 시킨다는데 있다. 즉, 아무리 익명성 클라이언트라고 하더라도 초반에 접속하게 되는 곳은 다 같으니 그 곳만 주기적으로 감시를 하면 된다는 문제점이 있는 것이다. 이 부분에 대한 해결 방법은 나중에 이야기하도록 하고, 이제 이렇게 접속을 하면 어떻게 되나 이야기를 하자.

이제 접속을 하게 되면, 제네시스 블록, 그리고 그 다음 블록, 그 다음 블록의 다음 블록을 쭉쭉 받아오게 된다. 블록 하나하나의 해쉬를 검증하고, 시그니처를 검증하면서 옳은 블록인지를 검증을 하면서 주변 노드들로부터 데이터를 받아오는 것이다. 그리고 어느 정도 동기화가 끝나면 Tip이라고 하는 끝 부분 (혹은 최신 블록을 받아와야하는 시점)에 도달하게 되고 이제 사용할 수 있는 상태가 된다. 왜냐하면, 모든 트랜젝션 데이터들을 다 받아서, 내 트랜젝션 데이터들의 집합을 다 찾아냈기 때문이다.

으악 너무 불편하고 시간이 걸린다고?!

그렇다면 SPV나 Light 모드로 빠르게 싱킹하는 방법이 있다. 이는 블록 전체 데이터를 받아오지 않거나, 거꾸로 (...) 받아오거나, 미리 몇 십 기가바이트 정도 되는 데이터를 P2P로 압축해서 받거나 하는 방식으로 진행된다. 이 방법에 대해서는 11장에서 이야기를 하도록 하자. 추가적인 꼭지들에 대해서 이제 이야기를 할 수 있을 정도로 내용이 진척된 거 같아서 기쁘다.

일단 1/2/3/4 장에서 진짜 기초적인 블록체인 클라이언트에 대해서 설명을 하였다. 설명이 충분하지 않다는 생각이 들지만, 일단 이 정도면 블록체인에 접목되는 암호학 기술에 대해서 약간이나마 이해를 할 수 있을 것이다. 여기까지 읽어줘서 감사하다.

댓글을 입력하세요