블록체인 개요

김주언·2022년 7월 6일
0

Web 3.0

목록 보기
1/4
post-thumbnail

1. Web의 역사

1.1 Web 1.0

최초의 인터넷은 웹 1.0이라 알려진 것에 기반하고 있다.

웹 1.0은 웹 2.0이 유행하기 전의 월드 와이드 웹 상태를 말한다. '월드 와이드 웹'(World Wide Web, WWW)은 알려진 대로 인터랙티브 콘텐츠 없이 단순한 정보만을 포함한 정적 웹사이트의 집합이다. 1994년부터 2004년까지의 기간 동안에 있었던 대부분의 웹사이트가 이에 해당한다. 이때 사용자들은 카테고리에서 원하는 자료를 찾는 행동만 했었다. 굉장히 단순해서 평균 50K 정도의 대역이다.

1990년대 초만 하더라도 웹사이트는 정보만을 표시할 수 있는 정적인 HTML 페이지로 만들어졌으며, 사용자가 데이터를 변경할 방법은 없었다. AOL채팅, MSN메신저, 알타비스타, Ask Jeeves이 웹1.0 당시 대세였지만, 속도는 매우 느렸다. 1990년대 후반에 이르러 모든 것들이 더욱 상호작용적인 인터넷으로 변해가기 시작했다.

1.2 Web 2.0

웹 2.0은 사용자들의 참여, 공유, 개방을 유도하여 그 산출물을 공유하고 외부에 개방할 수 있도록 하는 서비스이다.

웹 2.0을 통해 사용자는 데이터베이스, 서버 사이드 프로세싱, 서식 및 소셜 미디어를 통해 상호작용할 수 있었다. 이는 정적인 웹을 보다 동적인 웹으로 변화시켰다. 웹 2.0은 서로 다른 사이트와 애플리케이션 사이에서 사용자가 생성한 콘텐츠와 상호 운용성을 더욱 강조하게 되었다. 사용자가 직접 정보를 생산하면서 쌍뱡향으로 소통하게 되었다.

2000년대 중반에 이르러 대부분의 웹사이트는 웹 2.0으로 전환되었다. 예로는 게시판, 댓글, 블로그, 지식 백과 등이 있다.


1.3 Web 3.0

웹 3.0은 컴퓨터가 시맨틱 웹 기술을 이용하여, 웹 페이지에 담긴 내용을 이해하거나 개인 맞춤형 정보를 제공할 수 있는 지능형 웹 기술을 말한다.

즉 이제 컴퓨터가 알아서 이용자가 원하는 정보를 보여주는 역할을 한다. 애플리케이션이 더 많은 기기에서 구애받지 않고 실행될 수 있게 할 것이며, 이는 추가 개발 비용 없이 다양한 유형의 하드웨어와 소프트웨어에서 실행될 수 있다.

웹 3.0은 블록체인, 오픈 소스 소프트웨어와 가상 현실, 사물 인터넷(IoT) 등과 같은 피어-투-피어(P2P) 기술을 활용할 수 있다. 또한 컴퓨터가 이해할 수 있는 데이터가 중심이 되고, 지능적 사고가 가능해진 컴퓨터가 필요 없는 정보를 스스로 제외시켜 사용자는 원하는 것과 가까운 결과만을 볼 수 있게 된다.

개인화, 지능화, 상황인식 등이 웹 3.0의 대표 키워드로 인터넷에서의 엄청난 양의 정보를 추출해서 그중에 내가 지금 필요한 정보와 지식만 보여주는 맞춤형 웹의 시대가 웹 3.0이다.

  • 웹 3.0(Web 3.0)이란 컴퓨터가 시맨틱 웹 기술을 이용하여 웹페이지에 담긴 내용을 이해하고 개인 맞춤형 정보를 제공할 수 있는 지능형 웹 기술을 말한다. 지능화, 개인화된 맞춤형 웹
  • 웹 3.0은 모든 자료와 정보를 분산화하여 현재 집중화된 권력과 데이터를 개인에게 되돌려주는 차세대 네트워크 구조를 의미하며, 블록체인 기반 기술을 중점으로 하여 말 그대로 탈중앙 웹을 구현하는 것을 목표로 한다.


2. 블록체인

2.1 블록체인 개념

블록체인은 일종의 가계부라고 생각하면 된다.

예를 들어 내가 수현이한테 만원을 빌렸다. 그러면 가계부에 '수현이한테 만원 줘야함'이라고 쓰는것이다. 써둔 다음에 내가 희원이한테 커피를 사준다. 그러면 '희원이한테 오천원 줬다' 라고 쓴다.

이렇게 계속 뭘 자꾸 쓰다보면 누가 누구에게 뭘 주었고, 뭘 빌렸고 어쩌구저쩌구 돈 얘기하는 대량의 데이터가 될 것이다. ㅇㅋ 그럼 나 이제 수현이한테 얼마줘야할지 좀 알아보려고 가계부를 막 뒤진다. 보니까 만원을 줘야한다고 써놨네?

