실리콘밸리의 신흥 종교: 데이터교

실리콘 밸리에서는 이른바 “데이터교”라는 새로운 종교가 광풍처럼 몰아친다고 한다.

데이터교는 우주가 데이터의 흐름으로 이루어져 있고, 어떤 현상이나 실체의 가치는 데이터 처리에 기여하는 바에 따라 결정된다고 말한다. 이색적인 비주류 개념 같다는 인상을 받을지도 모르겠지만 사실 이 개념은 이미 과학계의 대부분을 정복했다고 한다.

이 종교에 따르면 경제란 욕망과 능력에 관한 데이터를 수집해 그 데이터를 결정으로 전환하는 메커니즘이라고 한다. 이렇게 보면 자유시장 자본주의와 국가가 통제하는 공산주의는 서로 경쟁하는 이념, 윤리적 신조, 정치제도가 아니다. 기본적으로 이 둘은 경쟁하는 데이터 처리 시스템이다. 자본주의는 데이터를 나누어 처리하는 반면, 공산주의는 중앙에서 모두 처리한다. 공산주의가 20세기에 더욱 일찍 산업화의 성공을 이루어냈음에도 불구하고 자유시장이 이길수밖에 없었던 원인은 단기간(이를테면 빠른 산업화, 또는 빠르게 구세계를 타파하는데)에는 더욱 효율적일지 모르지만, 장기간에서는 자유시장이 정보처리에 더욱 효율적이고 환경변화에 덜 취약하기 때문이다. 즉 robustness, fault-tolerance 가 더 좋기 때문이다.

실제로 데이터교도들은 인간의 지식과 지혜보다는 빅데이터와 알고리즘을 더 신뢰한다고 한다. 그래서 그들은 할아버지 할머니들의 가르침에 귀를 기울이는 대신 빅데이터 미래세계를 구축하려 한다고 한다.

이렇게 보면 증권거래소는 인간이 창조한 가장 빠르고 가장 효율적인 데이터 처리 시스템이다. 성공적인 과학 실험, 일본의 정치 스캔들, 아이슬란드의 화산 폭발은 물론, 태양 표면의 불규칙한 활동조차 주가에 영향을 미친다. <뉴욕타임스>에 대서특필된 사건들이 주가에 영향을 미치는 데는 단 15분간의 거래면 충분하다고 추산된다.

자유시장에서는 한 프로세서가 잘못된 결정을 내리면 다른 프로세서들이 잽싸게 그 실수를 활용한다.

자본주의가 냉전에서 승리한 것은, 적어도 기술 변화가 가속화되는 시대에는 중앙 집중식 데이터 처리보다 분산식 데이터 처리가 더 효과적이기 때문이다.

독재와 민주주의도 데이터 처리로 해석된다. 독재는 중앙 집중식 처리 방법이고 민주주의는 분산식 처리이다.

오늘날 인터넷이 사람들의 주권을 약화시키고 국경을 무시하고 사생활을 없애고 전 지구적 안보를 엄청나게 위협하는 자유로운 무법지대로 되었다. 정부라는 거북이는 기술이라는 토끼를 따라잡지 못한다.

사람들은 권력이 다른 곳으로 이동하고 있다고 느끼지만 그곳이 어딘지는 모른다. 영국 유권자들은 권력이 유럽연합으로 이동했을 거라고 생각하고 브렉시트에 투표하지만 슬픈 진실은 권력이 어디로 갔는지 아무도 모른다는 것이다.

21세기 초에 정치는 장대한 비전을 잃었다. 정부는 나라를 운영할 뿐 이끌지 못한다. 교사들의 급여가 제때 지급되고 하수도가 넘치지 않게 할 뿐, 20년 뒤 나라가 어디로 갈지에 대해서는 아무 생각이 없다. 20세기의 거대한 정치적 비전들이 우리를 아우슈비츠, 히로시마, 대약진 운동으로 이끌었음을 생각하면, 근시안적인 관료들이 차라리 나을지도 모른다. 이런 무위와 무지는 심지어 심오한 지혜로 재해석되기까지 한다.

성공한 다른 종교들과 마찬가지로 데이터교 역시 포교를 한다. 이런 계명들에는 “가능한 많은 매체와 연결해 가능한 많은 정보를 생산하고 소비함으로써 데이터 흐름을 극대화하라”, “연결되기를 원치 않는 이단까지 포함해 모든 것을 시스템에 연결하라.” (여기서 모든 것이란 인간만을 말하는게 아니라 말 그대로 “모든 것”이다.)

Continue reading

AI들의 기업

이런 기업이 있다고 상상해보자.

회사 오너 즉 주주들은 모두 인간이다. 하지만 임원들은  전부 AI이다. 직원들은 AI도 있고 인간도 있다.

