본문 바로가기
기초지식

인터넷 기초

by godfeeling 2020. 7. 1.

인터넷이란?

 

인터넷(Internet)의 개념

인터넷(Internet)이란 여러 통신망을 하나로 연결한다는 의미의 인터 네트워크(inter-network)’라는 말에서 시작되었으며, 이제는 전 세계 컴퓨터들을 하나로 연결하는 거대한 컴퓨터 통신망을 의미합니다.

이러한 인터넷은 클라이언트와 서버로 구성되며, TCP/IP라는 기본 프로토콜을 통해 제공되고 있습니다.

 

인터넷의 구성

여러 컴퓨터가 각각 클라이언트와 서버로써 서로 연결되어 구성된 망을 컴퓨터 네트워크(computer network)라고 합니다.

인터넷은 이러한 컴퓨터 네트워크가 전 세계적인 규모로 수없이 많이 모여서 이루어진 일종의 컴퓨터 네트워크 시스템입니다.

, 인터넷이란 수많은 클라이언트 컴퓨터와 서버 컴퓨터, 그리고 이들로 구성된 네트워크들의 집합체인 것입니다.

 

인터넷의 특징

1. 인터넷은 서로 동시에 참여할 수 있는 쌍방향 통신을 제공합니다.

 

2. 컴퓨터는 저장이 가능하므로 메시지를 보내는 사람과 받는 사람 모두 시간에 제약을 받지 않고 컴퓨터가 네트워크에 연결만 되어 있다면 언제든지 메시지를 주고 받을 수 있습니다.

 

3. 초기 인터넷에서는 텍스트로만 통신이 가능했지만 현재에는 이미지, 음성, 동영상 등 다양한 포맷으로 통신이 가능합니다.

 

4. 인터넷은 직업이나 사회적 지위, 직책, 인종, 나이 등을 서로 알 수 없는 익명성을 제공합니다.

 

인터넷의 역사

인터넷은 1960년대 미국 국방성에서 군사적인 목적으로 구축한 알파넷(ARPANET)으로부터 시작되었습니다.

 

이후 데이터의 전송 속도가 빠르고 안정적인 TCP/IP 프로토콜을 사용함에 따라 더욱 빠르게 발전하게 됩니다.

 

이러한 소규모 네트워크들이 더욱 발전하고 서로 접속함에 따라 현재는 전 세계적인 거대한 컴퓨터 네트워크의 집합체로 현대인에게 없어서는 안 될 역할을 하고 있습니다.

 

웹이란?

 

(Web)의 개념

월드 와이드 웹(World Wide Web)이란 인터넷에 연결된 사용자들이 서로의 정보를 공유할 수 있는 공간을 의미합니다.

간단히 줄여서 WWWW3라고도 부르며, 간단히 웹(Web)이라고 가장 많이 불립니다.

인터넷과 같은 의미로 많이 사용되고 있지만, 정확히 말해 웹은 인터넷상의 인기 있는 하나의 서비스일 뿐입니다.

하지만 현재에는 인터넷과 웹이라는 단어가 서로 혼용되어 사용될 만큼 인터넷의 가장 큰 부분을 차지하고 있습니다.

 

웹의 특징

웹은 인터넷 상에서 텍스트나 그림, 소리, 영상 등과 같은 멀티미디어 정보를 하이퍼텍스트 방식으로 연결하여 제공합니다.

하이퍼텍스트(hypertext)란 문서 내부에 또 다른 문서로 연결되는 참조를 집어 넣음으로써 웹 상에 존재하는 여러 문서끼리 서로 참조할 수 있는 기술을 의미합니다.

이때 문서 내부에서 또 다른 문서로 연결되는 참조를 하이퍼링크(hyperlink)라고 부릅니다.

웹에서는 HTML이라는 언어를 사용하여 누구나 자신만의 문서를 작성할 수 있습니다.

또한, 이렇게 작성된 웹상의 문서에는 HTTP라는 프로토콜을 사용하면 누구나 검색하고 접근할 수 있습니다.

 

웹의 구성

웹에서는 HTML 언어를 사용하여 작성된 하이퍼텍스트 문서를 웹 페이지(web page)라고 부릅니다.

이러한 웹 페이지들 중에서 서로 관련된 내용으로 작성된 웹 페이지들의 집합을 웹 사이트(web site)라고 합니다.

웹은 이렇게 작성된 수많은 웹 페이지들이 하이퍼링크(hyperlink)를 통해 서로 연결되어 구성됩니다.

사용자가 웹 페이지에 포함된 하이퍼링크를 따라 다른 웹 페이지들로 계속하여 이동하는 것을 웹 서핑(web surfing)이라고 부르며, 이때 사용자가 웹 페이지를 검색하기 위해 사용하는 프로그램을 웹 브라우저(web browser)라고 합니다.

 

웹의 발전