그런데 잠만 내가 가계부를 썼다는 것은... 나를 믿는다는 건가...? 아니 나보다 수현이가 믿음직할지도..? 아니 희원이가 더 믿음직할지도...?

그리고 또 누군가를 뽑아서 가계부를 쓰게 한다고 해도.. 나중에 그거 내용 고치면..? 수현희원이 까맣게 잊은 사이에 내가 '수현희원한테 만원씩 받아야함' 이라고 거짓말치고 수현희원이 속으면...? 나만 개이득..?

문제가 생겼다!!!!!!!

  1. 가계부를 누가 쓸까
  2. 가계부를 나중에 몰래 고치면 어떡함 ㅜ?

이거 이제 어캄!!!!

2.1.1 암호화

어떡하냐면 이런식으로 누군가 내용을 바꾸는 것을 방지하기 위해서 가장 간단하게는 그 내용을 완전히 lock 해버리는 것이고, 이는 암호화를 통해서 구현한다.

암호화도 여러가지 방법이 있는데, 주로 해싱을 사용한다.
해싱이 어떤 거나면... 단방향 암호화고.,,, 더 이상의 자세한 설명은 생략한다.

아무튼 그래서 해싱을 사용해서 가계부를 잠궈버리면 이제 아무도 그 내용은 못 건들게 되는거다. 짱이죠

그래서 가계부랑 블록체인이 뭔 상관이냐고
싶은 기분이 든다. 예를 들어보겟따


2.2 예시

가계부를 쓰고 그 내용을 해시로 만들어버릴거다

2.2.1 블록 생성

사진을 보면 data에 내용을 썼고, 해당 내용이 바뀜에 따라서 해시값도 계속해서 변한다. 해시값을 생성할 때 Nonce 또한 영향을 주기 때문에 Data뿐만 아니라 Nonce 또한 해시 생성의 구성요소가 되는것이다.

이때 Block difficulty를 보면 4 (0000) 으로 설정되어 있는데, 이는 해시값의 앞 4자리 숫자가 0000이어야한다는 뜻이다. 그리고 이 0000을 맞춰주기 위해서 Nonce를 계속해서 변경해주다보면 언젠가는 0000을 앞 4자리로 갖는 해시값이 나온다.
언젠가는...

하지만 ? 그건 컴퓨터가 해라

Mine을 눌러본다

알아서 찾아줘서 감사하다

아무튼 그래서 이제 유효한 블록을 하나 생성한 것이다!!

그럼 블록체인이라는 것은..
블록을 만들고 만들고 만들어서 체인으로 묶는것이겠군아 하는 깨달음이 온다

레츠기릿

2.2.2 체인 연결

  • 내용작성해주고 마인 클릭해준다.



내용을 확인해보면 해시값과 prev값이 서로 연결된 것을 확인할 수 있다! 이렇게 체인 형식으로 블록끼리 엮이는 것

이 상태에서 중간에 있는 데이터를 건들면

바꾼 부분을 기준으로 뒤의 연결까지 모두 해제된다.
왜냐하면 2번 블록의 데이터를 변경함과 동시에 2번 블록의 해시값이 변경이 되었고, 앞에 000을 맞춰줘야하는 규칙이 깨져서 유효하지 않은 블록이 되어 버렸기 때문이다.

이와 동시에 3번 블록은 prev값으로 가지고 있던 2번 블록의 해시값이 바뀌면서 3번블록을 생성할 때 사용한 Nonce, Data, Prev 중 Prev의 값이 바뀌게 된 것이다. 이러한 연계 작용으로 인해 뒤에 잇던 모든 블록이 무효화 되어 버린 것.

이렇게 하면 그 누구도 가계부에 장난질을 할 수가 없다~!!!

오케이 그래서 그러면 지금 가계부를 수정할 수 없도록 딱 막아줬음. 두가지 문제 (1. 누구에게 가계부 작성을 맡길지, 2. 가계부를 수정하는 것을 어떻게 방지할지) 중에서 하나는 해결했음

그럼 이제 누구에게 맡길지에 대한건 어떡하묘?

2.2.3 분산

전부 다 가계부를 가져가라....

현재 A와 B가 같은 내용의 블록 4개를 가지고 있고 전부 유효한 것을 확인했다.
그런데 여기서 A가 양애취짓을 하려고 한다.
3번블록부터 고친 다음에 냉큼 다시 Mine을 해서 초록색 유효한 블록으로 만들어버린는 것이다.

앗 내용이 바꼈는데도 감쪽같다...!

...However!

Hash 값이 0000a058f.... 인 A와 000a1675....인 B를 확인할 수 있다.
그리고 또 다른 소유자 C의 3번째 블록의 해시값이 000a1675....인것을 확인하면 A가 개수작을 부린 것을 알 수 있다..! 이자슥


이런식으로 블록체인을 사용하면 남이사 니가 먼 짓을 해도 난 나의 길을 가련다..가 가능하다~!!!

profile
학생 점심을 좀 차리시길 바랍니다

0개의 댓글