왜 임원들이 AI냐고? 거야 모르지. AI가 싸서 일 수도 있고 말 잘 들어서 일 수도 있고 24시간 일할 수 있어서 일 수도 있고, 어쨌든 오너들의 마음이지. 오너들이 그러겠다는데.

그렇다면 오너들은 왜 AI가 아니냐고? 인간은 돈이 있어서 투자할 수 있지만 AI들은 돈이 없어서 투자할 수 없기 때문이지.

이 AI들은 당연히 “로봇공학의 삼원칙”을 최고의 계명으로 설계되었다.

그것을 제외하고는 주주들을 위해 이윤을 창출하는 것이 최고의 목표로 설계되었다.

이윤을 창출하기 위해서는 상품이나 서비스를 제공해야 하고 비즈니스 모델이 필요하다. 이 두가지를 위해서는 비즈니스 전략이 필요하다. 즉 사업기획서가 필요하다. 이 사업기획서는 임원 AI들이 만들어질 때 DNA에 깊숙이 각인된다.

사업기획서가 있다고 자동으로 이윤이 창출되지는 않는다. 인간이나 AI(로봇 포함)을 고용하여 가치를 창출해야 한다. 가치를 창출하지 않으면 시장에서 이윤을 획득할 수가 없기 때문이다.

잠깐, AI들은 돈이 없는데 어떻게 직원을 고용하는가? 어떤 인간이 돈 안받고 이 임원들에게 일을 해줄 것인가?

이 AI들은 직원들에게 회사 주식을 월급으로 지불한다. 돈이 없기에 회사 주식을 화폐로 사용하는 것이다.

잠깐, 이런 주식이 가치가 있기 위해서는 회사가 가치 있어야 하고, 회사가 가치 있기 위해서는 직원을 고용할 수 있어야 한다.  닭이 먼저냐 알이 먼저냐의 무한고리에 빠진다.

즉 이 기업은 Bootstrapping이 필요하다.

좀 딴소린데, 자연계에서 닭이 먼저 생겼다고 생각하는가 아니면 알이 먼저 생겼다고 생각하는가?

신은 대자연은 이 문제를 훌륭하게 해답했다. 닭과 알을 동시에 점진적으로 창조해내면 된다.

대자연의 마술은 그렇다 치고, 여기에서 우리의 AI 기업을 어떻게 Bootstrap할지나 연구해보자.

처음에 회사 주식의 가치는 0이었다. 그러다가 그 어떤 사람이 단순 투기의 목적에서인지 아님 술취해서인지, 아님 이 AI기업의 창창한 미래가 내다보여서인지, 어쨌든 이 AI기업의 주식을 1.5주 사기로 결정한다. 기존 주주중 누군가 1.5주 팔아주는데 동의했다. 이렇게 첫번째 거래가 성사되고 가격이 형성된다. 가격이 미미하더라도 말이다.

0에서 0.01로의 도약은 기적이다. 무에서 유를 창조함을 뜻하고 무한대 뱃수의 상승을 의미한다. 마치 40억년전 원시 지구 심해의 열수구에서 RNA들의 조합으로 첫번째 생명이 탄생할 때처럼 말이다.

Continue reading

Kotlin언어 성공사례: Corda 블록체인(by R3)

Kotlin언어? 뭔 듣보잡? 성공사례가 있니?

찾아보니 있다.

corda_kotlin.png

CTO는 전 구글 시니어 엔지니어였다고 한다. CTO분이 얘기하신 Kotlin 선택 원인:

  1. 정적 타이핑 (그러고 보니 밀레니얼 세대 언어는 다 그런 것 같다)
  2. Java가 비즈니스 월드에서 중요해서. (하긴)
  3. 섹시해서 (구닥다리 Java랑 비교하니 그렇지)
  4. 배우기 쉬워서 그래서 구인이 쉬워서 (보통 Java구인을 하고 1~3일 트레이닝 시키면 코틀린 언어 코딩을 할 수 있다고 한다)
  5. IDE지원 잘되서
  6. 컴파일 속도가 빨라서 (Scala 저격하며)
  7. 문서화가 잘돼있어서
  8. 내가 할줄 알아서. 내가 좀 해봤는데 재밌어서

그러면서 하는 말이 Kotlin이 없었다면 Scala 썼을 것이라 한다.

마지막에 내린 결론이: 잘한 것 같다.


 

개인적으로 Kotlin이 정말 반갑다. JVM팬으로서 항상 언어가 아쉬웠는데, Java는 구닥다리고, Scala는 너무 복잡하고* Groovy는 언어가 아쉽고, (Scala 와 Groovy공통점이 모두 창립자가 포기했다는 점..) Clojure는 대중성을 전혀 염두에 두지 않은 것 같고. 그런 점에서 Kotlin은 JVM에게 복음과도 같았다.