1989년 팀 버너스리가 연구원 간에 아이디어를 주고받을 때 항상 전자 우편이나 파일을 통해 주고받는 것이 비효율적이라고 생각하여 제안한 웹은 공통된 공간에 각자의 정보를 올리고 관리할 수 있는 일종의 정보 관리 시스템에서 시작되었습니다.

이렇게 시작된 웹 1.0에서는 사용자가 웹 사이트에서 미리 분류하고 정리해 놓은 자료들만을 일방적으로 전달받아야 했습니다.

하지만 웹의 발전에 따라 시작된 웹 2.0에서는 사용자가 직접 정보를 생산하고 참여하는 집단 지성의 공간으로 탈바꿈합니다.

2.0은 게시판이나 댓글, 블로그, 그리고 위키백과 등과 같이 사용자가 직접 참여하여 만들어 나가는 서비스에서 찾아볼 수 있습니다.

 

인터넷의 구성 요소

 

인터넷 시스템(Internet System)

여러분이 매일 사용하는 인터넷을 구성하고 있는 시스템을 인터넷 시스템(Internet System)이라고 합니다.

이러한 인터넷 시스템은 다음과 같이 수많은 서버(server)와 클라이언트(client)들로 구성되어 있습니다.

서버(server)란 인터넷 서비스를 제공하는 프로그램이나 컴퓨터를 의미합니다.

웹 시스템에서는 여러분이 컴퓨터나 스마트 폰 등 다양한 기기를 사용하여 방문하는 웹 사이트의 정보를 담고 있는 프로그램이나 컴퓨터를 웹 서버(web server)라고 부릅니다.

클라이언트(client)란 서버가 제공하는 인터넷 서비스를 이용하는 사용자나 사용자가 사용하는 기기를 의미합니다.

웹 시스템에서는 여러분이 여러 웹 사이트를 방문하기 위해 사용하는 웹 브라우저 등을 예로 들 수 있습니다.

 

웹 서버(web server)

웹 서버는 사용자가 요청하는 웹 페이지나 프로그램을 실행하여 해당 파일이나 그 결과를 사용자에게 제공하는 역할을 합니다.

사용자가 요청하면 언제나 웹 서비스를 제공해 줘야 하므로, 웹 서버는 항상 실행되어 있어야 합니다.

 

웹 브라우저(web browser)

웹 브라우저란 웹 서버에서 웹 페이지를 가져오거나 웹 서버로 정보를 보낼 때 사용하는 프로그램입니다.

웹 브라우저는 사용자가 웹 페이지를 요청하면 웹 서버에 저장되어 있는 웹 페이지 정보를 불러와서 사용자의 화면에 출력해 줍니다.

전 세계적으로 다양한 웹 브라우저들이 사용되고 있으며, 대표적인 웹 브라우저로는 인터넷 익스플로러, 구글 크롬, 파이어폭스, 사파리, 오페라 등이 있습니다.

 

인터넷 주소 체계

 

프로토콜(protocol)

프로토콜(protocol)이란 컴퓨터끼리 정보를 주고받기 위한 일종의 규칙이나 약속을 의미합니다.

우리가 보통 다른 사람과 대화하려고 할 때는 사용할 언어나 장치 등을 서로 일치시켜야만 원할한 대화를 할 수 있습니다.

이와 마찬가지로 컴퓨터끼리도 정보를 교환할 때 데이터의 형식이나 통신 순서 등을 미리 일치시켜야만 통신이 가능합니다.

이렇게 컴퓨터 사이의 통신에서 정보를 교환하기 위해 미리 만들어 둔 네트워크 통신 규약을 프로토콜이라고 부릅니다.

대표적인 프로토콜에는 인터넷에서 사용되는 TCP(Transmission Control Protocol)IP(Internet Protocol), 웹에서 사용되는 HTTP(HyperText Transfer Protocol), 파일을 주고 받을 때 사용되는 FTP(File Transfer Protocol) 등이 있습니다.

 

인터넷 주소

인터넷 상에서 특정 컴퓨터나 서버를 찾기 위해서는 다음 두 가지 타입의 주소 중 하나를 알고 있어야만 합니다.

 

1. IP 주소(Internet Protocol address)

2. 도메인 네임(Domain Name)

 

IP 주소(Internet Protocol address)

인터넷 상에는 수많은 컴퓨터와 서버들이 무수히 많이 연결되어 있습니다.

이렇게 많은 컴퓨터들이 인터넷 상에서 서로를 인식하기 위해 지정받은 식별용 번호가 바로 IP 주소입니다.

현재 사용되고 있는 IP 주소 체계는 IPv4(IP 버전4)0부터 255까지의 십진수 네 개를 점(.)으로 구분하여 사용합니다.

32비트의 주소 체계인 IPv4는 이론상 약 43억 개의 IP 주소를 나타낼 수 있지만, 인터넷의 급격한 발달에 따라 IP 주소가 부족해지는 현상이 발생합니다.

