2022년 5월 31일(화) Week1 도깨비 줄거리👥
Week1 에서는,
- 블록(Block) + 체인(Chain)의 간단한 개념 설명과✍️
- 실생활에 사용되었던 블록체인 얘기🧚
- 그리고, 요즘 핫한🔥 솔라나의 Token에 대해 해보려고 해요🙌
|
|
|
안녕하세요, 현업에서 서비스 기획자로 일하고 있는 Jade입니다:D!
도깨비 레터를 통해 web 3.0 에 하나씩 온보딩 해보고자 합니다.🚀👥
잘 부탁드립니다!ㅎㅎ😻 |
|
|
블록(Block) + 체인(Chain) 이란? |
|
|
블록체인(Blockchain)은 두개의 단어를 합쳐 놓은 말입니다.
= 블록(block) + 체인(chain) |
|
|
블록(Block) 이라는 것은 한마디로 말하면 데이터를 저장하는 단위입니다.
책으로 치면 책 한 페이지라고 할수 있고 카메라에 비유하면 카메라에 들어가는 SD카드 한개라고 할수 있습니다. 책 페이지에는 텍스트 데이터가 저장되고, 카메라 SD카드에는 이미지 혹은 영상 데이터가 저장됩니다.
이처럼, 블록(Block)은 뭐든지 데이터를 저장할 수 있는 단위입니다.
용량의 단위(1 Block, 1 Page, 1 SD card).
체인(Chain)은 말 그대로 이 블록(Block)들을 계속 엮어 놓은 겁니다.
예를들어, 카메라에 들어가는 SD카드 10개가 있다면 우리는 이 10개가 어떤 순서로 찍힌건지 알기 어려울 때, 날짜를 쓰거나 번호를 써서 순서대로 정렬을 합니다. 책 페이지에도 몇번째 장인지 알 수 있도록 페이지 숫자가 표시 되어 있습니다.
블록체인 같은 경우에는 해시함수(hash function)라는 것을 사용하여 정렬(Chain)합니다. 그리고 이 해쉬함수는 비가역적 특성을 갖습니다.
y=f(x)에서 x를 넣으면 y는 빨리 찾을 수 있지만,
y를 주면 x를 찾는 것은 매우 어렵다.
이것을 '비가역성'이라고 합니다. (비가역성: 이미 일어난 일을 되돌리기 어려움.) |
|
|
따라서, 블록체인 위에서 일어난 일은 되돌릴 수 없습니다.
다음으로는 블록체인이 하나의 체인으로 유지되기 위해 필요한 ‘합의 알고리즘’이라는 것이 있습니다.
예를 들어, Block 2 는 “A가 B한테 비트코인 한개를 주었다." 라는 내용이 들어간 블록이 '맞는 블록'인 것으로 합의 한다면, 이렇게 합의하는 과정에 대한 설명 자체가 '합의 알고리즘'이라고 할수 있습니다. (알고리즘 : 문제를 풀기 위한 과정을 단계별로 설명해 놓은 것.)
Block 2 후보로 나와있는 것들 중에, “이 Block'이 맞는거다.” Block 3 후보로 나와있는 것들 중에는 “이 Block'이 맞는거다.” 라는 식으로 합의를 계속 하다보면 결국, '마지막 체인 한개'가 남을 것입니다.
이렇게 마지막으로 남은 체인을 '정격체인 (Canonical Chain)' 이라고 합니다. 블록체인에서는 '정격체인'에 들어있는 거래만 '실제로 일어난 거래'라고 인정을 받습니다. 따라서, "A가 B한테 비트코인 한개를 주었다." 라는 내용이 '정격체인(Canonical Chain)'에 들어가 있어야 'B가 A로부터 받은 비트코인'을 쓸수 있습니다.
합의 알고리즘 종류에는 크게 (1) 작업증명(PoW), (2) 지분증명(PoS) 가 있습니다. 블록체인에서 '어떤 블록이 맞는 블록이다.' 라는 합의를 하기 위해 흔히 쓸 수 있는 방법은 '투표'를 하는 것인데, 이는 실생활의 선거에서도 투표인단 명단에 들어 있어야 투표를 할수 있는 것과 같습니다. 즉, 내가 이 투표인단에 들어가기 위한 하나의 증명 방법이라고 할수 있습니다.
-
"너가 정말 이 투표인단이 되기 위해서 작업한걸 증명해와라." → 작업증명 (Proof of Work)
-
"너가 이 생태계에 이 정도의 지분이 있어서 투표를 잘할거라고 우리가 기대 할수 있게 지분을 증명해와라." → 지분증명 (Proof of Stake)
이는 블록체인을 분산되어 있는 데이터 베이스로써 생각한다면 실시간으로 변하는 데이터 베이스의 상태를 맞추기 위해 필요한 것들이라고 이해하면 좋을 것 같습니다.
위의 기본적인 내용을 가지고 다음에는 사토시 나카모토가 왜 비트코인을 만들었는가?에 대해 얘기 해보고자 합니다. |
|
|
안녕하세요!😊 현업에서 서비스/전략 기획을 하고 있는 923입니다. 저는 블록체인이 실생활에 어떻게 쓰일수 있을지 공부하고 있습니다:)
가감없는 피드백 언제나 환영입니다!🙌 |
|
|
블록체인, NFT, 메타버스등 언제부턴가 관심을 안 가져도 뉴스나 SNS 등에서 하루에 한 번쯤은 보게 되는 키워드가 되어버렸는데요. 하지만 왠지 모르게 크게 와닿지 않습니다. 6개월 전의 제가 느낀 생각이었고, 그 뒤로 조금씩 공부하고 있습니다.
블록체인을 1도 몰랐던 일반인의 관점에서 공부하며 이해한 것과 앞으로 공부해나갈 것들을 뉴스레터를 통해 같이 공유해 보려고 합니다. 그런 의미에서 제 레터의 주제를 '블록체인으로 뭘 할 수 있는데?' 잡았고, 저와 같은 일반인들에게는 어렵고 부담스러운 기술에 대한 얘기는 아주 조금만 섞으려고 해요.
첫 레터에서는 우리나라 국민 대부분이 사용해 봤을 블록체인에 대해 이야기하려고 합니다. 이 이야기는 2년여 전 갑자기 나타나 우리의 일상을 괴롭히고 있는 코로나와 그 코로나를 막을 백신의 등장에서부터 시작합니다. 본격적으로 백신이 도입되고 예방접종 여부에 따라 많은 제한을 주는 사회적 거리 두기가 시작되었죠. 이때, 블록체인을 통해 예방접종을 인증해 주는 시스템 COOV가 나왔습니다.
이 시스템에 블록체인이 왜, 어떻게 사용되었는지 짧게 3가지 특징으로만 살펴보겠습니다.
- 위변조 방지 블록체인에 기록된 자료는 위변조가 불가능합니다. 백신을 맞지 않은 사람이 맞았다고 속일 수 없도록 해주었습니다.
- 개인 정보 보호 예방접종 도입 초기에 작성했던 수기 명부 기억하시죠? 실명, 전화번호, 거주지 등 개인 정보를 적어야 하기 때문에 방문자는 개인 정보 노출에 대한 걱정이 있었고, 가게나 시설을 운영하는 입장에서는 개인 정보 관리에 대한 책임이 부담되었습니다. 더불어, 정확한 정보를 적었는지에 대한 확인도 불가능했고요. COOV의 상대방 인증하기를 통해서 개인 정보 노출과 관리 부담 없이 검증이 가능하게 되었습니다. 기술적인 내용을 덧붙이자면, 개인 정보는 블록체인 기록되지 않고 개인이 소유하되, 위변조나 진위 여부를 확인할 수 있는 DID 기술(Decentralized IDentity / '분산 ID', '탈중앙 신원인증'이라고도 함)을 통해 검증함으로써 개인 정보를 보호했습니다. DID는 COOV 앱의 [내 정보]에서 직접 확인하실 수도 있습니다.
- 속도 사실 위 2가지는 휴대폰, 공동 인증서 등으로 대부분 해결 가능했을지 모릅니다. 하지만, 위에서 언급한 DID를 활용해 정보를 검증하고 개인을 확인함으로써 매번 복잡한 인증 과정을 거치지 않고 QR코드 스캔만으로 출입이 가능했습니다.
첫 레터로 많은 분들이 익숙하게 사용하셨을 COOV를 선택해 다루어보았습니다. 블록체인을 활용한 서비스였다는 것을 모르는 분들이 주위에 많아 첫 번째 주제로 선택했는데, 많은 분들께 유용한 정보였으면 좋겠습니다. |
|
|
안녕하세요, 현업에서 블록체인 개발자로 일하고 있는 Ovadix입니다.😎
도깨비 레터를 통해서 개발적인 부분을 좀더 쉽게 풀어 내서 같이 공유할 수 있도록 하려고 합니다. 잘 부탁드립니다!🔥 |
|
|
첫 번째 글로 무엇을 써봐야 할지 고민을 많이 했습니다.🤔
저는 개발자로서 일을 하고 있기 때문에 다른 부분보다 개발에 대해서 조금 더 글을 작성해 보려고 합니다. 무엇에 대해서 작성을 해야 할지에 대해서 고민하다 문득 제가 최근에 솔라나 NFT 거래량이 죽지 않고 많이 증가한다는 기사를 보고 공부한 솔라나 개념에 대해서 작성하려고 합니다.
솔라나 NFT 개념에 대해서 공부하는 것은 너무 머리가 아프고 힘들었습니다. 그래서 솔라나에 NFT 입문하는 분들께 도움이 되고자 글을 작성해봅니다. 물론 제가 아는 지식이 정확하지는 않습니다. 다만 정확한 지식을 제공하기 위해 노력하겠습니다.🔥 |
|
|
솔라나에서는 program이라는 개념과 Account개념이 존재합니다. (물론 다른 개념도 더 존재합니다.) program이 무엇이냐? 솔직하게 글을 작성하면서도 제대로 이해가 되지 않습니다. 다만, 모든 Account는 program에 속해있다는 것 입니다. |
|
|
Account밑에 있는 주소는 팬텀지갑에 있는 솔라나 계정입니다. 그리고 오른쪽에 More info에 Owner Program을 보게되면 System Program이 있습니다. 즉, 계정주소는 System Program에 속해있다는 말이 됩니다.
그렇다면? NFT는 어떻게 누가 소유하고 있을까요??? 예시가 들어간 사진을 보기전에 솔라나는 NFT를 어떻게 mint하는지 알아야 합니다. 솔라나에서는 FT 와 NFT를 이더리움진영의 erc20 / erc721처럼 표준양식이 존재하지 않습니다. FT Token을 decimal 9로하고 1000개를 발행하면 FT Token이 됩니다. (ex 샌드박스 1000개)
NFT Token은 decimal 0으로하고 오직 1개만 발행한 후 더이상 mint되지 않게 만드는 것이 NFT입니다. 간략하게 솔라나에서 FT / NFT를 어떤방식으로 mint하는지 알고 넘어가면 밑에 개념이 조금더 받아들이기가 수월합니다.
솔라나에서 FT / NFT 가 됫건간에 token은 각각의 token Account가 존재합니다. 예를 들어서 A Token(FT)100개를 발행했다고 생각해봅시다. 이더리움에서는 지갑주소가 토큰을 100개 소유하고 있습니다. 그러나 솔라나에서는 A token에 해당하는 Token Account를 생성합니다. 그리고 token Account가 A token 100개를 소유하게 됩니다.
정리 해보자면,
wallet Address → token Account → token
이런식으로 존재하게 됩니다. |
|
|
위에 사진을 보게되면 Token Account가 있고 오른쪽에 보면 More info Owner 를 보게되면 주소가 있습니다.
Owner 주소 == wallet address 즉 wallet Address에가 token Account를 소유함으로써 내가 토큰을 소유하고 있다는 말이 됩니다.
만약, token Account가 없는 계정에 토큰을 보내게 되면 어떻게 될까요? 솔라나에서는 해당하는 token을 담을 수 있는 token Account가 wallet address에 존재하지 않는다면 먼저, token Account를 생성시키고 그다음 tranfer을 하게됩니다. 최종적으로 정리해 보자면 token Account 끼리 주고 받게 됩니다.
그렇다면 100개의 NFT를 발행한다면 몇개의 token Account가 발생하게 될까요?
정답은 100개의 token Account가 발생하게됩니다. 위에서 말했듯이 NFT는 Token을 1개발행하게 되는 것입니다. 이부분이 이더리움과 많이 달라서 헷갈립니다! 이더리움에서는 NFT CA에서 100개를 발행하게 됩니다. 그러면 CA를 통해서 몇개가 발행이 되고 누가 소유하고 있는지 알수가 있죠!
그러나 솔라나에서는 그렇게 할 수가 없습니다. 각각 token이 CA와 같다고 볼 수 있죠. 그러기에 token Account가 100개가 생성되는 겁니다. 지금 말하는 이부분이 이해가 제일 안될수 있습니다.
그렇기에 NFT token을 보게되면 tokenId라는 부분이 없고 token Address만 존재합니다. 솔라나는 이더리움과 개념이 많이 다르기에 이해하는데 있어서 어려움이 있습니다. 오늘은 개념을 글로 풀어냈지만 2주차에서는 간단하게 NFT 발행하는 code와 solscan 사진을 가져와서 조금더 구체적으로 설명하도록 하겠습니다! |
|
|
이번주 도깨비 레터는 어땠나요?
어느 부분이 좋았고😊 어디가 쫌 아쉬웠는지🧐,
아래 버튼을 통해 피드백 주세요!💕 |
|
|
|