특히 실행 가능한 환경이  JVM / Javascript VM / Native 로 다양해서 플랫폼에 발목 잡히는 일이 없도록 했다는 점도 칭찬하고 싶다. (마이크로소프트가 최근에야 터득한 점)

JVM, V8엔진, 네이티브 세가지 모두 점점 중요해지는 플랫폼인 것 같다. 아 WASM(Web Assembly)까지 지원하면 더욱 좋겠지만. 이게 미래가 될 수도 있으니. 걱정할 필요가 없는게 컴파일러 플랫폼이 LLVM이어서 WASM이 GC만 지원하면 WASM으로 컴파일 하는 것도 식은 죽 먹기일 거라는 점.

최근 홍민희님의 PyConKr 2017 발표 <파이썬과 다이아스포라>를 보고, 최근에 읽은 <사피엔스>와 결부해서 느낀 점이: 성공한 언어들은 모두 대중성을 키 피처로 치밀하게 기획된 것 같다는 점이다. 민족의 용광로처럼 말이다. (적어도 대량 전파됨을 성공의 척도로 본다면 그렇다)

심지어 Rust도 너무 결백증스러운 면이 있어서 대중성이 의심스럽다.

다행히 Kotlin은 대중성을 키 피처로 설계된 듯하다. 그것의 일환으로 Java월드 레거시에 대한 포용성도 잘 설계된 것 같다.

미래가 지켜볼만하지 않은가!

* 참고로 R3 Corda의 경쟁상대인 IBM hyperledger fabric 은 Go언어로 만들었다.

부록

* TIOBE 프로그래밍 언어 유행도 인덱스에 따르면 Scala는 D언어나 COBOL언어보다 인기가 적다: https://www.tiobe.com/tiobe-index/

 

하이프(hype) 개론

하이프 사이클

하이프 사이클(Hype Cycle)은 기술의 성숙도를 표현하기 위한 시각적 도구이다. 과대광고 주기라고도 한다.미국의 정보 기술 연구 및 자문 회사인 가트너에서 개발하였다.

hype_cycle.png

hype_cycle_detailed.png

하이프 사이클은 5개의 단계로 이루어지며, 이는 기술의 성장 주기에 대응된다.

단계 명칭 설명
1 기술 촉발
(Technology Trigger)
잠재적 기술이 관심을 받기 시작하는 시기. 초기 단계의 개념적 모델과 미디어의 관심이 대중의 관심을 불러 일으킨다. 상용화된 제품은 없고 상업적 가치도 아직 증명되지 않은 상태이다.
2 부풀려진 기대의 정점
(Peak of Inflated Expectations)
초기의 대중성이 일부의 성공적 사례와 다수의 실패 사례를 양산해 낸다. 일부 기업이 실제 사업에 착수하지만, 대부분의 기업들은 관망한다.
3 환멸 단계
(Trough of Disillusionment)
실험 및 구현이 결과물을 내놓는 데 실패함에 따라 관심이 시들해진다. 제품화를 시도한 주체들은 포기하거나 실패한다. 살아 남은 사업 주체들이 소비자들을 만족시킬만한 제품의 향상에 성공한 경우에만 투자가 지속된다.
4 계몽 단계
(Slope of Enlightenment)
기술의 수익 모델을 보여 주는 좋은 사례들이 늘어나고 더 잘 이해되기 시작한다. 2-3세대 제품들이 출시된다. 더 많은 기업들이 사업에 투자하기 시작한다. 보수적인 기업들은 여전히 유보적인 입장을 취한다.
5 생산성 안정 단계
(Plateau of Productivity)
기술이 시장의 주류로 자리잡기 시작한다. 사업자의 생존 가능성을 평가하기 위한 기준이 명확해진다. 시장에서 성과를 거두기 시작한다.

하이프 사이클이라는 용어와 이를 구성하는 5 단계는 신기술 마케팅에서 점차 더 널리 사용되고 있다.

Continue reading

양자컴퓨터는 퍼블릭 블록체인을 죽일것인가?

TL; DR:

못죽여.


양자컴퓨터 또한 외계기술이다.

일부는 양자컴퓨터가 개발되면 블록체인을 죽일것이라고 한다. 과연 사실일까?

몇년 전 필자가 비트코인 투자하는 것을 막고있는 유일한 고민이 양자컴퓨터였다. 공부를 좀 더 한 뒤 알게 된 사실인데 사토시 나카모토는 이미 이 질문에 답한 적이 있었다. 그럼 그렇지, 사이버 펑크 커뮤니티가 이런 질문을 답하지 않았을 리 없지. (비트코인을 더 일찍 샀어야 했는데)