따라서 이에 대한 해결책으로 고안된 128비트의 주소 체계인 IPv6(IP 버전6)의 사용이 점점 증가되고 있는 추세입니다.

 

도메인 네임(Domain Name)

IP 주소는 '202.179.177.22'처럼 0부터 255까지의 십진수 네 개로 구성되기 때문에 사람이 외우기가 매우 어렵습니다.

 

이처럼 외우기 어려운 숫자 형태의 IP 주소를 사람이 기억하기 쉬운 문자 형태로 표현한 주소를 도메인 네임(Domain Name)이라고 합니다.

도메인 네임은 'naver.com'처럼 몇 개의 의미있는 문자들과 점(.)의 조합으로 구성됩니다.

이러한 도메인 네임은 네트워크 상에서 각각의 컴퓨터를 식별할 수 있게 해주는 호스트명이 됩니다.

 

도메인 네임 시스템(Domain Name System, DNS)

도메인 네임은 오로지 사람이 외우기 쉽도록 만든 주소로 컴퓨터는 사실 그 의미를 이해할 수 없습니다.

 

따라서 도메인 네임을 실제 IP 주소로 변경해 주어야만 컴퓨터가 목적지를 제대로 찾아갈 수 있습니다.

이때 사용할 수 있도록 미리 도메인 네임과 함께 거기에 해당하는 IP 주소값을 한 쌍으로 저장하고 있는 데이터베이스를 DNS라고 부르며, 이 변환 과정은 네트워크 내부에서 자동으로 수행됩니다.

 

검색 엔진

 

검색 엔진(search engine)

인터넷 초기에는 모든 웹 서버를 하나의 목록으로 만들어 관리할 만큼 자료의 양이 많지 않았기 때문에 그 중에서 원하는 자료를 찾는 것이 어렵지 않았습니다.

 

하지만 인터넷 환경이 점점 발달함에 따라 웹 상에는 엄청난 양의 자료들이 넘쳐나기 시작했고, 이 방대한 자료 중에서 자신이 원하는 자료를 찾는 것은 매우 힘든 일이 되었습니다.

웹에 존재하는 많은 양의 정보 중에서 사용자가 원하는 정보만을 여러 웹 사이트나 웹 페이지 등에서 검색해 주는 시스템이나 프로그램 등을 통틀어 검색 엔진(search engine)이라고 합니다.

이러한 검색 엔진은 사용자가 원하는 정보를 웹에서 찾는데 걸리는 시간을 최소화할 수 있게 도와줍니다.

 

검색 엔진의 동작 원리

검색 엔진은 크게 정보 수집, 색인 그리고 검색의 순서로 동작합니다.

검색 엔진은 사용자가 검색 엔진을 사용하기 전에 미리 웹 상에서 정보를 수집하여 색인을 만들어 놓습니다.

그리고나서 사용자가 찾고자 하는 정보의 키워드를 입력하면, 미리 만들어 놓은 색인 중에서 입력된 키워드에 해당하는 정보들을 찾아서 보여주는 것입니다.

현재 대부분의 검색 엔진에서는 웹상의 방대한 정보들을 검색하고 색인화하는 과정을 크롤러(crawler)라고 부르는 정보 수집 프로그램을 사용하여 수행하고 있습니다.

이러한 크롤러가 주기적으로 웹에 접속된 사이트들을 방문하여 해당 웹 사이트가 가지고 있는 정보에 대해 색인을 작성한 후 그것을 데이터베이스에 저장하여 검색 시 활용하게 됩니다.

 

검색 엔진의 종류

검색 엔진의 종류는 웹에서 수집한 정보를 색인하는 방법에 따라 크게 다음과 같이 나눌 수 있습니다.

 

1. 로봇 검색 엔진

 

크롤러라고 불리는 로봇을 이용하여 웹상의 데이터를 효율적으로 수집하고, 이렇게 수집한 데이터를 키워드(keyword) 색인을 통해 사용자에게 제공하는 검색 엔진입니다.

Google이나 Naver 등 현재 사용되는 대부분의 검색 엔진이 이 방식을 채택하고 있습니다.

 

2. 디렉토리 검색 엔진

 

주제 분류에 의한 검색(디렉토리 서비스)을 제공하는 검색 엔진이며, 데이터의 분류를 사람이 직접 수행해야 합니다.

현재 주류인 방식은 아니며, 1990년대 Yahoo 등에서 사용되었습니다.

 

3. 메타 검색 엔진

 

자체적으로는 정보를 보유하고 있지 않으면서 사용자가 입력한 키워드를 복수의 다른 검색 엔진으로 전송하여 결과를 얻고, 그 결과들을 종합하여 표시만 해 주는 검색 엔진입니다.

