본문 바로가기

자기 개발

4차 산업혁명_블록체인_스마트 컨트랙트는 어떻게 구현될까? 분산형 애플리케이션 블록체인_스마트 컨트랙트는 어떻게 구현될까? 분산형 애플리케이션 비트코인이 블록체인 기술을 이용해 단지 암호화폐를 구현하는 것에 초점을 맞춘 사례라고 본다면, 이후에 등장한 블록체인 기술은 한층 발전하여 ‘스마트 컨트랙트(Smart Contract, 스마트 계약) 이라는 기능을 지원합니다. 스마트 컨트랙트는 일종의 디지털 계약서로서, 블록체인의 가치를 한층 높여주는 핵심 기능으로 주목을 받고 있습니다. 지금부터 스마트 컨트랙트의 개념과 스마트 컨트랙트가 어떻게 구현되고 활용되는지 살펴보도록 하겠습니다. 스마트 컨트랙트를 이용하면 소유권, 거래 등을 위한 조건을 가지는 분산형 애플리케이션을 만들 수 있습니다. 이를 활용해 금융, 거버넌스(Governance), 커뮤니티, 법률, 의료, 교육 등의 다양한 분.. 더보기
4차 산업혁명_블록체인_블록체인과 암호화폐, 참여와 보상으로 이루어진 경제 블록체인_블록체인과 암호화폐, 참여와 보상으로 이루어진 경제 블록체인은 기술과 비즈니스의 과점을 모두 포함하고 있는데, 구현을 위해 사용되는 기술이 다양하고 비즈니스 응용 분야도 넓어서 간단히 정의하기가 곤란합니다. 블록체인 안에는 많은 속성이 담겨 있으며 천의 얼굴로 우리에게 나타납니다. 그런 의미에서 블록체인의 다양한 모습들 중 블록체인을 기반으로 구현된 암호화폐를 살펴보고, 또한 블록체인과 암호화폐가 어떤 관계를 맺고 있는지에 대해서도 살펴보도록 하겠습니다. 블록체인의 개념을 최초로 구현한 암호화폐는 비트코인(Bitcoin)이며, 이후 계속해서 새로운 암호화폐들이 만들어져 시장에 무려 1천여 개가 넘는 암호화폐가 등장했습니다. 수많은 암호화폐들 중 대장으로 꼽히는 것은 역시 원조 암호화폐인 비트코인.. 더보기
4차 산업혁명_블록체인_블록체인은 어떻게 작동할까? 블록체인 메커니즘 블록체인_블록체인은 어떻게 작동할까? 블록체인 메커니즘 블록체인은 사토시 나카모토(Satoshi Nakamoto)가 비트코인을 제안하면서 본격적으로 논의되기 시작한 개념입니다. 그는 비트코인을 구현하는 기술로 블록체인을 제시했습니다. 그가 공개한 논문에 담긴 핵심 주장은 크게 두 가지로 ‘P2P(Peer-to-Peer) 시스템을 통해 전자 거래를 제공하고, 암호 기술과 합의 매커니즘 기반의 검증을 이용해 신뢰기관을 대체하자’는 것이라고 볼 수 있습니다. 그렇다면 블록체인이 신뢰기관 없이 어떻게 소유권을 증명하고 거래를 검증하는 걸까요? 블록체인의 작동 원리에 대해 살펴보도록 하겠습니다. 블록체인은 그 개방 정도에 따라서 크게 공개형(Public) 블록체인, 비공개형(Private) 블록체인, 반공개형(s.. 더보기
4차 산업혁명_블록체인_탈중앙화를 위한 블록체인의 핵심, P2P 시스템 블록체인_탈중앙화를 위한 블록체인의 핵심, P2P 시스템 블록체인의 목적은 간단히 말해 ‘소유물의 권리를 기록하고 증명하는 것’입니다. 그런데 블록체인이 주목받는 이유는 이를 구현하는 독특한 기술적 방식에 있습니다. 사실 블록체인은 기술적으로 보통의 소프트웨어 엔지니어들조차도 쉽게 이해하기 곤란할 정도로 복잡한 내용을 담고 있기 때문에 일반 사용자들이 블록체인을 완전히 이해한다는 것은 불가능에 가깝습니다. 그런 의미에서 블록 체인을 이해하기 위해서 최소한으로 알고 있어야 할 블록체인 기술요소의 핵심을 간단히 살펴보도록 하겠습니다. P2P시스템으로서의 블록체인은 다음과 같은 3가지 특징을 갖고 있습니다. 첫째, 블록체인은 개방성을 갖고 있습니다. 기본적으로 블록체인은 인터넷을 통해 연결된 누구에게나 개방되.. 더보기
코딩 시리즈_4 코딩의 종류 최근 인기를 모으고 있는 블록 기반형 언어 스크래치는 블록 모양의 명령어를 쌓아 프로그래밍을 하는 것입니다. 반면, 우리가 아는 XML, PHP, HTML 등의등의 언어들은 텍스트 기반의 프로그래밍 언어입니다 텍스트 기반의 프로그래밍 언어들은 모든 프로그래밍 명령어를 직접 입력하는 방식을 말합니다. 직접 키보드로 입력해야 하다 보니 키보드 작업에 능숙해야 하고 구문도 복잡하며 오류에도 민감하다는 단점이 있습니다. 예를들어, 간단한 문장을 하나 만들 경우라도 10줄 이상의 명령어를 사용해야 합니다. 하지만 모든 텍스트 기반의 코드가 모두 길고 복잡한 것을 아닙니다. C언어의 경우 길고 복잡한 언어에 속합니다. 그에 반해 파이썬(Python)은 C언어로 수 백 줄을 해야 하는 코딩을 몇십 줄로 해결할 수 있.. 더보기
코딩 시리즈_3 코딩, 무엇부터 시작? 코딩을 배우려고 했지만 무엇부터 시작해야 할지 막막하죠. 코딩 무엇부터 해야 할까요? 앞에서 명령어 모듈들로 마우스로 연결시킨 스크래치와 같은 툴(개발 도구)의 기능에 익숙해지는 것도 코딩의 한 방법입니다. 하지만, 코딩을 보다 더 정확히 표현하자면 컴퓨터 프로그래밍을 배우는 과정이며 알고리즘을 설계해 나가는 과정입니다. 따라서 코딩을 시작하려면 프로그래밍 언어 즉, 개발 언어를 배워야 합니다. 그렇다면 코딩을 배우는 사람들의 질문이 코딩을 배우고 싶은데 어떤 언어부터 해야 할지 궁금해집니다. 우리는 외국인들과 소통하기 위해 영어, 일본어, 중국어와 같이 외국어를 배웁니다. 같은 맥락으로 컴퓨터와 소통하기 위해서 코딩이란 도구를 사용하는 것입니다. 그런데 코딩을 어느 정도 해본 사람이라도 처음에 어떤 언.. 더보기
코딩시리즈_2 코딩하면 얻게 되는 것 스마트폰이나 태블릿이 일반화가 되면서 코딩 교육의 일반화가 가속화되고 있습니다. 1980년대 PC의 대중화와 1990년대 휴대전화, 인터넷의 확산에 따른 디지털 혁명기에 성장세를 지낸 세대를 디지털 네이티브에겐 더울 그렇습니다. 디지털 네이티브(Drgital Native)는 미국의 교육학자 마크 프렌스키(Mark Prensky)가 그의 논문 Digaital Immigrants(2001)에서 디지털 언어와 디지털 장비를 특정 언어의 원어민처럼 자유자재로 구사한다는 측면에서 나온 개념입니다. 과거 특정 분야에서 엔지니어나 숙련된 기능공이 필요했던 시대에서 현재는 인공지능의 역할이 확대되는 시대로 변하고 있고 과거 고도의 전문성을 필요로 하는 의료활동 영역 등에도 기계에 의존하는 일이 많아지고 있어 오늘날에는.. 더보기
코딩 시리즈_1 코딩이란 코딩이란 코딩이란? 앞으로 코딩을 모르면 문맹이다. 문과 출신도 코딩을 배워야 한다. 그럼, 코딩이란? 인공지능, 사물인터넷 즉 4차 산업시대 경쟁력을 갖추기 위해 코딩능력이 필수입니다. 코딩을 배우려면 어떻게 해야 할까요? C언어, java, 파이썬? 대체 무슨 말인지? 도저히 무슨 말인지 어디서부터 어떻게 시작해야 할지 알 수가 없죠. 그럼 코딩은 무엇일까요? 간단히 말하면 컴퓨터가 이해할 수 있는 언어로 입력하는 명령어입니다. 컴퓨터가 이해할 수 있는 언어인 코드(Code)를 사용해 명령과 정보를 만드는 작업이 코딩(coding)입니다. 확장된 의미로 프로그래밍이라고 하죠. 기계의 프로그램이기도 하는데 그 기계가 갖게 될 기능이나 행동을 하게 만드는데 프로그래밍에서 가장 기초적이고 필수적인 작업이라.. 더보기