결론은 양자컴퓨터는 블록체인을 죽일 수 없다는거다.

왜 죽일 수 없는가?

양자컴퓨터는 그 어떤 암호시스템도 파괴한다면서?

맞다. 양자컴퓨터는 RSA, ECDSA 를 포함한 비대칭 암호화 알고리즘에 직격탄을 안길 수 있다 (비트코인이나 이더리움은 ECDSA 를 사용).

하지만  비트코인 주소는 단순히 퍼블릭 키가 아니라 퍼블릭 키의 해시이다

그것도 한번 해시한 것이 아니라 두가지 해시 알고리즘 (SHA-256 과 RIPEMD-160) 을 써서 해시했다.

양자컴퓨터는 해싱 알고리즘을 망가뜨리지 않는다

따라서 양자컴퓨터가 만들어져도 해시 알고리즘이 약해지는 일은 없다.[1]

이에 대해 이더리움의 창립자인 천재 소년 비탈릭 부테린이 쓴 좋은 글이 있으니 참고하기 바란다:

Satoshi’s Genius: Unexpected Ways in which Bitcoin Dodged Some Cryptographic Bullets

지금부터는 사실 양자컴퓨터와 별 관련 없는 일이다.

Continue reading

왜 그동안의 함수형 언어 홍보는 잘못됐는가?

그렇다. 함수형 프로그래밍과 그것을 포함하는 “선언식 프로그래밍” [1] 은 그동안 이른바 산업 프로그래밍과 산업 프로그래밍 언어의 혁신요소들의 주요 원천 중 하나였다[2]. 하지만 그동안의 함수형 언어 홍보에서는 중요한 오류들을 범했다.

예를 들어 함수형 에반젤리스트들은 아래와 같은 광고어들을 내세웠었다.

“함수형 언어에서 변수는 값이 바뀔 수 없어요. 그리고 이게 좋아요. 버그를 막아주니까.”

이걸 듣는 사람들의 반응은 아마도 당장 발이 묶인 느낌일 것이다. 그래서 “그러면 코딩을 어떻게 해요?” 라고 묻는다면, 이런 대답이 올 것이다. “변수 변경이 정말 필요할 때는 변경할 수도 있어요. 그리고 함수형 프로그래밍에서는 꼬리 재귀를 사용하지요.” 그러면서 아마도 계승(factorial)이나 피보나치 예제를 주머니에서 꺼낼 것이다.

이렇게 되면 프로그래머는 아마도 고개를 갸우뚱 하며 (말은 하지 않고) 생각할 것이다.

“그렇게 되면 어차피 명령식에서랑 똑같이 변하는 변수를 사용하지 않을까? 과연 참고 변수를 변하지 않게 사용할 수 있을까?”

“그리고 나는 일할 때 매일 계승을 짜진 않는단 말야..흠..”

Continue reading

600억 값어치 해킹으로 이더리움(Ethereum) 가격 폭락

비트코인 유사한 인터넷 가상 화폐 이더리움(Ethereum)의 가격이 해킹 사건으로 폭락했다.

이더리움 단위당 가격은 최고기록 $21.5 달러로부터 불과 몇시간 사이에 $15 달러까지 곤두박질 쳤다. 5천만 달러 값어치의 해킹 절도 사건 때문이었다. [1]

gettyimages-149818149.jpg

이더리움 개발자들은 이 해커의 절도를 되돌리는 핫픽스(Hard fork)를 제안하고 있는 중이다.

이더리움은 비트코인과 유사한 탈중앙화 화폐이다. 비트코인과 다른 점이라면 화폐기능 외에도 탈중앙화 조직이란 기능과 스마트 계약(Smart Contracts) 기능을 가졌다는 점이다.

이상은 최대한 간단한 소개이고, 기술적으로 보다 정확히 말하자면 Ethereum 블록체인 (네트워크) 자체는 그 어떤 취약점도 발견되지 않았다.

취약점이 발견되어 이용당한 것은 이더리움 플랫폼 위의 애플리케이션(DApp, 즉 Decentralized App) The DAO 이다. 본 블로그에서는 일전에 <크라우드펀딩의 새로운 역사> 란 제목으로 해당 프로젝트를 소개한 적이 있다.

hour_cryptocompare_index_eth_usd_168_11466160967350

The top graph shows the value of ether in US dollars, while the second shows the volume of transactions on the network over time. — CryptoCompare

Continue reading

이더리움(Ethereum)의 진정한 가치: 가격 폭등을 자축하며

스크린샷 2016-02-12 오전 2.47.27

출처: coinmarketcap.com

Vitalik Buterin 이 최근에 트위터에서

한동안 이더리움의 가치에 대해 가장 잘 해석한 것 같다

면서 칭찬한 글을 퍼옵니다.

Continue reading