여러 검색 엔진의 결과를 동시에 보여주기 때문에 결과를 한눈에 살펴보기에는 편하지만, 메타 검색이라는 과정을 한 번 더 거쳐야 하므로 속도가 느릴 수 있습니다.

 

검색 엔진 최적화(Search Engine Optimization, SEO)

다양한 타입의 검색 엔진이 자신만의 방법으로 웹상의 수많은 웹 페이지에서 자료를 수집하여 사용자에게 그 결과를 제공하고 있습니다.

이러한 검색 결과의 상위에 자신의 웹 페이지가 노출되기 위해서는 각 검색 엔진이 자료를 수집하고 검색 결과를 산출하는 방식에 맞춰 웹 페이지의 구성을 조정해야만 합니다.

이렇게 각각의 검색 엔진에 맞춰 웹 페이지 내의 키워드(keyword)나 링크(link) 등을 최적화하는 작업을 검색 엔진 최적화(SEO)라고 합니다.

검색 엔진의 검색 결과 상위에 웹 페이지가 노출되면 자연스럽게 해당 웹 페이지의 방문자가 늘어나므로, 현재는 중요한 웹 마케팅의 일환으로 생각되고 있습니다.

 

소셜 네트워크 서비스(SNS)

소셜 네트워크 서비스(Social Network Service, SNS)란 웹 상에서 사회적 네트워크를 구축하여 사람들이 각자의 의견과 생각, 경험, 관점 등을 서로 공유할 수 있도록 해주는 서비스나 웹 사이트 등을 통틀어 가리킵니다.

또한 넓은 의미로는 코멘트(comment)나 트랙백(trackback) 등의 커뮤니케이션 기능을 가지고 있는 블로그(blog)나 전자게시판 등도 소셜 네트워크 서비스에 포함될 수 있습니다.

우리가 접할 수 있는 대표적인 SNS로는 페이스북, 인스타그램, 트위터, 카카오 스토리, 밴드, 등을 들 수 있습니다.

 

SNS 기본 기능

SNS가 가져야 하는 기본적인 기능은 다음과 같습니다.

1. 프로필(profile) 기능

2. 메시지(message) 기능

3. 타임라인(timeline) 기능

4. 사용자 상호 링크(user link) 기능

5. 사용자 검색(user search) 기능

6. 설문 조사(survey) 기능

7. 커뮤니티(community) 기능

위와 같은 기능을 가진 서비스나 웹 사이트들을 SNS 또는 소셜 미디어라고 부를 수 있습니다.

 

SNS의 사회적 가치

인터넷과 스마트폰의 보급으로 최근 수많은 형태의 다양한 SNS들이 서비스되고 있으며, 이에 따라 SNS 이용자도 급증하고 있는 추세입니다.

이러한 SNS가 사회적인 측면에서 우리에게 미치는 영향은 다음과 같습니다.

1. SNS는 기존에 이미 알고 지내던 오프라인의 사회적 관계를 더욱 강화시켜 주고, 온라인을 통해 새로운 관계를 쉽게 맺을 수 있도록 도와줍니다.

2. SNS에서는 시간과 장소의 제약 없이 정보를 교환할 수 있으므로, 일반적인 뉴스에 비해 더욱 빠른 정보 전달이 가능합니다.

3. 특정 이슈에 관해 다수의 이용자에게 매우 빠르게 정보를 전달할 수 있으므로, 실시간으로 여론을 형성하여 그 파급력을 증대시킬 수 있습니다.

 

SNS의 문제점

많은 사람들을 연결해 주는 SNS는 다음과 같은 문제점을 가지고 있습니다.

1. 사진이나 이름과 같은 개인정보가 무분별하게 공개되어 자칫 범죄에 악용될 소지가 있습니다.

2. SNS에는 대부분 자신의 행복하고 좋았던 일들만을 올리는 경향이 크므로, 타인과 자신을 비교하여 자신의 처지를 비관하거나 우울해 질 가능성이 있습니다.

3. SNS에는 누구나 아무런 검증 없이 정보를 올릴 수 있으므로, SNS에 올라가 있는 정보가 맞는 정보인지 아닌지를 판단하기가 매우 힘듭니다.

 

클라우드 컴퓨팅(cloud computing)

클라우드 컴퓨팅(cloud computing)이란 인터넷상의 네트워크를 경유하여 사용자에게 컴퓨터 자원을 서비스의 형태로 제공하는 시스템을 의미합니다.

, 사용자는 인터넷 상에 데이터를 저장해 놓고 언제 어디서나 필요할 때 저장된 정보를 사용하거나, 필요한 프로그램을 자신의 컴퓨터에 따로 설치하지 않고도 인터넷을 통해 이용할 수 있습니다.

클라우드 컴퓨팅에서 대부분의 작업은 전 세계에 분산되어 위치한 데이터 센터(data center)라는 곳에서 수행되며, 사용자의 컴퓨터는 단순히 클라우드에 접속할 수 있는 최소한의 환경을 제공해 주는 것입니다.

 

클라우드 컴퓨팅의 분류

클라우드 컴퓨팅은 제공하는 서비스의 종류에 따라 다음과 같이 분류할 수 있습니다.

 

1. 서비스로서의 소프트웨어(Software as a Service, SaaS)

: SaaS란 인터넷을 경유하여 소프트웨어 패키지를 제공하는 서비스를 의미하며, 사용자는 응용 프로그램을 실행하는 플랫폼과 인프라스트럭쳐를 관리할 필요없이 자신의 컴퓨터에서 단순히 해당 응용 프로그램을 실행하여 이용할 수 있습니다.

) 네이버 클라우드, 드롭박스(Dropbox), 구글 드라이브(Google Drive)

 

2. 서비스로서의 플랫폼(Platform as a Service, PaaS)

: PaaS란 인터넷을 경유하여 응용 프로그램 개발을 위한 플랫폼을 제공하는 서비스를 의미하며, 사용자는 가상화된 응용 프로그램 서버나 데이터베이스 등을 제공받아 자신의 응용 프로그램을 설치하여 운영할 수 있습니다.

) 구글 App 엔진, MS사의 Windows Azure, 헤로쿠(Heroku)

3. 서비스로서의 인프라스트럭쳐(Infrastracture as a Service, IaaS) 또는 HaaS(Hardware as a Service)

: IaaS란 인터넷을 경유하여 하드웨어나 인프라스트럭쳐를 제공하는 서비스를 의미하며, 사용자는 서버 가상화나 공유 디스크 등을 제공받아 자신만의 시스템을 도입하고 구축할 수 있습니다.

) 아마존 웹 서비스(AWS)EC2, IBM사의 SoftLayer

 

클라우드 컴퓨팅의 장점

1. 초기 환경을 위한 구입 비용이나 구축 비용이 적게 듭니다.

2. 다양한 기기에서 일관성 있는 사용자 환경을 구축할 수 있습니다.

3. 하드웨어나 프로그램에 대한 전문적인 지식이 없이도 쉽게 사용할 수 있습니다.

 

클라우드 컴퓨팅의 단점

1. 서버의 데이터에 사용자 이외의 인증되지 않은 접근이 있을 가능성이 있으며, 서버의 데이터가 손상되면 해당 데이터를 복구할 방법이 없습니다.

2. 제공받은 서비스에서 사용자가 원하는 프로그램을 설치하지 못하거나 사용할 수 없는 경우가 발생할 수 있습니다.

3. 사용자의 통신 속도에 따라 서비스를 이용할 때 제약이 발생할 수 있습니다.

 

SaaS 서비스

클라우드 컴퓨팅 서비스 중 여러분이 실생활에서 많이 접하게 될 서비스는 바로 SaaS 서비스입니다. 현재 많이 사용되고 있는 대표적인 SaaS 서비스는 다음과 같습니다.

1.네이버 클라우드 : 한국의 대표적인 포탈 사이트인 네이버에서 운영하고 있는 파일 저장 서비스

2.드롭박스(Dropbox) : 해외뿐만 아니라 국내에서도 많이 사용되고 있는 웹 기반의 파일 공유 서비스

3.구글 드라이브(Google Drive) : 구글에서 제공하는 협업 도구 및 파일 공유 서비스

 

가상현실(virtual reality, VR)

 

가상현실(VR)이란 사용자의 오감을 포함한 여러 감각을 자극함으로써 실제는 아니지만 실제와 매우 유사한 환경을 인공적으로 만들어내는 기술을 일컫습니다.

사용자는 가상현실에 참여할 수 있을 뿐만 아니라 이러한 가상현실 속의 여러 객체와 상호작용도 할 수 있습니다.

현재는 스마트폰과 콘솔 게임기를 중심으로 다양한 VR 상용화 기기들이 출시되고 있습니다.

 

증강현실(augmented reality, AR)

증강현실(AR)이란 컴퓨터를 통해 사람이 느끼는 현실을 확대하는 기술로 실제 환경에 가상의 정보를 합성하여 보여주는 기술을 의미합니다.

사용자는 현실 세계를 기반으로 한 환경에서 가상의 정보를 얻거나 가상의 사물과 상호작용도 할 수 있습니다.

2016년에 기록적인 흥행을 기록한 스마트폰 게임인 포켓몬 고(Pokemon GO)가 대표적인 증강현실을 이용한 게임입니다.

 

가상현실과 증강현실의 차이점

가상현실(VR)은 완전한 별도의 가상 세계를 만들어내 사용자가 그 안에서 여러 가지 행동을 자유롭게 취할 수 있게 해주지만, 증강현실(AR)은 현실 세계에 가상의 정보를 겹쳐 보여주므로 사용자가 평소와 똑같이 행동하면서도 실시간으로 여러 가상의 물체와 상호작용을 취할 수 있어 현실 세계의 효과를 더욱 극대화해줍니다.

현재 단순히 게임과 같은 특정 분야에서만 활용되고 있는 가상현실과는 달리 증강현실은 현실 세계의 다양한 분야에서 응용될 수 있으며, 특히 차세대 유비쿼터스 환경에서의 디스플레이 기술로 주목받고 있습니다.

 

비트코인(bitcoin, BTC)

비트코인(BTC)이란 사토시 나카모토라는 인물이 작성한 논문을 바탕으로 2009년부터 운용되기 시작한 최초의 온라인 암호화폐(cryptocurrency)입니다.

 

비트코인은 P2P(Peer-to-Peer) 방식을 사용하여 정부나 중앙은행의 개입없이 전 세계적으로 개인들 간의 금융거래를 자유롭게 수행할 수 있도록 설계되었으며, 기존의 일반 화폐와는 달리 향후 100년간 발행될 화페의 총량이 2100만 개로 미리 정해져 있는 특징이 있습니다.

2009년 비트 코인의 소스가 공개되어 이더리움(ethereum), 리플(ripple), 비트코인 캐시, 에이다 등 다양한 종류의 대안화폐(altcoin)들이 개발되어 운용되고 있습니다.

 

블록체인(blockchain)

비트코인 네트워크에서는 사용자 간의 거래가 발생할 때마다 네트워크에 참여하고 있는 모든 이에게 그 사실을 알립니다.

 

이러한 거래 과정은 블록(block)이라는 단위로 구분되며, 한 블록은 약 10분 단위의 비트코인 거래 내역을 모은 것입니다.

블록체인(blockchain)이란 현재까지 생성된 블록을 모두 이어놓은 것으로 현재까지 발생한 모든 비트코인의 거래 내역이 시간순으로 정리된 일종의 거래 장부 역할을 합니다.

이러한 블록체인 기술은 분산 데이터베이스 환경에 저장되므로 누구나 열람할 수 있지만, 어느 누구도 임의로 수정할 수는 없게 되어 데이터의 위변조를 방지할 수 있는 기술입니다.

블록체인 기술은 세계경제포럼에서 선정하는 201610대 유망 기술의 하나로 선정되기도 했습니다.

 

비트코인 채굴(mining)

기존의 일반 화폐는 중앙은행에서 통화를 찍어내지만, 비트코인은 컴퓨터를 이용하여 암호화된 문제를 풀면 비트코인의 일정량이 만들어지도록 설계되어 있습니다.

이때 많은 문제가 풀리면 풀릴수록 다음 문제의 난이도는 점점 더 높아지고, 블록체인 기술로 인해 전체 비트코인 시스템의 보안성은 더욱 강화되는 특징을 가지게 됩니다.

비트코인에서는 거래가 일어날 때마다 네트워크에 참여하고 있는 모든 이에게 그 사실을 전파하며, 이렇게 전파된 거래 기록을 블록(block) 단위로 공식화하는 과정이 바로 채굴(mining)입니다.

비트코인 채굴 작업에는 SHA-256이라는 해시 함수(hash function)가 사용되며, 이 함수는 입력된 숫자나 문자열을 256비트의 이진수로 바꾸어 출력해줍니다.

이 해시 함수에 이전 블록의 해시 값과 현재 블록의 거래 내역들(transactions), 그리고 임의의 숫자인 nonce를 입력하여 얻은 결괏값이 주어진 숫자보다 작도록 만들어주는 임의의 숫자 nonce를 찾는 것이 바로 채굴 작업입니다.

, 임의의 숫자 nonce의 값을 계속 변경하여 해시 함수에 대입하고, 그 실행 결과가 주어진 숫자보다 작아질 경우 가장 먼저 값을 찾은 채굴자는 그 결괏값을 이웃 채굴자에게 알리고 다른 채굴자들에게 정답으로 받아들여지면 보상으로 비트코인을 얻게 됩니다.

하지만 이러한 채굴 과정은 공식 같은 것을 이용하여 답을 구할 수 있는 것이 아니라, 대략 1077이 넘는 모든 경우의 수를 일일이 대입해 보는 수밖에 없습니다.

따라서 초창기에는 단순 작업을 빠르게 수행하기 위해 고사양의 그래픽 카드를 여러 대 연결하여 채굴 작업을 수행하기도 했지만, 요즘에는 ASICFPGA와 같은 전문 채굴기를 이용하여 채굴 작업을 수행하고 있습니다.

 

비트코인의 미래

비트코인은 기존 화폐에 비해 개인간의 거래가 자유로우며, 그 거래의 내역이 투명하게 보장됩니다.

하지만 비트코인은 정부나 중앙은행 등 통제의 주체가 없고 실물이 없으므로, 안정성이 떨어지는 단점도 가지고 있습니다.

2018년 현재 세계 각국의 암호화폐에 대한 정부 규제가 본격화되고 있으며, 일본 등지에서는 해킹이나 거래소 사기와 같은 예상치 못한 사건도 발생하고 있습니다.

이렇게 복잡한 현 상황에서 비트코인의 미래를 정확하게 예측하기란 쉽지 않습니다.

하지만 비트코인과 같은 암호화폐의 미래는 규제를 넘어 얼마나 암호화폐 자체의 효용성을 입증하느냐에 달려 있을 것입니다.

이러한 새로운 기술들이 우리의 삶을 얼마나 바꿔줄 수 있을지를 실제로 증명해야만 시장에서 살아남을 수 있을 것입니다.

 

사물인터넷(Internet of Things, IoT)

 

사물인터넷(loT)이란 인터넷을 기반으로 모든 사물을 연결하여 사람과 사물, 사물과 사물 간에 정보를 교류하고 상호 소통하는 지능형 기술 및 서비스를 의미합니다.

, 모든 사물에 센서를 부착함으로써 인터넷을 통해 각각의 사물들이 실시간으로 데이터를 주고받아 스스로 분석하고 학습한 정보를 사용자에게 제공하거나 사용자가 연결된 사물들을 원격으로 조정할 수 있는 기술을 의미합니다.

현재 사물인터넷은 우리 생활에 가장 밀접한 스마트 홈 분야에서 아마존 Echo, 구글 Home, KT 지니 등이 상업적인 서비스를제공하고 있으며, 스마트 공장, 자율 주행 자동차나 웨어러블 디바이스 시장 등으로 점차 그 영역을 넓혀가고 있는 추세입니다.

 

사물인터넷을 가능하게 하는 기술들

1. 사물 식별(addressability)

: 사물인터넷에 연결되는 사물들은 다른 사물과 구별될 수 있도록 자신만의 고유한 아이디가 필요하며, 현재는 각각의 사물에 개별적인 IP 주소를 할당함으로써 개개의 사물을 식별하고 있습니다.

 

2. 감각 부여 및 정보 교환(Wireless Sensor Network, WSN)

: 사물에 다양한 센서를 장착하여 주변 환경 및 사물의 변화를 재빨리 알아챌 수 있어야 하며, 시각, 청각 등과 같은 오감 외에도 습도나 평형 감각과 같은 여러 감각으로 확장할 수 있습니다.

또한, NFC, RFID, ZigBee 등과 같은 기술들을 통해 각각의 사물들이 취합한 정보를 다른 사물들과 서로 교환하여 새로운 정보를 이끌어 낼 수 있습니다.

 

3. 사물 조정(control)

: 사물들이 제공한 정보를 바탕으로 사용자가 직접 각각의 사물들에게 행동을 지시할 수 있어야 하며, BLE, Wi-Fi, Z-Wave 등과 같은 기술들을 사용하여 사물들을 조정할 수 있습니다.

 

사물인터넷 서비스 - 스마트 홈

스마트 홈(Smart Home)이란 개인 주택의 자동화를 지원하는 시스템을 의미하며, 집안의 여러 전자 제품들을 사용자가 원격으로 제어하고 사용할 수 있는 시스템을 가리킵니다.

이러한 스마트 홈 네트워크가 구현된 건물은 외부에서 사용자가 건물 내부에 켜놓은 전등을 끄거나, 퇴근 전에 보일러를 미리 켜두거나, 외출 시 집안에 도둑이 들었는지 여부를 실시간으로 감시할 수 있습니다.

현재 스마트 홈에 대한 연구가 활발히 진행되어 아마존 Echo, 구글 Home, SK 누구(NUGU), KT 기가 지니 등의 여러 상업적인 서비스가 개발되어 판매되고 있습니다.

 

사물인터넷 서비스 - 스마트 공장

스마트 공장(Smart Factory)이란 제조업과 같은 전통 산업에 사물인터넷을 결합하여 생산 시설들을 네트워크화한 지능형 생산 시스템을 의미합니다.

독일에서는 2011년부터 인더스트리 4.0(industry 4.0)이라는 정책을 통해 국가 주도하에 스마트 공장으로의 변화에 관한 여러 정책들을 시행하고 있습니다.

 

사물인터넷 서비스 - 자율 주행 자동차

자율 주행 자동차(Autonomous Vehicles)란 자동차에 사물인터넷을 결합하여 운전자 없이 자동차가 혼자서 주행할 수 있는 시스템을 의미합니다.

자율 주행에는 센서, 제어, 인식, 인공지능, 클라우드, 통신, 보안 등 여러 가지 최신 기술이 복합적으로 사용되고 있습니다.

자율 주행 자동차는 세계경제포럼에서 선정하는 201610대 유망 기술의 하나로 선정되기도 했습니다.

현재 벤츠, 구글, 아우디, 테슬라와 같은 기업 등에서 연구가 활발히 진행되어 상용화 직전까지 도달하였습니다.

 

사물인터넷 서비스 - 웨어러블 디바이스

웨어러블 디바이스(wearable device)란 안경, 시계 등과 같이 몸에 착용할 수 있는 형태의 컴퓨팅 시스템을 의미합니다.

이 시스템은 단순히 디바이스를 착용하는 것을 넘어 주변 환경 및 착용자의 신체 변화까지도 실시간으로 수집하여 활용할 수 있게 해줍니다.

현재 구글 글래스(Google Glass), 나이키 퓨얼밴드(Nike+ FuelBand), 삼성 기어 핏 등과 같이 다양한 상용화 제품들을 만나볼 수 있습니다.

 

빅 데이터(big data)

빅 데이터(big data)란 지금까지 통상적으로 사용되어 온 데이터 관리나 처리 방식의 수용 한계를 넘어서는 방대하고 복잡한 데이터의 집합을 의미하며, 그 크기가 끊임없이 변화하는 것이 특징입니다.

또한, 근래에는 이러한 데이터로부터 다양한 가치를 추출하고 분석하는 기술까지도 함께 가리키고 있습니다.

다양한 종류의 데이터로부터 가치있는 정보를 찾을 수 있는 가능성이 제시되면서, 세계 경제 포럼에서는 201210대 유망 기술의 하나로 빅 데이터를 선정하는 등 전 세계적으로 많은 관심을 받고 있습니다.

 

빅 데이터의 분석 기술

빅 데이터의 특징은 데이터의 규모(Volume), 다양성(Variety), 속도(Velocity), 정확성(Veracity) 등으로 구분하여 살펴볼 수 있습니다.

이러한 특징을 가지는 빅 데이터를 분석하기 위한 기술은 다음과 같습니다.

 

1. 데이터 마이닝(data mining)

: 빅 데이터 안에서 통계학, 패턴 인식, 인공지능 등의 데이터 분석 기법을 총망라하여 지식을 추출하는 기술을 의미합니다.

2. 머신 러닝(machine learning)

: 인공 지능 연구 과제 중 하나로, 인간이 자연스럽게 수행하는 학습이라는 능력을 컴퓨터로 구현하는 기술을 의미합니다.

머신 러닝에 대한 더 자세한 사항은 딥 러닝 과목의 머신 러닝 수업에서 확인할 수 있습니다.

3. 자연어 처리(natural-language processing, NLP)

: 인간이 사용하는 언어를 분석하여 컴퓨터가 이해할 수 있는 형태로 만들거나 그러한 형태에서 다시 인간이 이해할 수 있는 언어로 표현하는 기술을 의미합니다.

위와 같은 분석 기술들을 사용하여 빅 데이터를 처리하기 위한 프레임워크에는 아파치의 하둡(Apache Hadoop)이 대표적이며, 이렇게 분석된 데이터를 시각적으로 표현하기 위한 프로그램에는 R언어가 많이 사용되고 있습니다.

 

빅 데이터 사례 - 구글의 맞춤형 광고

구글에서는 사용자 개개인의 검색 트래픽과 함께 사진, 동영상과 같은 미디어 데이터의 사용 내역을 바탕으로 사용자의 기호에 맞는 맞춤형 광고를 자동으로 생성하여 보여줍니다.

빅 데이터 사례 - 독일 축구 대표팀의 월드컵 우승

독일 축구 대표팀은 2014년 브라질 월드컵을 준비하면서 선수별로 4개의 센서를 몸에 부착하고 경기 중 그들의 호흡수, 맥박 등을 측정하여 경기당 약 4,968만 개씩의 데이터를 수집하여 저장합니다.

이 데이터를 바탕으로 선수들의 움직임을 경기장 화면에 색의 진하기로 표시하는 히트맵(heat map)으로 작성하고, 이를 바탕으로 선수들의 활동 반경과 활동량을 한눈에 파악하여 좀 더 과학적인 전략을 수립할 수 있게 되었습니다.

그 결과 2014년 브라질 월드컵에서 독일 축구 대표팀은 무패로 우승을 차지할 수 있었습니다.

빅 데이터 사례 - 인간 게놈 프로젝트

인간 게놈 프로젝트(Human Genome Project, HGP)의 완성을 위한 그 모든 과정에 약 10년 정도의 시간이 걸렸지만, 지금은 그 모든 과정을 일주일이 안되서 완료할 수 있습니다.

DNA 시퀀서(DNA sequencer)DNA 배열 순서 규명(sequencing)을 자동화한 기구로 빅 데이터 분석 기법을 응용하여 과거 10년간의 배열 순서 규명에 걸리는 비용을 약 1/10000로 줄여주었습니다.

 

'기초지식' 카테고리의 다른 글

딥러닝 기초  (0) 2020.07.01
코딩 기초  (0) 2020.07.01

댓글