<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by 체인의정석 on Medium]]></title>
        <description><![CDATA[Stories by 체인의정석 on Medium]]></description>
        <link>https://medium.com/@chohyunki?source=rss-c89f7b4f00e7------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/2*ETX1pFfyoYzY3jogcRImZA.jpeg</url>
            <title>Stories by 체인의정석 on Medium</title>
            <link>https://medium.com/@chohyunki?source=rss-c89f7b4f00e7------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Mon, 06 Jul 2026 01:01:45 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@chohyunki/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[P2E, X2E 그리고 토큰이코노미]]></title>
            <link>https://medium.com/curg/p2e-x2e-%EA%B7%B8%EB%A6%AC%EA%B3%A0-%ED%86%A0%ED%81%B0%EC%9D%B4%EC%BD%94%EB%85%B8%EB%AF%B8-6b945082b961?source=rss-c89f7b4f00e7------2</link>
            <guid isPermaLink="false">https://medium.com/p/6b945082b961</guid>
            <category><![CDATA[blockchain]]></category>
            <dc:creator><![CDATA[체인의정석]]></dc:creator>
            <pubDate>Fri, 24 Feb 2023 12:15:34 GMT</pubDate>
            <atom:updated>2023-03-05T12:56:57.640Z</atom:updated>
            <content:encoded><![CDATA[<p><strong>조현기 | alumni of CURG | timehacker95@gmail.com</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*KaFkQ2q-o-iE6QbuioZ2mA.png" /></figure><h3><strong>들어가며</strong></h3><p>ERC20 토큰과 NFT가 포함된 토큰이코노미와 자체적인 체인, 브릿지까지 구현한 엑시인피니티의 히트를 시작으로 게임을 플레이하고 돈을 번다는 의미의 Play to Earn이 유행을 하게 되었습니다. 그 이후 STEPN과 같은 Move To Earn과 같은 케이스나 Play to Earn에 이어서 Listen to Earn, Watch to Earn까지 사업 영역을 확장 중인 GALA 등 무언가를 하고 코인을 보상으로 받는 모델이 매우 활발하게 시장 전반적으로 하나의 트렌드로 자리 잡았습니다. 현재 시장에서 비단 게임뿐 만 아닌 다양한 형태의 행위를 하고 이를 통해 코인을 보상으로 받아 가는 행위를 X to Earn이라고도 부릅니다. 이번 장에서는 Play to Earn 그리고 더 나아가 X to Earn의 생태계와 기술에 대해서 살펴보면서 최신 시장 트렌드에 대해서 설명을 드리고자 합니다.</p><h3><strong>P2E, X2E의 전체 모델과 발전과정</strong></h3><p>여태까지 나온 대표적인 P2E 또는 X2E는 공통적인 모델을 가지고 있습니다. 기본적으로 무언가 행위를 하고 돈을 받는다는 것은 계속해서 토큰이 발행된다는 것을 의미합니다. 토큰이 계속해서 발행이 되게 된다면 공급량이 점점 늘어나게 됩니다. 이에 따라서 발행한 토큰을 계속 소각하는 모델이 중요하게 됩니다. 초기의 P2E는 단순한 모델이었지만 점점 프로젝트 규모가 커지고 하나의 서비스가 하나의 체인을 만들고 생태계를 계속해서 확장함에 따라서 현재 하나의 P2E 또는 X2E 서비스가 담당하는 전체적인 내용은 아래 그림에서와 같이 복잡한 형태를 이루고 있음을 알 수 있습니다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/936/0*_TuAanHSYKrZcDub" /><figcaption>P2E와 X2E의 전반적인 모습</figcaption></figure><p>각 프로젝트들을 자세히 살펴보기에 앞서서 전체적인 구조를 살펴보도록 하겠습니다. 먼저 P2E 또는 X2E에 대한 서비스는 하나의 DAPP 형태로 시작하는 경우가 많습니다. 초기에는 자본을 확보하기 위해 NFT를 판매하고 해당 서비스 토큰을 거래소에 상장하거나 DEX에 상장하는 식으로 진입을 하는 경우가 많습니다. 이때 NFT는 캐릭터가 될 수도 있고 하나의 아이템이거나 땅이 될 수도 있습니다. 초기에는 미래의 수익을 바라보는 투자자들이 이런 NFT나 서비스의 메인 토큰을 구매하게 됩니다.</p><p>이후 게임이 런칭이 되면 NFT 구매한 유저들은 NFT를 통해서 채굴을 할 수 있는 권한이 생기거나 아니면 해당 땅 또는 맵에서 발생하는 일정 수익을 얻어 갈 수 있는 식으로 진행이 됩니다. 또한 임대 시스템을 통해 NFT가 없는 유저들이 NFT가 있는 유저들에게 대여를 받아서 채굴을 하기도 합니다. 이때 서비스는 다음 그림과 같이 대부분의 처리를 블록체인 밖에서 하게 됩니다. 자신의 자체적인 체인이 없는 상태에서는 모든 트랜잭션은 수수료를 발생시키기 때문에 유저나 게임 회사 입장에서 부담이 되기 때문입니다. 따라서 초기에 다수의 유저를 확보하기 위하여 이더리움에서 서비스를 만드는 회사들은 게임 플레이에 대한 데이터나 아이템 거래, 합성과 같은 부분을 모두 블록체인 바깥의 중앙화된 시스템에서 처리한 후 요청이 있을 시에만 온체인 환경으로 전환을 하게 됩니다. 요청이 있을 시에는 ERC20 토큰이나 NFT를 따로 메타마스크나 외부 거래소 지갑으로 보내서 처리하게 됩니다. 기존의 중앙화 거래소와 비슷한 형태를 띤다고 보시면 됩니다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/936/0*ai1dSqM1GGPjHDBB" /><figcaption>중앙화 거래소 형태의 트랜잭션 처리</figcaption></figure><p>그러나 시간이 지나게 되면서 점점 다른 경쟁사들이 들어오게 되고 결국 많은 부분을 블록체인 상에서 다루어야 할 상황이 오게 됩니다. 이에 따라 엑시인피니티가 자체적으로 로닌 사이드 체인을 만들고 갈라게임즈가 하이퍼레져 패브릭 기반의 자체적인 갈라체인을 만들듯이 자체적인 체인을 만들고 운영하게 되며 수수료에 대한 부담 없이 게임에 대한 데이터를 자체적인 블록체인 네트워크에 마음껏 기록하게 됩니다.</p><p>블록체인 트릴레마의 입장에서 보자면 탈중앙화를 어느 정도 포기하고 자체적인 사이드 체인 또는 프라이빗 체인 등 속도가 빠르고 비용이 저렴한 체인을 선택하고 있는 것으로 볼 수 있습니다. 기존에 이더리움에서 이루어지던 거래는 브릿지를 따로 만들게 되면 자산을 이동시켜서 거래가 가능하기 때문에 브릿지도 각각 구현하게 됩니다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/936/0*hHC6tnmyvYHm5cJR" /><figcaption>자체 체인으로의 확장을 위한 브릿지 구조</figcaption></figure><p>네트워크의 경우 이렇게 서비스 별로 상이한 구조를 취하며 네트워크 위에는 P2E나 X2E에 해당하는 서비스가 배포되고 운영되게 됩니다. 대부분의 서비스에 대한 전체적인 토큰 이코노미는 아래 그림과 같이 채굴하는 코인 그리고 메인 코인 마지막으로 NFT로 구성되어 있습니다.</p><p>먼저 채굴 코인되는 코인의 경우 유저의 수익과 직결되는 코인입니다. 해당 코인은 유저가 게임을 하거나 운동 등을 할 때마다 계속 발행되기 때문에 소각모델이 중요합니다. 엑시인피니티의 SLP 토큰이나 스태픈의 GST 코인이 여기에 해당된다고 볼 수 있습니다. 해당 코인을 자체적인 서비스에서 자연스럽게 소각을 시키는 것이 가장 중요한 부분이라고 볼 수 있습니다.</p><p>두 번째로는 프로젝트의 메인코인이 있습니다. 엑시인피니티의 AXS 토큰이나 스태픈의 GMT 코인이 여기에 해당된다고 볼 수 있습니다. 해당 메인 코인의 경우 발행량이 제한되어 있어서 특정 조건에서 소수의 유저들 또는 거래소에서 직접 구매한 사람들만 얻을 수 있는 형태로 되어 있습니다. 이는 회사의 주식 개념과도 유사하다고 볼 수 있는데 서비스를 운영하는 회사가 주로 초기에 발행을 하게 되며 장기적으로 가치를 유지시키며 회사의 수익과 직결되는 부분입니다. 주로 거래소에 코인을 상장할 때 메인코인에 해당하는 암호화폐를 먼저 상장하고 나중에 채굴로 얻는 코인을 상장하는 형태로 사용하게 됩니다.</p><p>마지막 요소로는 NFT가 있습니다. X2E에서는 초기에 NFT를 팔고 해당 NFT를 구매한 사람들에게 코인을 채굴할 권한을 주거나 분배해 주는 식으로 NFT에 대한 선판매가 이루어지고 있습니다. 엑시인피니티의 게임 캐릭터인 엑시 또는 스태픈의 신발 그 외 갈라 뮤직의 음반 NFT나 갈라 게임의 게임 맵 또는 게임 아이템이나 자산 등을 구매한 유저들은 해당 서비스에서 게임을 하거나 걷거나 음악을 들은 후에 채굴 코인을 얻게 됩니다. NFT의 판매 시점은 주로 게임이 런칭되기 한참 전부터 프리세일을 하기 때문에 유명한 프로젝트라고 하더라도 서비스가 이루어지지 않고 프리세일만 진행되거나 베타서비스만 진행되고 있는 경우도 많습니다. 갈라게임의 여러 게임들이나 샌드박스의 경우 베타서비스만 진행되고 있으며 랜드 NFT를 선판매하고 있는 케이스에 해당됩니다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/936/0*X_nyFnHEaXyGHql3" /><figcaption>전체적인 서비스 모델</figcaption></figure><h3>엑시인피니티와 P2E</h3><p>엑시인피니티의 경우 P2E의 열풍을 불고 온 선두주자로 볼 수 있습니다. 엑시 인피니티의 경우 자체적인 사이드체인인 로닌체인을 사용하고 있으며 이더리움과의 브릿지인 로닌 브릿지를 통해서 자산을 이더리움과 자유롭게 이동할 수 있습니다. 엑시 인피니티의 코인은 크게 2가지가 있는데 바로 SLP와 AXS입니다. SLP의 경우 엑시라는 NFT 캐릭터를 사고 나서 게임을 플레이할 경우 유저가 채굴할 수 있는 코인에 해당됩니다. 해당 코인의 소각처로서 엑시인피니티는 브리딩이라는 개념을 만들었습니다. 코인을 소각하고 엑시 캐릭터의 브리딩 횟수를 차감하면 새로운 엑시 NFT를 얻을 수 있는 개념입니다.</p><p>이에 따라 엑시를 구매하여 토큰을 채굴한 유저들이 더 많은 코인을 채굴하거나 더 좋은 NFT를 얻기 위해서는 채굴한 SLP를 모아서 브리딩을 하거나 SLP를 구매해서 브리딩 하는 과정을 반복하여 초기에 더 많은 엑시를 확보하여 수익을 올리는 식으로 접근하는 구조입니다. AXS의 경우 엑시인피니티의 메인 토큰이라고 볼 수 있습니다. AXS는 게임에서 PVP 랭킹 안에 들 경우에만 지급이 됩니다. AXS의 경우 거래소에 먼저 상장되어서 초기 프리세일 때부터 회사에 우선적으로 투자한 사람들이 가지고 있었으며 해당 코인은 NFT 마켓에서 엑시 캐릭터 NFT를 구매하는데 소모되었습니다. 이런 식으로 두 종류의 토큰과 엑시라는 캐릭터 NFT를 시작으로 하여 엑시인피니트는 큰 히트를 쳤으며 특히 NFT가 많은 사람들은 스콜라쉽이라는 제도를 통해서 NFT를 대여해 주고 수익금을 셰어 받는 식으로도 많은 거래가 이루어졌습니다.</p><p>이에 따라 동남아의 몇몇 국가의 사람들은 엑시를 대여받아서 대여받은 NFT를 통해 채굴을 하고 현업 대신 엑시인피니티로 생활하는 사람들도 나타나게 되었고, 과금을 많이 한 유저는 게임을 자신이 플레이하는 대신 대여를 많이 해주고 더 많은 수익을 챙겨가며 큰 수익을 버는 경우가 많아졌습니다. 이에 따라 P2E에 대한 입소문이 퍼지며 여러 후발주자들이 등장하게 되는 계기가 되었습니다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/936/0*7ixrwN19XIPk6xoJ" /><figcaption>엑시인피니티의 토큰 이코노미</figcaption></figure><h3><strong>STEPN과 M2E</strong></h3><p>스태픈의 경우 M2E(Move 2 Earn)의 열풍을 몰고 온 프로젝트입니다. 엑시인피니티의 흥행 이후로 다양한 P2E가 등장하였고 게임이 아닌 걷거나 뛰면 수익을 낼 수 있는 Stepn이라는 프로젝트가 등장하게 되었습니다. STEPN의 경우 초기에 런칭 이후 빠른 업데이트를 통해 빠르게 생태계를 키워나가고 있습니다. 우선 초기 런칭 당시 토큰이코노미를 살펴보도록 하겠습니다. 스태픈의 경우 솔라나 체인에서 시작되었습니다. 하지만 마켓플레이스를 대부분의 행위는 블록체인 바깥에서 이루어지고 있으며 내부의 솔라나 지갑으로 인출을 할 경우에만 실제 트랜잭션이 발생하게 됩니다. 스테픈의 경우 채굴되는 코인은 GST라는 이름의 코인이며 메인 코인의 이름은 GMT입니다. GST는 신발을 사서 걷게 되면 얻을 수 있는 코인이며 GMT의 경우 comfort라는 특정 수치를 올릴 시 일부만이 얻을 수 코인입니다.</p><p>마찬가지로 GMT는 게임이 있기 전부터 유통되어서 초기에 게임에 투자를 하고 싶은 유저와 회사들이 GMT 코인을 매수하였습니다. 마치 스태픈의 주식을 사는 개념과 비슷하게 보시면 되겠습니다. 이후 게임이 진행되면서 GST가 나오게 되었고 신발에 해당하는 NFT의 종류에 따라서 각기 다른 채굴량을 얻게 되었습니다. GST의 경우에도 소각이 중요하였는데 엑시인피니티에서 있었던 브리딩 모델과 더불어 Gem이라는 보석 NFT를 합성하거나 신발의 레벨을 올리거나 하는 요소에서 GST 코인이 소각되었습니다. 반면 GMT의 경우 탄소배출권을 사거나 특정 레벨을 올릴 때 그리고 브리딩을 할 때 일정 비율 소모가 되도록 만들었습니다. 스태픈은 GST와 GMT 가격을 조정하기 위하여서 새로운 신발을 브리딩 할 때 드는 비용을 GST와 GMT의 비율에 맞추어 유동적으로 업데이트하는 등 가격 조정을 위한 여러 방안들을 시도했습니다. 또한 신발의 개수에 따라서 채굴 가능한 토큰 양도 달라지게 만들고 어뷰징을 방지하기 위해 위치와 흔들림을 동시에 기록하는 등 다양한 방식으로 운영을 하였습니다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/936/0*E2URQPWkELEkOrfl" /><figcaption>초기 스테픈의 토큰 이코노미</figcaption></figure><p>그러나 신규 유저가 점점 줄어들고 채굴량이 많아지자 결국 스태픈 또한 포화상태가 되었습니다. 이때 스태픈에서 신규 유저를 얻어오기 위해서 사용한 방법은 다른 체인에 같은 서비스를 내고 새로운 GST를 마련하는 것이었습니다. 원래 솔라나에서만 채굴되던 GST를 바이낸스와 이더리움에 각각 추가로 출시하여서 체인별로 다른 신발을 통해 채굴이 가능하도록 구조를 만들었습니다. 각 체인은 각기 다른 GST를 사용하기 때문에 체인별로 GST의 가격은 다르지만 메인코인인 GMT는 공통적으로 사용하였기 때문에 회사의 메인 코인에 대한 가치는 상대적으로 꾸준하게 유지될 수 있었습니다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/936/0*sy3AAgJ5EwQb917u" /><figcaption>다중 체인 확장 이후의 스태픈 토큰이코노미</figcaption></figure><h3><strong>GALA와 X2E</strong></h3><p>갈라게임즈의 경우 P2E로 시작하여 현재는 음악과 영화 산업에도 발을 넓혀서 Listen to Earn인 L2E 그리고 Watch to Earn인 W2E까지 문화 컨텐츠 전반적인 영역에 X2E를 도입하고 있습니다. 심지어 놀이공원 산업 쪽에도 투자할 예정이라고 합니다. 특정 음악이 특정 게임에 쓰이거나 특정 영화에 쓰이거나 게임이나 영화가 같은 지적 재산권을 공유하거나 다양한 협업 모델이 가능하기 때문에 갈라가 노리는 시장은 매우 거대한 시장이라고 볼 수 있습니다. 그러나 현재 단계에서는 실질적인 P2E는 타운스타 하나만 이루어진 상태이며 이마저도 코인 가격을 방어하지 못해 잠정적으로 채굴을 중단한 상황입니다. 갈라게임즈는 하나의 거대한 엔터테인먼트 플랫폼을 만드는 것을 목적으로 하이퍼레저 패브릭을 사용하여 자체 체인을 구현 중입니다.</p><p>갈라게임즈의 초기 모습은 아래와 같습니다. 갈라게임즈의 경우 노드라이센스를 판매하는 모델을 히트를 치게 되면서 노드 라이센스 판매에 대한 대표적인 성공사례가 되었으며 이후에 출시된 여러 게임 플랫폼들이 노드 라이센스 판매 형태를 띠는 경우가 많아졌습니다. 갈라토큰의 경우 갈라게임즈 생태계의 메인토큰으로 볼 수 있습니다. 해당 토큰은 초기에 회사와 노드 라이센스를 구매하여 채굴하는 사람들에게 분배가 되게 되며 전체 발행량이 정해져 있고 반감기가 있어 초기에 노드를 구매한 사람이 유리한 구조입니다. 또한 실제 게임이 이루어지게 되면 갈라 플랫폼에서 발행하는 모든 코인들 중 일부와 NFT들을 랜덤 또는 노드 수량에 따라 차등 분배를 해줌으로써 갈라가 모두 고갈되어도 노드 운영자들은 보상을 받을 수 있습니다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/936/0*58YRSYTylf6eWo98" /><figcaption>노드가 포함된 초기 갈라게임즈의 토큰 이코노미</figcaption></figure><p>이렇게 갈라게임즈의 초기 성공 비결 중 하나는 기존에 활성화되어 있지 않던 노드 라이센스 판매 구조에 있다고 볼 수 있습니다. 갈라 노드의 경우 기술적으로 보면 트랜잭션에 대한 내용을 모니터링 가능한 수준에 불과하지만 추후에는 더 많은 역할을 할 것이라고 합니다. 노드 운영자는 개인 사비를 들여 개인 컴퓨터나 클라우드에 돈을 지불하는 형태로 노드를 운영하기 때문에 갈라 게임즈입장에서는 추후 활용 가능한 컴퓨팅 자원이 매우 많다는 장점을 가지고 있습니다.</p><p>이렇게 채굴되거나 거래소에서 구매를 한 유저들은 갈라를 통해서 출시되어 있거나 출시될 다양한 게임의 NFT를 구매할 수 있습니다. 초기 노드 라이센스와 NFT에 대한 판매는 티어제를 통하여 한정수량으로 판매가 될수록 가격이 높아지는 형태로 판매가 되었기 때문에 초기에는 가격 상승 속도가 빨랐습니다. 결국 NFT에 대한 판매 마켓과 추후 하나의 플랫폼 안에서 여러 게임이 돌아가게 된다는 비전 및 출시 예정작인 게임의 데모들을 통하여 갈라는 대표적인 P2E 기업이 되게 되었습니다.</p><p>초기 단계를 거친 이후 갈라는 게임뿐 만이 아닌 다양한 종류의 X2E에도 영향력을 높였습니다. 아래의 그림은 현재 갈라게임즈에서 판매를 이미 하였거나 추가 판매 예정인 노드의 종류들입니다. 각 게임별로 노드 라이센스를 따로 판매하였으며 각 산업 별로 노드를 따로 만들어 두었습니다. 갈라 뮤직의 경우 뮤지션을 새로 발굴하여 일반 유저들에게 음원 NFT를 판매하고 해당 음원이 더 많이 스트리밍 되면 더 많은 토큰을 분배 받는 식으로 구상이 되어 있습니다. 갈라 필름의 경우에도 각 필름을 NFT로 판매하고 해당 영화에 대한 수익을 분배 받는 식으로 구상이 되어 있습니다. 갈라게임즈의 초기 방식과 같이 뮤직 노드와 필름 노드를 따로 만들었으며 각 음악 그룹마다 팬 노드를 따로 만드는 식으로 새로운 사업으로 산업 영역을 확장시킴과 동시에 이에 대한 초기 자금은 노드라이센스 및 NFT 판매 수익으로 할당을 하고 있습니다. 그리고 이 모든 행위는 현재로서는 메인 토큰인 갈라토큰을 통하여서 구매가 이루어지고 있는 형태입니다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/936/0*tyBEbJYKFpXPvP6A" /><figcaption>이후 X2E로 뻗어나가고 있는 갈라노드 시스템</figcaption></figure><h3>X2E의 현재와 미래</h3><p>현재까지 살펴본 엑시인피니티, 스태픈, 갈라게임즈 모두 X2E 생태계에서 최초로 P2E, M2E, 노드 구조 등을 유행시킨 초기 선두주자들입니다. 그러나 아쉽게도 하락장이 오게 되면서 모든 X2E 프로젝트들은 신규 유입이 막히고 하락장을 맞이하게 되었으며, 높은 수익률을 자랑하던 NFT들도 더 이상 수익이 거의 나오지 않는 형태가 되었습니다. 하지만 위 서비스들은 나온 지 얼마 되지도 않은 서비스이며 해당 서비스도 운영을 하면서 세부적인 규정이나 이코노미를 계속해서 개편 중이며 로드맵 대로 추가적인 개발을 진행함과 동시에 새로운 영역으로 확장을 이어나가는 중입니다. 만약 긴 하락장을 버티고 다시 신규 유입이 활성화된다면 다시 X2E 시장이 커지게 되면서 기존에 없었던 다양한 형태의 X2E들이 나오게 될 것입니다.</p><ul><li>본 글은 CURG 출신의 멤버가 모인 D3LAB에서 준비 중이던 서적에 포함될 내용이었으나 급변하는 시장 상황에 의하여 더 이상 늦게 공개되면 가치가 없다 판단되어 공개하였습니다.</li></ul><p>D3LAB : <a href="http://d3lab.xyz">https://d3lab.xyz</a><br>트위터 : <a href="https://twitter.com/stone_chain">https://twitter.com/stone_chain</a><br>유튜브 : <a href="https://www.youtube.com/channel/UCHsRy47P2KlE749oAAjb0Yg">https://www.youtube.com/channel/UCHsRy47P2KlE749oAAjb0Yg</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=6b945082b961" width="1" height="1" alt=""><hr><p><a href="https://medium.com/curg/p2e-x2e-%EA%B7%B8%EB%A6%AC%EA%B3%A0-%ED%86%A0%ED%81%B0%EC%9D%B4%EC%BD%94%EB%85%B8%EB%AF%B8-6b945082b961">P2E, X2E 그리고 토큰이코노미</a> was originally published in <a href="https://medium.com/curg">CURG</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Web3 기반 메타버스에 대한 평가 기준 연구 (9개의 논문으로 부터 도출한]]></title>
            <link>https://chohyunki.medium.com/web3-%EA%B8%B0%EB%B0%98-%EB%A9%94%ED%83%80%EB%B2%84%EC%8A%A4%EC%97%90-%EB%8C%80%ED%95%9C-%ED%8F%89%EA%B0%80-%EA%B8%B0%EC%A4%80-%EC%97%B0%EA%B5%AC-9%EA%B0%9C%EC%9D%98-%EB%85%BC%EB%AC%B8%EC%9C%BC%EB%A1%9C-%EB%B6%80%ED%84%B0-%EB%8F%84%EC%B6%9C%ED%95%9C-2bba2881e21a?source=rss-c89f7b4f00e7------2</link>
            <guid isPermaLink="false">https://medium.com/p/2bba2881e21a</guid>
            <category><![CDATA[web3메타버스]]></category>
            <category><![CDATA[web3]]></category>
            <category><![CDATA[체인의정석]]></category>
            <category><![CDATA[메타버스표준]]></category>
            <category><![CDATA[메타버스]]></category>
            <dc:creator><![CDATA[체인의정석]]></dc:creator>
            <pubDate>Wed, 21 Dec 2022 12:11:15 GMT</pubDate>
            <atom:updated>2022-12-21T12:53:45.502Z</atom:updated>
            <content:encoded><![CDATA[<h3>Web3 기반 메타버스에 대한 평가 기준 연구 (9개의 논문으로 부터 도출한 평가 기준)</h3><ul><li>본 글은 저자가 재학중인 서강대학교 메타버스전문대학원 박사 과정 수업 “메타버스 이용자론” (이수영교수님) 수업을 듣고 기말 과제로 제출한 과제물으로서 해당 수업에서 분석한 논문들을 바탕으로 주관적으로 분석한 내용입니다.</li></ul><h3>제대로 된 WEB3 기반 메타버스를 만들기 위해서는 무엇이 필요할까?</h3><p>최근 블록체인 기반의 자산을 통해 가상 상호작용이 일어나거나 가상 자산을 실제 자산으로 여기며 이용하는 이용자들이 늘어나고 있다. 특히 NFT라는 암호화폐기반 자산은 메타버스에서의 다양한 가상자산으로서 자리잡고 있으며 NFT를 기반으로 한 모임에서 다양한 형태의 가상 상호작용이 일어나기도 한다. 또한 알지 못하는 여러 사람들이 모여서 진행하는 탈중앙화 된 의사결정체인DAO의 개념 또한 메타버스 내에서 새로운 형태의 가상 상호작용으로서 작용한다.</p><p>이번 글에서는 기존 논문에 대한 분석 및 실제 사건들을 살펴보며 메타버스 시스템에서 블록체인이 접목되면 기존 과는 다르게 어떤 식으로 가상 상호작용이 일어나게 되는지 정리하며 블록체인의 탈중앙성이 도입된 web3 기반의 메타버스 시스템의 예시 및장점과 단점을 분석하고 이들에 대한 체크리스트를 제안하여 다양한 web3 기반의 메타버스가 존재하고 생겨나는 현대 사회 속에서 이용자들과 콘텐츠 창작자들이 자신의 상황에 맞는 web3 기술들을 사용할 수 있도록 돕는것을 목표로 한다.</p><h3>논문에 나온 이론들로 web3 기반 메타버스의 평가 기준 도출해 보기</h3><p>어느정도의 이론을 바탕으로 평가 기준을 도출하기 위하여 메타버스 또는 매체, 미디어 등 다양한 분야의 논문 및 페이퍼를 분석하고 여기에 따라 web3기반 메타버스를 평가할 수 있는 기준을 주관적으로 해석하여 보았다.</p><h4>논문 분석1 : Policy, Ethical, Social, and Environmental Considerations of Web3 and the Metaverse</h4><p><a href="https://ieeexplore.ieee.org/abstract/document/9811499">Policy, Ethical, Social, and Environmental Considerations of Web3 and the Metaverse</a></p><ol><li>web3 기반 메타버스에서 발생 가능한 문제들</li></ol><p>2022년 일본에서는 web3 장관을 따로 두어서 web3 환경 하에서 발생하는 세금이나 법적인 문제를 따로 관리해야 한다고 제시하였다. 또한 자산, 개인적인 정보, 가상 자산을 두고 사이버 전쟁이 일어날 가능성도 제시한다. 또한 P2E로 인하여 빈곤 국가의 국민들의 새로운 생계가 되기도 했지만 자산 자체의 가격이 변동성이 크다 보니 취약하기도 하다. 또한 web3.0 기술에 있어서 자본력과 기술의 차이는 새로운 형태의 식민지 지배와 비슷한 양상으로 활용될 수 있다는 점을 짚었다.</p><h4>도출한 평가기준</h4><blockquote><strong>메타버스의 관리가 잘 이루어지고 있어서 세금이나 법적인 문제, 문화나 자본 격차에 대한 부분이 완만하게 고려되고 있는지를 평가기준으로 잡아야 한다.</strong></blockquote><h4><strong>논문 분석2: Some Very Simple Economics of Web3 and the Metaverse</strong></h4><p><a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4085937">Some Very Simple Economics of Web3 and the Metaverse</a></p><ol><li><strong>web3 기반 메타버스의 예시</strong></li></ol><p>해당 논문에서는 web3 메타버스의 대표 케이스인 디센트럴랜드와 KongLand에 대한 분석을 진행하였다.</p><p>디센트럴랜드의 경우 90061개의 Parcel로 나뉘어져 있으며 JP morgan은 banking 영역의 pracel을 구매하였다. Kongland의 경우 “Silicon Locked Contracts” (“SiLos”)라는 기술을 사용하여 NFC로 스캔 가능한 형태의 칩을 통해서 실제 세상에서의 상품과 지폐와 같은 요소들이 web3에서 자산으로서 인식이 될 수 있는 장치를 마련하였으며 이를 바탕으로 DAO를 구성하였다. 마치 가상의 국가를 만들어서 세금을 내고 이를 DAO 형태로 운영하는 방식이다.</p><p><strong>2. web3 기반 메타버스의 장점</strong></p><p>메타버스 형태에서는 DAO와 다수의 아바타를 통하여서 새로운 형태의 직업을 찾을 수 있으며 사람이 움직이는 운송 비용과 시간적 비용을 절감할 수 있는 효과가 있다. 사회적인 편향을 없애주는 마스크 효과와 현실세계의 유한한 자원에서 벗어나는 비즈니스 등에 대한 장점이 있으며 몸이 불편한 사람 또한 메타버스 세계에서는 경제활동이 가능하다.</p><p><strong>3. web3 기반 메타버스의 문제점</strong></p><p>데이터 프라이버시에 대한 문제와 도덕적이고 윤리적인 문제가 발생할 수 있다. 또한 중독에 대한 가능성도 있어 건강에 대한 문제도 발생 가능하다. 또한 web3 기술은 네트워크의 가스비용이나 낮은 TPS에 대한 문제도 존재한다. 그 외에도 motion sickness 와 실제 세상만큼 구현하기가 어려운 햇빛과 같은 요소들과 같은 부분과 검열의 대상이 되기 쉽다는 문제점 또한 존재한다.</p><p><strong>4. 메타버스에서의 web3 요소들</strong></p><p>규정을 만드는 것에 있어 독점적인 지위를 가져가는 정부 관리 체계와는 반대로 메타버스 세상에서는 DAO에 의한 관리가 가능하다.</p><p><strong>5. 수요가 이끄는 경제</strong></p><p>메타버스의 경제를 보면 수요에 의해 정해지는 특징이 있다. 메타버스에서의 기반 시설들은 수요에 의해 제작이 되게 된다. 2021년 NewZoo의 조사에 따르면 18세 미만의 사람들이 게임을 하는 이유가 게임의 재미보다는 사회적인 이유가 더 강하다는 조사가 있으며 자신의 아바타를 꾸미는데에 흥미가 있다는 결과가 나왔다.</p><p><strong>6. 선호도의 이동</strong></p><p>살아가고 일하는 부분에 있어서 변화가 일어난다. 버버리, 루이비통과 같은 기업들도 이미 아바타에게 입힐 수 있는 의류를 판매중이며 Z 세대 들은 기존의 위계적인 체제보다는 메타버스에서의 평평한 DAO와 같은 체제를 선호하고 있다.</p><p><strong>7. 사회적인 지속성</strong></p><p>자신의 성별이나 인종 외형들을 마음대로 선택할 수 있기에 몸이 불편하거나 사회적인 차별이 있는 현실적인 상황에서의 사회와는 다르게 사회적인 편향 없는 사회를 구현할 수 있다.</p><p><strong>8. 환경에 대한 지속성과 경제적인 성장</strong></p><p>실제 상황에서 경제가 발달하게 되면 필연적으로 사회적인 자산들은 고갈되게 된다. 하지만 메타버스 세상에서는 자원이 무한하기 때문에 무한한 자원 속에서 친환경적으로 발전을 이루어나갈 수 있다. 또한 에너지 문제 또한 해결할 수 있다.</p><p><strong>9. 정책 생성</strong></p><p>많은 데이터가 존재하는 web3 기반 사회에서는 여러 소규모의 다양한 경제 체제에 대한 데이터가 누적되게 되며 이를 인공지능 또는 빅데이터와 결합하여 학습할 시 실제 세상에서의 정책을 만드는데도 도움이 된다.</p><p><strong>10. 개인형 메타버스 vs 공개형 메타버스</strong></p><p>개인적인 메타버스는 중앙화 된 기술과 맞물려서 프라이빗한 환경안에서 개인이 즐기는 공간이며 공개형 메타버스는 다양한 사람들이 즐기는 형태로 공개형 메타버스에서는 defi 나 nft와 같은 탈 중앙화 된 자산 시스템이 유리하다. 또한 탈 중앙화 된 메타버스에서의 통치는 탈 중앙화된 의사 결정체인 DAO에 의해서 가능하게 된다.</p><p><strong>11. 운송 수단에 대한 비용 효율성</strong></p><p>아바타가 이동하는 것은 시간적, 비용적으로 많은 장점을 가져오며 다양한 아바타가 다양한 작업을 하는것 또한 가능하다. 또한 메타버스 기반의 기술 (블록체인, 스마트컨트렉트, 디파이)는 교환과 자산 주인에 대한 증명 비용을 줄이기도 한다.</p><p><strong>12. 탐색 비용의 비효율성 해결</strong></p><p>자원의 잘못된 배치에 따른 비효율성 해결</p><h4>도출한 평가 기준</h4><blockquote><strong>메타버스로 인하여 얻을 수 있는 장점인 실물 세상에서의 비효율성 해결에 대한 부분을 얼마나 잘 가져가고 있는지 수요를 잘 이끌어내고 있는지가 평가 기준으로 들어가야 한다.</strong></blockquote><h4><strong>논문 분석 3: Money, possessions, and ownership in the Metaverse: NFTs, cryptocurrencies, Web3 and Wild Markets</strong></h4><p><a href="https://www.sciencedirect.com/science/article/pii/S0148296322007147">Money, possessions, and ownership in the Metaverse: NFTs, cryptocurrencies, Web3 and Wild Markets</a></p><p>해당 논문에서도 nft와 블록체인에서 쓰이는 가상 자산에 대해 언급한다.</p><p>nft에 ft형태의 자산 들이 원작자의 권리를 가져다 주며 nft에 대한 구매는 해당 IP에 대한 권한이 있는 것은 아니지만 프린트해서 벽에 거는 등의 사용은 가능하다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*we2w-EDVlG2obddkTnOEpg.png" /><figcaption>출저 : Money, possessions, and ownership in the Metaverse: NFTs, cryptocurrencies, Web3 and Wild Markets</figcaption></figure><p>세컨드 라이프의 경우 70 만명의 유저들을 가졌지만 실제 세상과 가상세상의 자산의 가치의 차이는 존재하게 되며 이로 인하여 경제체제가 무너질 수 밖에 없었다. 실물 자산에 비해서 가상자산은 엘살바도르와 같은 소수의 국가에서 법정 화폐로 쓰이거나 스테이블 코인과 같이 현물 자산과 패깅 된 자산에 대한 케이스에 의해 보장받고 있긴 하지만 여전히 불안정성이 큰 문제가 있다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*SaC6fMuf9SiupDHgwopOog.png" /><figcaption>출저 : Money, possessions, and ownership in the Metaverse: NFTs, cryptocurrencies, Web3 and Wild Markets</figcaption></figure><p>이에 따라서 위의 표와 같이 아직까지는 실제 세상에서 가치를 지닌 자산 만큼의 Attachment를 가지고 있지 못하다.</p><p>자산 독점에 대한 문제</p><p>또한 2022년 Solis의 조사에 따르면 상위 2%의 계정이 95%의 비트코인을 보유하고 있으며 상위 9%의 계정이 80%에 해당하는 가치의 nft를 가지고 있다고 한다.</p><p>메타버스 세상의 범죄</p><p>세컨드라이프의 마피아나 심즈에서 일어나는 각종 범죄 행위들</p><p>범죄 자금 세탁과 NFT와 연류된 범죄들에 대한 문제가 존재한다.</p><p><strong>=&gt; 메타버스로 인한 자산이 현실 세계의 자산에 비하여서 어느 정도의 안정성을 가지고 있으며 소유권에 대한 부분을 정확히 명시하고 활용중인지를 메타버스의 평가 기준으로 삼아야 한다.</strong></p><h4>논문 분석 4 : “The Uses-and Gratifiactions Perspective of Media Effects”</h4><p><a href="https://www.researchgate.net/publication/232564235_Uses-and-gratifications_perspective_on_media_effects">https://www.researchgate.net/publication/232564235_Uses-and-gratifications_perspective_on_media_effects</a></p><p><strong>이용과 충족 이론</strong></p><p>메타버스에서의 수용자는 이용자이자 수용자이다. 이용과 충족 이론에 따르면 미디어 매체의 수용자들은 단순히 이용만 하는 것이 아니라 능동적인 상호작용을 통해서 이용을 하고 자신의 목적을 충족 시킨다고 하였다.</p><p>이에 입각하여 web3의 생태계를 분석해 보도록 하겠다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*E9Yo8DRjG-m2XTfSG3Z5NA.png" /><figcaption>출저: 개인제작 (서강대학교 메타버스 대학원 수업시간)</figcaption></figure><p>기존 이용자의 경우 기획자나 개발자가 개발한 컨텐츠 안에서 소비하지만</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*irxb5mEWvcn1is83stX9tA.png" /><figcaption>출저: 개인제작 (서강대학교 메타버스 대학원 수업시간)</figcaption></figure><p>메타버스에서 이용자는 이용자가 이용자이자 생산자가 될 수 있다. 기획자나 개발자는 툴을 개발하고 제공해주는 역할을 하며 이용자가 때로는 이용자가 되어 컨텐츠를 소비하고 때로는 생산자가 되어서 능동적으로 가치를 창출한다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*vN7oOgaIili6Alj9ysnhqw.png" /><figcaption>출저: 개인제작 (서강대학교 메타버스 대학원 수업시간)</figcaption></figure><p>이를 블록체인 기반 하의 web3 생태계에 접목하게 될 시 위와 같이 코인을 소모하여 컨텐츠를 소비하는 이용자와 NFT를 구매하여 캐릭터나 건물 이용권을 가지고서 능동적으로 가치를 창출하려는 생산자가 존재한다. 또한 블록체인이 없는 메타버스와는 다르게 대여자의 개념이 추가되어서 투자의 목적으로 nft를 구매하고 이를 임대해 주게 된다.</p><p>또한 이러한 툴을 개발 인프라로 제공하여 NFT나 랜드, 노드 등으로 판매하는 형태를 취한다.</p><p>이를 통해 보았을 때 메타버스에서의 성공을 위해서는 이용자와 생산자 간의 균형이 중요하며 메타버스에 web3 생태계가 도입된 경우에는 이용자와 생산자 대여자 간의 균형이 중요하다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*-f_fF_D6FoMAAAM0DP4wxw.png" /><figcaption>출저: 개인제작 (서강대학교 메타버스 대학원 수업시간)</figcaption></figure><p>이를 위해서는 이용자들의 욕구를 충족 시켜줌으로서 메타버스를 사용하도록 설득하는 것이 아닌 정보추구, 사회적 욕구, 휴식들과 같이 메타버스 이용자가 원하는 욕구를 찾아서 자신이 능동적으로 선택이 가능한 서비스를 개발해야 한다.</p><h4>도출한 평가 기준</h4><blockquote><strong>이용자와 생산자, 대여자 간의 비율에 균형이 맞아야 한다.</strong></blockquote><blockquote><strong>이용자들의 욕구를 충족 시켜주어서 다수의 이용자들이 능동적으로 메타버스에 참여해야 한다.</strong></blockquote><h4>논문분석 5 :“Flow and Media Enjoyment”</h4><p><a href="https://onlinelibrary.wiley.com/doi/10.1111/j.1468-2885.2004.tb00318.x">https://onlinelibrary.wiley.com/doi/10.1111/j.1468-2885.2004.tb00318.x</a></p><p>몰입과 미디어의 즐거움</p><p>몰입상태는 행위 자체에 즐거움을 느끼는 것이다.</p><p>너무 어려우면 불안한 감정 때문에 몰입이 안되고 너무 쉬우면 쉽기 때문에 몰입이 되지 않아서 적절한 난이도를 유지하는 것이 중요하다.</p><p>flow 상태의 특징은 다음과 같다.</p><p>• 열정적이고 집중력이 높아짐<br> • 행동과 인식이 결합됨<br> • 사회에서의 자기자신을 잊게 됨<br> • 자기 자신에 대한 통제력이 상승했다고 생각<br> • 시간이 빨리 지나감<br> • 경험 자체가 보람있다고 느끼는 상황</p><p>flow을 유발할 수 있는 조건 4가지는 다음과 같다.</p><ol><li>관리가능한 규칙과 명확한 목표</li><li>능력이 수용가능한 수준의 기회가 주어짐</li><li>무엇을 하는것인지에 대한 정확한 인식</li><li>방해로 부터 자유롭고 집중하기 좋은 환경</li></ol><h4>도출한 평가 기준</h4><blockquote><strong>flow에 대한 유발이 가능한 조건 4가지를 사용자들이 인지하고 있어야 한다.</strong></blockquote><h4><strong>논문분석 6 : “ The limited capacity model of mediated message processing”</strong></h4><p><a href="https://academic.oup.com/joc/article/50/1/46/4110103">https://academic.oup.com/joc/article/50/1/46/4110103</a></p><p><strong>제한된 용량의 매게적 처리 모델</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*0CF7LY-aFSa7jhHlWP37PQ.png" /><figcaption>출저: 개인제작 (서강대학교 메타버스 대학원 수업시간)</figcaption></figure><p>1. encoding의 단계</p><p>미디어로 부터 메세지를 전달받았을때 정보로 변환하는 단계 이 단계에서는 자신의 상황에 맞게 이해를 하게 된다. 또한 개인이 소유한 자본의 종류에 따라서 encoding에 영향을 주게 된다. (아래 표 참고)</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*O9h1FG_9JzO-ZcVPjAVRZw.png" /><figcaption>출저: 개인제작 (서강대학교 메타버스 대학원 수업시간)</figcaption></figure><p>2. Storage 단계</p><p>이해한 정보를 저장한 과정으로 사람의 배경지식이나 연관정보 등에 따라서 어떤 정보는 많이 저장되기도 하고 어떤 정보는 더 적게 저장되기도 한다.</p><p>3. retrieval 단계</p><p>저장의 경우 단기적으로 저장될 수도 있지만 장기적으로 저장되어서 나중에 인출이 될 수도 있다.</p><p>기존의 기억과 연결점이 많을 수록 장기기억이 잘 된다.</p><p>정보 처리에 대한 반응을 파악 할 수 있는 2가지 요소</p><ol><li>Orienting Behavior : 심박수 또는 신체 특정 부위의 1~2초에 해당하는 발열과 같이 무의식적으로 나타나는 행동들</li><li>Resource allocation : 수용자는 정신적인 자원이 제한되어 있기 때문에 개인의 상황이나 메세지의 구조에 따라 자원에 대한 할당이 달라지게 된다.</li></ol><p><strong>메타버스에 적용한 경우</strong></p><p>본 논문에서 분석한 TV와는 달리 메타버스에서는 다양한 감각이 존재</p><p>심지어 상호작용도 가능</p><p>=&gt; 제한된 용량의 정보 처리를 제대로 하기 위해서</p><p>기존의 서비스들도 사람들에게 익숙한 UX/UI를 사용한다.</p><p>익숙한 사람에 맞춤형 서비스를 제공하거나 사람들이 먼저 익숙하게 만들어져야 한다.</p><h4><strong>도출한 평가기준</strong></h4><blockquote><strong>- 자연스러운 시나리오를 통해서 유저의 제한된 인지 처리 용량을 절약 여부</strong></blockquote><blockquote><strong>- 사용자 개인의 특성을 파악하여 개인의 과거 경험과 유사한 형태의 경험 제공 여부</strong></blockquote><blockquote><strong>- 사용자의 특정 영역에 대한 배경지식을 파악한 후 그와 유사하거나 비슷한 내용의 경험 제공 여부</strong></blockquote><blockquote><strong>- 사용자가 관심을 가지고 있고 알고 싶어하는 정보 위주의 경험 제공 여부</strong></blockquote><h4>논문 분석 7 :“Parasocial Interaction and Parasocial Communication with New Media Characters”</h4><p><a href="https://www.researchgate.net/publication/280880448_Parasocial_interactions_and_paracommunication_with_new_media_characters">https://www.researchgate.net/publication/280880448_Parasocial_interactions_and_paracommunication_with_new_media_characters</a></p><p>Para Social — 상호작용이 없고 진짜 처럼 느끼는 것들</p><p>기본적으로 interactive 하지는 않지만 interactive 하게 느끼도록 한다.</p><p>=&gt; 가상 캐릭터와 같은 것들이 대표적인 예시</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*6GVBx2h6rLlyCT7WB9rpRw.png" /></figure><p>파라소셜의 경우 브랜드 전략에서 특히 유용하게 쓰인다.</p><p>먼저 인지적인 거리감이 있기에 즐거움이 존재하는 측면이 있다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*s405DOuyxKsaFKb4_0hKZg.png" /></figure><p>반면 인지적인 거리감이 없고 현실과 더 연관이 되어지면 진지해지지만 재밌어 지지는 않게 된다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*h6ZWkuiYLGDHOlunObxHlg.png" /></figure><p>이에 따라 가상 상호작용은 유발하는 주체에 대해 사용자가 관심이 있어야 하고 신뢰가 있어야 하며 의미있는 행동을 유발해야 한다.</p><p>이를 web3에서 자신의 캐릭터로 사용되는 PFP에 적용하여 분석해 보았다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*0allWKDy8678n7GwBaX2RQ.png" /></figure><p>pfp의 경우 실제와 분리되는 인지적인 거리가 있는 경우 즐기는 형태의 모습을 많이 띄게 된다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*DsLazlENrEyw9EZNBBiTJQ.png" /></figure><p>또한 이것이 실제 만남으로 이루어져서 모이게 되었을 때 사람들은 더 즐기는 형태의 모습의 새로운 형태의 상호작용을 경험하게 된다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*6Lt9tjzjXPSRxaGnTFAwtA.png" /></figure><p>가상 상호작용을 잘 유발할 수 있기 위해서는 관심, 신뢰, 의미있는 행위를 모두 충족 시켜야 하는데 이를 PFP NFT에 접목 시켜보면 다음과 같이 분석된다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*iq1FsNF_0k1WR9r0rgHr1g.png" /></figure><p>이를 종합적으로 봤을 때 가상 상호작용이 잘 이루어진 web3 커뮤니티는 다음과 같은 특징을 띄게 된다.</p><h4><strong>도출한 평가기준</strong></h4><blockquote>가상상호작용이 실제 만남으로 이어졌는가?</blockquote><blockquote>가상상호작용에서 현실과는 다르게 더 빠져서 즐겼던 경험을 했던 적이 있는가?</blockquote><h4>논문분석 8 : “At the Heart of It All: The Concept of Presence”</h4><p>존재의 개념</p><ol><li>사회적 풍요로의 존재</li></ol><p>사회적인 교류가 많고 사회적인 면에서 사실적일 때 사람들은 그것을 존재한다고 여긴다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*eGMWJ6_0e8ixj_ZHV_BD8Q.png" /></figure><p>2. 사실주의에 기반한 존재</p><p>현실적인 감각이 더 자세히 구현되었을 때 사람들은 그것을 존재한다고 여긴다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*yg3bEkQw_mnKav4qD3JKhA.png" /></figure><p>3. 공간에 대한 개념</p><p>유저가 직접 이동하거나 특정 대상을 불러오거나 공간을 공유할 때 공간에 대한 개념으로부터의 존재를 느끼게 된다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*AaRoJ2irs2-6MF0F-ynF6A.png" /></figure><p>4. 몰입에 의한 존재</p><p>지각과 심리적 몰입이 있어서 가상환경이 사용자의 지각 시스템을 많이 차지할 경우 몰입에 의해 존재를 느끼게 된다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*dt-k_GIh257x5n2hLIBavg.png" /></figure><p>5. 매체에서의 사회적 행위자로서의 존재</p><p>특정 미디어 속의 인물과의 파라소셜 행위가 있을 경우 이를 존재한다고 느끼게 된다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*LhtDpgvZrPAt5XcVe5ixjA.png" /></figure><p>6. 사회적 행위가 이루어지는 매체 자체의 존재</p><p>미디어 자체와의 상호작용을 통해서 하나의 매체 자체도 사람과 같은 존재로 느낄 수 있다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*u-kIPdb1GMPkgQRjCKO7Fw.png" /></figure><p>이에 입각하여 살펴보았을 때 존재를 느낀다는 것은 다양한 부분의 조합으로 생각할 수 있다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*8dhmkpeunIvPC1rLuuBpLQ.png" /></figure><p>위의 6가지 경험에 대한 요소가 잘 갖추어져 있을 때 메타버스에서의 가상 생명체나 매체 자체를 하나의 존재로서 사람들이 인식하게 된다.</p><h4>도출한 평가기준</h4><blockquote><strong>존재에 대한 항목으로 6가지 평가 사항 도입</strong></blockquote><h4><strong>논문분석 9 : “ Co-constructing identity in virtual worlds for children”</strong></h4><p><a href="https://www.taylorfrancis.com/chapters/oa-edit/10.4324/9781315726465-7/co-constructing-identity-virtual-worlds-children-christoph-hafner">Co-constructing identity in virtual worlds for children | 7 | Discours</a></p><p>어린이를 위한 가상세계에서의 아이덴티티 구축</p><p>해당 논문의 경우 정체성, 행동유발과 제약, 포지셔닝 이론을 통하여 아이덴 티티를 구축한다는 의견을 제시한다. 어린아이를 대상으로 한 실험에 의한 것이지만 어른들에게도 적용이 가능하기에 이를 web3기반 메타버스의 평가기준으로 삼을 수 있다.</p><ul><li>수정) affordance : 유발이 아닌 지각되는 속성과 이를 통한 유도로 수정해서 읽어주시기 바랍니다.<br><a href="https://twitter.com/subinium/status/1587858877399564288">https://twitter.com/subinium/status/1587858877399564288</a></li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*F4lfjug2Hwl_Lajp3plWbQ.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*XUbtO2zNIfVgtkvrKw74gw.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*Lh64GkCrKdHd-_B_48lz7Q.png" /></figure><p>위의 3가지 사항들에 대한 부분을 현재 web3 기반의 PFP 커뮤니티와 P2E 게임에 입각시켜서 분석해 보았다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*dlE-Ao5LdeSVEVbP0qVBJw.png" /></figure><p>먼저 정체성의 경우이다. PFP의 경우 자신의 정체성을 계속해서 만들어 내야 하고 P2E에서도 자신의 정체성을 노동으로 부터 찾게 되면 게임이 재미가 없게 된다.</p><p>*행동 유발 -&gt; 행동 유도</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*sdG8MmgicDFv3Qu24_EI2Q.png" /></figure><p>행동유도와 제약의 입장에서는 PFP에서는 각종 챗굴, 화이트리스트와 같이 사람들이 참여를 하도록 행동을 유도 하며 제약하는 장치가 있으며 P2E에서는 코인을 묶어버리거나 돈을 더 많이 벌도록 욕심을 자극하여 사람들이 돈을 버는 행위에 초점을 맞추도록 하는 행동유도 및 제약을 발견할 수 있었다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*wImU01uxMXgfG0W8TSnqNA.png" /></figure><p>포지셔닝 이론에 입각하여 분석해 봤을때 PFP와 P2E는 모두 다른 사람들과의 커뮤니티를 형성하여 특정 NFT 홀더라는 자신의 정체성을 찾거나 P2E에서 게임 속 다른 사람과의 관계에서 특정 역할을 찾지 못하는 경우 흥행이 어렵다는 사실을 발견할 수 있었다.</p><p><strong>=&gt; 이에 따라 평가 기준을 아래 3가지로 좁힐 수 있었다.</strong></p><h4>도출한 평가기준</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*iU2suO41yv-vdCvqd92mPQ.png" /></figure><h3>결론 : 평가 기준의 마련</h3><p>위와 같이 9개의 논문을 분석한 결과로 성공적인 web3 환경 기반의 메타버스 환경의 평가 기준을 다음과 같이 마련해 보았다.</p><h4><strong>항목 1 : 메타버스에 대한 자산과 법적인 관리가 잘 이루어 지고 있는가?</strong></h4><p><strong>논문 1 =&gt; 메타버스의 관리가 잘 이루어지고 있어서 세금이나 법적인 문제, 문화나 자본 격차에 대한 부분이 완만하게 고려되고 있는지를 평가기준으로 잡아야 한다.</strong></p><p><strong>논문 2=&gt; 메타버스로 인하여 얻을 수 있는 장점인 실물 세상에서의 비효율성 해결에 대한 부분을 얼마나 잘 가져가고 있는지 수요를 잘 이끌어내고 있는지가 평가 기준으로 들어가야 한다.</strong></p><p><strong>논문 3=&gt; 메타버스로 인한 자산이 현실 세계의 자산에 비하여서 어느 정도의 안정성을 가지고 있으며 소유권에 대한 부분을 정확히 명시하고 활용중인지를 메타버스의 평가 기준으로 삼아야 한다.</strong></p><ol><li><strong>이용자들이 자신의 자산에 대한 활용 범위를 정확히 인지하고 있는가?</strong></li><li><strong>이용자들의 세금이나 법적인 문제는 없는가?</strong></li><li><strong>이용자들 간의 양극화 현상이 발생하고 있는가?</strong></li><li><strong>메타버스의 자산이 현실 세계의 자산으로 교환이 가능한가?</strong></li></ol><h4><strong>항목 2 : 메타버스의 구성원의 비율이 잘 어우러지고 있는가?</strong></h4><p><strong>논문 4</strong></p><p><strong>=&gt; 이용자와 생산자, 대여자 간의 비율에 균형이 맞아야 한다.</strong></p><p><strong>=&gt; 이용자들의 욕구를 충족 시켜주어서 다수의 이용자들이 능동적으로 메타버스에 참여해야 한다.</strong></p><ol><li><strong>이용자, 생산자, 대여자 간의 비율이 잘 맞는가?</strong></li><li><strong>다수의 이용자들이 원하는 욕구를 파악하고 있는가?</strong></li></ol><h4><strong>항목 3 : 메타버스 환경에 몰입이 가능한가?</strong></h4><p><strong>논문 5 =&gt; flow에 대한 유발이 가능한 조건 4가지를 사용자들이 인지하고 있어야 한다.</strong></p><ol><li><strong>이용자들이 관리가능한 규칙과 명확한 목표가 있는가?</strong></li><li><strong>이용자들의 능력이 수용가능한 수준의 기회가 주어지는가?</strong></li><li><strong>유저는 무엇을 하는것인지에 대한 정확히 인식하고 있는가?</strong></li><li><strong>이용자들이 방해로 부터 자유롭고 집중하기 좋은 환경을 제공하는가?</strong></li></ol><h4><strong>항목 4 : 정보의 처리가 잘 이루어지고 있는가?</strong></h4><p><strong>논문 6 =&gt; 정보의 처리 단계에 맞춘 콘텐츠를 갖추어야 한다.</strong></p><ol><li><strong>자연스러운 시나리오를 통해서 유저의 제한된 인지 처리 용량을 절약 하고 있는가?</strong></li><li><strong>사용자 개인의 특성을 파악하여 개인의 과거 경험과 유사한 형태의 경험을 제공하고 있는가?</strong></li><li><strong>사용자의 특정 영역에 대한 배경지식을 파악한 후 그와 유사하거나 비슷한 내용의 경험을 제공하고 있는가?</strong></li><li><strong>사용자가 관심을 가지고 있고 알고 싶어하는 정보 위주의 경험을 제공하고 있는가?</strong></li></ol><h4><strong>항목 5 : 가상상호작용이 효과적으로 이루어지고 있는가?</strong></h4><p><strong>논문 7 =&gt; 가상상호작용이 잘 이우러지고 있는가에 대한 평가 기준</strong></p><ol><li><strong>많은 유저들의 가상상호작용이 실제 만남으로 이어졌는가?</strong></li><li><strong>가상상호작용에서 현실과는 다르게 더 빠져서 즐겼던 경험을 했던 적이 있는가?</strong></li></ol><h4><strong>항목 6 : 이용자들이 자신 또는 메타버스의 존재를 잘 느끼고 있었는가?</strong></h4><p><strong>논문 8 =&gt; 이용자들이 사회적 상호작용을 통해 가상세계에 자신이 존재한다고 느꼈는가?</strong></p><ol><li><strong>이용자들이 같은 공간에 있을때 자신이 존재한다고 느꼈는가?</strong></li><li><strong>이용자들이 실제와 같은 환경을 통해 자신이 존재한다고 느꼈는가?</strong></li><li><strong>이용자들이 가상 상호작용을 통해 자신이 존재한다고 느꼈는가?</strong></li><li><strong>이용자들이 몰입을 하면서 자신이 존재한다고 느꼈는가?</strong></li><li><strong>이용자들이 메타버스에서의 안내를 해주는 기기 자체를 사람처럼 느꼈는가?</strong></li></ol><h4><strong>항목 7: 이용자들이 자신의 아이덴티티를 확립할 수 있었는가?</strong></h4><p><strong>논문9 =&gt; 이용자들과 자신의 아이덴티티 확립</strong></p><ol><li><strong>이용자들이 투자자가 아닌 다른 정체성을 메타버스에서 확립하였는가?</strong></li><li><strong>이용자들의 행동 유발과 제약이 수익을 제외한 다른 초점에 맞추어져 있는가?</strong></li><li><strong>이용자들이 자신을 투자자가 아닌 다른 위치로서 포지셔닝 하였는가?</strong></li></ol><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=2bba2881e21a" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[크로스체인과 멀티체인의 차이]]></title>
            <link>https://chohyunki.medium.com/%ED%81%AC%EB%A1%9C%EC%8A%A4%EC%B2%B4%EC%9D%B8%EA%B3%BC-%EB%A9%80%ED%8B%B0%EC%B2%B4%EC%9D%B8%EC%9D%98-%EC%B0%A8%EC%9D%B4-57e517fc3849?source=rss-c89f7b4f00e7------2</link>
            <guid isPermaLink="false">https://medium.com/p/57e517fc3849</guid>
            <category><![CDATA[멀티체인]]></category>
            <category><![CDATA[크로스체인]]></category>
            <category><![CDATA[체인의정석]]></category>
            <dc:creator><![CDATA[체인의정석]]></dc:creator>
            <pubDate>Tue, 06 Dec 2022 10:46:29 GMT</pubDate>
            <atom:updated>2022-12-06T10:46:29.302Z</atom:updated>
            <content:encoded><![CDATA[<p>크로스체인과 멀티체인의 차이에 대하여</p><h3>Multi chain vs Cross chain</h3><p>전에 람다 256을 다닐때 크로스체인 브릿지에 대한 글을 쓴 적이 있다.</p><p><a href="https://luniverse.io/2021/11/16/crosschain-bridges/?lang=ko">크로스체인 브릿지(Crosschain Bridges)란 무엇인가?</a></p><p>아무튼 이때 크로스체인 브릿지에 대하여 단어를 사용하느라 멀티체인과 크로스 체인 브릿지에 대한 차이에 대해서 정리를 해봤었는데</p><p>당시에는 비탈릭 부테린이 언급한 블록체인 트릴레마 중 멀티체인 생태계가 언급된 것을 보고</p><blockquote>멀티체인 : 코스모스와 같은 레이어 0</blockquote><blockquote>크로스체인 : 서로 다른 네트워크 간의 연결</blockquote><p>이 정도로 예시를 생각하고 글을 작성 했었다.</p><p><a href="https://medium.com/decipher-media/%EB%AF%B8%EB%9E%98%EB%8A%94-%ED%81%AC%EB%A1%9C%EC%8A%A4%EC%B2%B4%EC%9D%B8%EC%9D%B4-%EC%95%84%EB%8B%8C-%EB%A9%80%ED%8B%B0%EC%B2%B4%EC%9D%B8%EC%97%90-%EC%9E%88%EB%8B%A4-a6f3da8f6148">미래는 크로스체인이 아닌 멀티체인에 있다</a></p><p>근데 상현님의 글을 보니 비탈릭 부테린이 cross roll up 형태의 서비스 (레이어 2)를 멀티체인으로 분류하는 것이 보였다.</p><h3>vitalik.eth on Twitter: &quot;My argument for why the future will be *multi-chain*, but it will not be *cross-chain*: there are fundamental limits to the security of bridges that hop across multiple &quot;zones of sovereignty&quot;. From https://t.co/3g1GUvuA3A: pic.twitter.com/tEYz8vb59b / Twitter&quot;</h3><p>My argument for why the future will be *multi-chain*, but it will not be *cross-chain*: there are fundamental limits to the security of bridges that hop across multiple &quot;zones of sovereignty&quot;. From https://t.co/3g1GUvuA3A: pic.twitter.com/tEYz8vb59b</p><p>결국 상현 님에게 물어본 결과 크로스체인이냐 멀티체인이냐의 단어를 선정할 때는 서비스 입장에서 판단하면 구분이 쉽다고 한다.</p><blockquote>서비스가 여러 체인에 서로 엮어서 상호 영향을 끼침 = 크로스체인 서비스</blockquote><blockquote>독립적인 체인들에 독립적으로 서비스 = 멀티체인 서비스</blockquote><h3>멀티체인과 크로스체인 서비스 예시</h3><p>그럼 해당 가정 하에 다시 글을 살펴보겠다.</p><h3>vitalik.eth on Twitter: &quot;Note that cross-rollup apps within one zone of sovereignty are still fine. Not also that this also is a limit to the &quot;modular blockchains&quot; vision: you can&#39;t just pick and choose a separate data layer and security layer. Your data layer must be your security layer. / Twitter&quot;</h3><p>Note that cross-rollup apps within one zone of sovereignty are still fine. Not also that this also is a limit to the &quot;modular blockchains&quot; vision: you can&#39;t just pick and choose a separate data layer and security layer. Your data layer must be your security layer.</p><p>트위터 스레드를 보면 zone of sovereignty라는 단어를 사용하는데 이는 자신의 주권에 대한 영역을 의미한다. 물론 이더리움의 입장이긴 하지만 이를 어느정도 고려하여 생각해보면 주권에 대한 영역을 신뢰성이 확보되는 하나의 레이어를 기준으로 돌아가는 다중 체인 생태계를 의미한다고 보고 구분 지을 수 있을 것이다.</p><p>예전에 람다를 다닐때 구현했던 NFT 브릿지의 경우 크로스 체인 서비스이다.</p><p>서비스를 구현하면서 루니버스와 이더리움간의 서로 다른 네트워크 2개를 Cross (교차)하여 사용했기 때문이다. 여기서 결국 자기 nft의 주권의 경우 이더리움 레이어가 아닌 랩드 nft가 넘어간 해당 체인에 영향을 받는다고 볼 수 있다.</p><p>그러나 비탈릭 부테린이 언급한 cross roll up 형태의 레이어2의 경우에는 멀티체인 서비스이다.</p><p>여기서 말한 롤업 기반의 레이어 2  브릿지는 아래 필자가 작성한 stem cell NFT가 여기에 해당될 것이다.</p><p><a href="https://chohyunki.medium.com/cross-rollup-nft-wrapper-56be479d67f7">비탈릭 부테린이 제안한 NFT에 대한 새로운 롤업 방안 “stem cell NFT”</a></p><blockquote>한마디로 기존에는 토큰 브릿지와 같이 nft 하나하나를 컨트렉트에 락 해두고 다른 체인에서 풀어주는 식으로 진행이 되었으나, 이번에 제안된 stem cell NFT는 원본 체인에 해시값만 두고 이를 그대로 다른 체인에 옮겨둔 상태에서 다른 체인에서 원본 체인에 대한 해시값에 대한 증명만 zk snarks와 같은 영지식 증명을 이용하여 진행하면 된다고 보는 아이디어이다. 사실상 NFT와 같은 경우 모든 정보가 원래 체인 위에 올라가있지 않고 이렇게 해시값에 대한 증명만 있다고 하더라도 대부분의 거래는 레이어2에서 이루어질 것이므로 사람들이 가치를 똑같이 느낄 수 있을것이라고 본다.</blockquote><p>이런 stem cell NFT와 같은 형태로 서비스를 구현하는 입장에서 보면 이더리움 생태계 (1개의 생태계 , 1개의 zone of sovereignty)에서 Multi (다중) 체인을 사용한 서비스이다.</p><p>이런 형태의 레이어 2 브릿지에서 결국 자신의 주권에 대한 zone은 이더리움이 되기 때문에 이더리움 안에서의 멀티체인 서비스로 볼 수 있는 것이다.</p><p>따라서 서비스를 구현하는 입장에서 어떠한 방식으로 구현하느냐에 따라서 크로스체인인지 멀티체인인지가 정해지게 되며</p><p>브릿지의 방향 또한 서비스를 구현하는 입장에서 하나의 생태계 안에서 다양한 체인을 연결하였다면 멀티체인 서로 상이한 생태계를 연결한 서비스라면 크로스 체인으로 분류할 수 있다.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=57e517fc3849" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[OpenSea 컨트렉트의 버전별 특징과 핵심로직 분석]]></title>
            <link>https://medium.com/curg/%EC%98%A4%ED%94%88%EC%94%A8-%EC%BB%A8%ED%8A%B8%EB%A0%89%ED%8A%B8%EC%9D%98-%EB%B0%9C%EC%A0%84-%EA%B3%BC%EC%A0%95%EA%B3%BC-%EB%B2%84%EC%A0%84%EB%B3%84-%ED%95%B5%EC%8B%AC-%EB%A1%9C%EC%A7%81-%EB%B6%84%EC%84%9D-c1c2f592242?source=rss-c89f7b4f00e7------2</link>
            <guid isPermaLink="false">https://medium.com/p/c1c2f592242</guid>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[오픈씨컨트렉트분석]]></category>
            <category><![CDATA[오픈씨분석]]></category>
            <category><![CDATA[체인의정석]]></category>
            <category><![CDATA[nft거래소]]></category>
            <dc:creator><![CDATA[체인의정석]]></dc:creator>
            <pubDate>Mon, 05 Sep 2022 17:32:48 GMT</pubDate>
            <atom:updated>2022-09-11T09:45:32.864Z</atom:updated>
            <content:encoded><![CDATA[<h3>OpenSea 컨트랙트의 버전별 특징과 핵심로직 분석</h3><p><strong>조현기 | alumni of CURG | timehacker95@gmail.com</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*K1vy-Sfn2PagP6x6o63Srw.png" /></figure><h3>들어가며</h3><p>현재 CURG의 졸업 멤버로 활동중인 필자는 같은 기수에 활동했던 멤버와 함께 블록체인 관련 현직자로 구성된 개발/기획 파트 총 4명이서 서비스를 분석하는 서적을 집필 중이다. 필자가 담당하는 부분은 NFT와 NFT 거래소인데 집필 기간이 예정보다 길어지면서 오픈씨의 컨트랙트도 계속해서 업데이트가 되었고 결국 집필 도중에 새로운 컨트랙트를 분석해야 되는 상황이 되었다. 또한 실무에서도 해당 부분을 다루게 되어서 결국 오랜 기간 많은 구글링과 정리를 진행해왔고 이 글이 NFT 거래소를 분석하는 사람들에게 한줄기 빛이 되길 바라며 시간을 쪼개어 글을 작성하게 되었다.</p><p>일단 본 글의 경우 예전에 작성했던 “오픈씨 거래소의 구조, 직접 뜯어보자” 를 먼저 읽어보면 좋다. 글을 처음 쓰면서 분석했던 내용을 바탕으로 작성했는데 이때는 이해도가 높지는 않았어서 내용이 간략하다</p><p><a href="https://medium.com/curg/%EC%98%A4%ED%94%88%EC%94%A8-%EA%B1%B0%EB%9E%98%EC%86%8C%EC%9D%98-%EA%B5%AC%EC%A1%B0-%EC%A7%81%EC%A0%91-%EB%9C%AF%EC%96%B4%EB%B3%B4%EC%9E%90-253469a9224">오픈씨 거래소의 구조, 직접 뜯어보자</a></p><p>개발적이고 상세한 내용을 원한다면 최근 EIP712를 사용한 프로젝트에서 컨트렉트를 하나 작성하였는데 미디엄으로 글을 쓰는 대신 개발 블로그에 정리를 해둔 글이 있다. NFT 거래소에 대한 코드를 더 정확히 파악하고 싶다면 아래 글을 읽어보는 것을 추천한다.</p><p><a href="https://it-timehacker.tistory.com/316">EIP712 사용하여 오더북 만들기, EIP712 사용법 프론트엔드에서 스마트컨트렉트까지</a></p><p>NFT 거래소에서는 EIP712를 사용하는 부분이 결국 핵심이라고 볼 수 있는데 이에 대한 기술적인 부분은 위의 티스토리에서 다루고 있다. 두서 없이 정리된 글이지만 오랜 기간 구글링과 시행착오를 겪으며 나온 내용이기 때문에 블로그 글도 한번 읽어보는 것을 추천한다.</p><h3>본 글에서 분석하는 오픈씨의 소스코드</h3><p>혹시 현시점 기준으로 1년 동안 무려 3번이나 오픈씨의 소스코드가 바뀌었다는 사실을 아는가? 현업 개발자로서 그리고 연구자로서 모든 과정을 분석했던 필자의 입장에서는 정말 익숙해질만하면 업데이트 되는 오픈씨의 코드를 보고 감탄하였다. 개발자로서 모든 코드를 다 보고 싶긴 하지만 바쁜 일상 속 모든 코드를 다 파악할 시간은 주어지지 않았기 때문에 핵심 내용만 간추려서 이해하고 활용방안을 찾을 수밖에 없었다.</p><p>오픈씨의 이 모든 업데이트는 다 이유가 있었고 우리는 그 과정을 통해서 모든 버전의 코드를 알지는 못하더라도 핵심적인 부분을 파악하고 이해해야 한다.</p><p>괜찮다. 이미 오랜기간 삽질을 거친 필자가 핵심 부분만 뽑아서 정리해 볼 예정이니 편하게 읽고 흡수하면 된다.</p><ol><li>wyvern exchange v1 (코드상 version 2.2)</li></ol><p><a href="https://etherscan.io/address/0x7be8076f4ea4a4ad08075c2508e481d6c946d12b#code">OpenSea: Wyvern Exchange v1 | Address 0x7be8076f4ea4a4ad08075c2508e481d6c946d12b | Etherscan</a></p><p>2. wyvern exchange v2 (코드상 version 2.3)</p><p><a href="https://etherscan.io/address/0x7f268357a8c2552623316e2562d90e642bb538e5#code">OpenSea: Wyvern Exchange v2 | Address 0x7f268357a8c2552623316e2562d90e642bb538e5 | Etherscan</a></p><p>3. seaport v1</p><p><a href="https://etherscan.io/address/0x00000000006cee72100d161c57ada5bb2be1ca79#code">Seaport 1.0 | Address 0x00000000006cee72100d161c57ada5bb2be1ca79 | Etherscan</a></p><p>먼저 들어가기에 앞서 Wyvern Exchange vesion 2.2는 이더스캔 상에서 version1으로 2.3은 version2로 분류되어 있다. 그리고 WyvernExchange version3가 개발되는가 싶더니 실제로는 seaPort 컨트렉트를 배포하고 사용하게 되었다.</p><p>간단히 요약하자면 아래 표처럼 나타날 수 있지만 자세히 살펴보도록 하겠다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/659/1*ajK2lwyKR-RiUyH-Ro8Irw.png" /></figure><h3>Wyvern Exchange version 1</h3><p>필자가 처음 오픈씨를 사용했을 당시에는 EIP712 서명이 적용되기 이전이였다. 이것이 그리 오래되지는 않았는데 아마 작년말에서 올해 초 쯤이였던거 같다.</p><p>이 부분은 자료 조사를 하다가 알게 된 사실이였는데 EIP712 서명 전에는 오더 구조체를 만들고 서명을 할 때 오류가 있었다고 한다. 다행히 버그 바운티를 하면서 이 오류가 발생이 되었는데 이는 바로 입력값에 악의적인 바이트 코드를 입력시켜서 shift 연산을 발생시켜 오더북을 조작하는 방식이다. 오더북이 조작된다는 것은 매우 위험한데 이더리움 없이도 오퍼를 걸어서 돈을 얻어오거나 하는 작업이 가능하다.</p><p>오픈씨의 거래가 완전히 탈중앙화가 되지 않고 서명된 데이터를 가지고 있다가 검증하는 로직을 쓰기 때문에 이처럼 소위 오라클 이슈라고 불리는 데이터가 조작된 채로 트랜잭션을 일으키는 문제가 발생할 수 있는 것이다.</p><p><a href="https://nft.mirror.xyz/VdF3BYwuzXgLrJglw5xF6CHcQfAVbqeJVtueCr4BUzs">Horton Hears A Who!</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*8bifzs5NM5hgoKx2Ib1dWw.png" /></figure><p>해당 서명은 EIP191 이라고 불리는 서명으로서 아래 링크에 공식 문서가 있다. 그리고 링크를 들어가 보게 되면 EIP191 서명을 사용하기 위해 넣어야 하는 문구가 보인다.</p><p><a href="https://eips.ethereum.org/EIPS/eip-191">ERC-191: Signed Data Standard</a></p><p>아래 코드는 version 1의 hash to Sign이라는 함수로 구조체를 받아와서 서명을 하는 부분이다. 유저는 메타마스크에서 서명을 하고 결과를 도출한다면 컨트렉트에서는 해당 order를 오프체인 저장소에서 가져와서 그대로 넣어서 활용하게 된다. 그래서 hashToSign은 핵심 로직이라고 볼 수 있는데 EIP191 서명을 사용한 것을 확인 할 수 있다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/771/1*a2MQLGYAlvFi7o5bh6T4jA.png" /></figure><p>아무튼 공격을 받을 수 있다는 사실을 깨달은 오픈씨는 업데이트 하는 김에 EIP712 서명을 진행시키면서 WyvernExchange 2.3 버전을 출시한다. EIP712 서명의 경우 UX적인 측면에 있어서도 장점이 있는데 유저가 직접 Order 구조체의 내용을 확인해 보면서 서명을 할 수 있다는 점이다.</p><h3>Wyvern Exchange version 2</h3><p>혹시.. 아래 서명 화면을 본 독자가 있는가? 필자는 이걸 처음 본 순간 해킹을 당한 건 아닌지 사긴지 아닌지 공식 블로그만 보고 확인하고 넘어갔다.</p><p>일반적으로 우리가 사용하는 트랜잭션과는 다르게 해당 서명은 가스비를 지출하지 않는다. 대신 거래 정보를 지갑 주소로 암호화 해서 넘기는 작업에 해당된다. 우리가 소위 Permit 함수로서 익숙한 함수에서 사용되는 EIP712 서명이 여기에 해당된다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/180/1*0DpOPEdhDQ8VEyUuwK5-Qg.png" /><figcaption>EIP712 도입이후의 서명 화면</figcaption></figure><p>Wyvern Exchange가 나오고 가장 크게 바뀐 부분은 서명을 할때 구조체 형태로 유저가 서명하는 정보를 직접 확인할 수 있는 점이다. 물론 이걸 확인하는 유저는 보지 못했으며 나도 코드 분석 전에는 읽지도 않았다. 사실 요즘 오픈씨를 쓸때도 안읽고 서명하는 걸 보니 유효성이 있는지는 모르겠지만 일단 서명된 데이터를 보여주고 서명하는게 타당하다는 점에는 동의한다.</p><p>아무튼 eIP 712 공식 다큐먼트는</p><p><a href="https://eips.ethereum.org/EIPS/eip-712">EIP-712: Typed structured data hashing and signing</a></p><p>이 링크를 통해서 볼 수 있는데 여길 보면 EIP191 서명도 있고 밑에 EIP712 규격이 또 적혀있다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*22_NHbWm6a6K7ExgH63Fug.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/491/1*2xzwYaq2A7sxnBkEDQENlg.png" /></figure><p>핵심만 뽑자면 EIP712 서명을 하기위에서는 위와 같은 형태로 해시를 해주어야 한다.</p><p>먼저 domainSeprator를 보겠다.</p><p>string name</p><p>string version</p><p>uint256 chainId</p><p>address verifying</p><p>Contract bytes32 salt</p><p>위 5개 값이 들어가는 부분이 domain Seprator인데 이때 salt는 옵션으로 넣어주면 된다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/857/1*offaS_k_hoKPFq-FLPVQfQ.png" /></figure><p>오픈씨 컨트렉트에서도 domain Seperator가 위와 같이 쓰이고 있다.</p><p>그럼 다음으로 hash struct를 보겠다.</p><p>공식 예제를 보면 typehash가 먼저 나오고 그 뒤에 데이터가 각각 들어간다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/595/1*wnWRfQqgFA2YzdM03nkJrQ.png" /></figure><p>타입 해시는 위와 같이 구조체의 이름과 요소를 순서대로 나열한 후 해시한 값이며,</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/726/1*TuyQtcaDCpTS4ho-5hJCpA.png" /></figure><p>hash struct는 타입해시를 첫번째 값으로 둔 후에 뒤에 필요한 정보를 넣는 부분이다. (이때 주의할 점은 문자열인 경우 keccack256을 한번 더 해주어야 한다는 점이다.)</p><p>아무튼 hashOrder를 보게 되면 맨 위에 타입해시가 있는것을 볼 수 있다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/771/1*rTeDUiXmro7O63IUBxuMyw.png" /></figure><p>아래의 코드는 위와 똑같은 hashToSign 함수이다. 이전에 구한 도메인 세퍼레이터와 hashOrder 함수를 통한 hashStruct를 생성하는 식으로 서명 데이터를 불러오는 것을 볼 수 있다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/791/1*Fm-Pi7VHcioRKAvtJ0gk1g.png" /></figure><p>이제 이 데이터와 오프체인에서 받아온 파라미터들을 기반으로 거래의 타당성을 입증 할 수 있다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/781/1*U3V995QJiAieqbuzk8sfmw.png" /></figure><p>위의 코드는 atomic match로 buy는 오프체인에 저장된 Order 구조체 형태로 입력되고 여기에 대한 eip712 서명인 buySig가 같이 들어오게 된다.</p><p>validateOrderParameter인지 requireValidOrderWithNonce인지는 구매자의 트랜잭션인지 판매자의 트랜잭션인지에 대한 부분에 해당되며 각 케이스에 따라서 타당성을 판단한다.</p><p>eip712 signature = 복호화(OrderStruct ,서명에 사용한 지갑주소)</p><p>위와 같은 공식이 적용하기 때문에 위의 hashToSign을 통하여 입력받은 서명 정보의 타당성을 체크하여 거래의 유효성을 체크한 뒤 맞으면 토큰을 전송해 주는 로직을 실행하는 것이다.</p><p>아래 표는 서적에 들어갈 표인데</p><p>WyvernExchange V2 컨트렉트에 대한 전체 구조를 그린 내용이다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/777/1*yzNm7xnIkBITa0wmyXI90A.png" /></figure><p>그리고 서명에 대한 세부적인 흐름은 아래와 같다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/759/1*5hNlDn45d7EsxLuxP6uqCw.png" /></figure><h3>Seaport</h3><p>불과 2~3달 2022년 6월 14일까지 오픈씨가 사용하던 WyvernExchange의 경우 서명하는 내용을 사용자들이 확인하는 EIP712 형태의 서명을 사용하였다. 이 맘때쯤 NFT 시장은 어땠을까? 유례없는 불장을 맞이한 NFT시장에서 수수료가 심각한 문제로 대두되기 시작했다.</p><p>이에 따라 오픈씨는 돈도 많이 벌었겠다. 가스비 최적화 작업을 시작한다. 그결과 나오게 된 것이 SeaPort이다.</p><p>Seaport 컨트렉트는 분석이 매우 어렵다. 그 이유는 바이트 코드 레벨까지 가서 매우 복잡한 방법으로 가스를 최적화 하였기 때문이다. 필자는 씨포트 코드를 분석하다가 놀랐는데 그 이유는 생성자가 무려 10번이나 타고 들어가는 코드가 있을 만큼 컨트렉트 구조가 매우 세밀하게 나뉘어져 있기 때문이였다.</p><p>변수나 구조체 하나하나 정의한 후 컨트렉트별로 분류한 것을 확인할 수 있다. 코드를 조금만 살펴보도록 하겠다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/647/1*oPH1AO7BPE9GGEL7G_ATJg.png" /></figure><p>위의 코드는 Seaport에서의 Order의 파라미터이다. Seport에서는 다양한 종류의 Order struct가 있는데 그 중 하나라고 보면 된다. BasicOrderParameters에서는 총 18개의 파라미터가 있다. 이 코드를 실제로 실행시키려고 하면 아래의 에러가 발생하게 된다.</p><p>“CompilerError: Stack too deep, try removing local variables”</p><p><a href="https://it-timehacker.tistory.com/312?category=906404">Solidity에서 자주 만나는 에러 &quot;CompilerError: Stack too deep, try removing local variables.&quot; 그리고 에러에 대한 해결 방안 정리 , 이벤트 로그와 함수 입력값 구조체로 개수 줄이기</a></p><p>컨트렉트 개발을 많이 해본 사람이라면 한번쯤 겪어봤을 에러이다. 파라미터의 총 개수가 16개 이상이면 나는 에러인데 이에 대한 해결방안은 구조체 형태로 파라미터를 받는 방법이 있다.</p><p>아무튼 이런 무거운 구조체를 다루기 때문에 어셈블리어를 활용한 문법이 들어간다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/772/1*jmsCE33o9-J3GvD8Ll1Y4w.png" /></figure><p>위 코드의 주석을 보면 basicOrderType을 포인터를 지정해서 원하는 부분만 가져오고 그 이후로는 연산을 시켜가며 원하는 부분만을 뽑아내는것을 볼 수 있다. 이런식으로 꼭 필요한 데이터만 메모리에 불러다 놓고 사용하기 때문에 Seaport는 수수료를 훨씬 적게 잡아먹게 된다.</p><h3>EIP712 서명으로 나만의 거래소 구현하기</h3><p>만약 EIP712 서명에 대해서 제대로 공부를 하고 싶다면 아래 링크에 가서 정독을 하는 것을 추천한다.</p><p><a href="https://eips.ethereum.org/EIPS/eip-712">https://eips.ethereum.org/EIPS/eip-712</a></p><p>먼저 핵심 로직인 eip712 서명을 이해해야 오픈씨의 주요 거래 로직을 이해할 수 있다. 비단 오픈씨 뿐만이 아니다 대부분의 거래소의 경우 eip712 서명을 사용하고 있다. 아마 많은 사람들이 eip712 서명을 접하는 첫 케이스는 permit일 것이다. 그럼 오픈씨 컨트렉트에 나와있는 복잡한 EIP712 서명 로직을 내가 직접 구현해야 할까?</p><p><a href="https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/cryptography/EIP712.sol">openzeppelin-contracts/EIP712.sol at master · OpenZeppelin/openzeppelin-contracts</a></p><p>답은 역시 개발자의 교과서라고 부를 수 있는 오픈제플린에 있었다. 본 글을 작성하는 시점에서 19일 전에 Draft딱지가 사라지면서 정식 코드로 채택된 EIP712 코드이다.</p><p>이걸 이용하면 Order에 대한 hash struct만 지정해주면 내가 비교 할 데이터를 Order 구조체에 넣어주고 정보를 입력받아서 hash struct로 만들어주는 함수만 따로 만들면 나만의 NFT거래소를 만들 수 있다.</p><p>여기에 대한 내용은 필자의 개발 블로그에도 정리해 두었으니 궁금한 독자는 읽는것을 추천한다.</p><p><a href="https://it-timehacker.tistory.com/318?category=906404">Solidity 0.8.0 버전에서 HashStruct안에 UUID 넣는 법</a></p><h3>마무리하며</h3><p>필자는 해당 내용에 대한 세부 사항들을 서적을 집필하면서 더 자세히 정리하였다. 아래 링크는 해당 글에 대해서 다룬 트위터와 유튜브 링크이다. 앞으로 다른 서비스 또한 비슷한 형태로 다뤄볼 예정이니 많은 관심 바란다.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FyLRyPhnlvU0%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DyLRyPhnlvU0&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FyLRyPhnlvU0%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/3d66a6148d020ea8a65109d170a08a08/href">https://medium.com/media/3d66a6148d020ea8a65109d170a08a08/href</a></iframe><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FINvWh8vJkV8%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DINvWh8vJkV8&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FINvWh8vJkV8%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/eba1e9ceb9db3bbf29f4a99c572fadbe/href">https://medium.com/media/eba1e9ceb9db3bbf29f4a99c572fadbe/href</a></iframe><p><a href="https://twitter.com/stone_chain/status/1566946633807699968?s=20&amp;t=s32Ta3s_VKPMFhhlH_ctxA">https://twitter.com/stone_chain/status/1566946633807699968?s=20&amp;t=s32Ta3s_VKPMFhhlH_ctxA</a></p><h3>Reference</h3><ul><li><a href="https://nft.mirror.xyz/VdF3BYwuzXgLrJglw5xF6CHcQfAVbqeJVtueCr4BUzs">https://nft.mirror.xyz/VdF3BYwuzXgLrJglw5xF6CHcQfAVbqeJVtueCr4BUzs</a></li><li><a href="https://eips.ethereum.org/EIPS/eip-191">https://eips.ethereum.org/EIPS/eip-191</a></li><li><a href="https://eips.ethereum.org/EIPS/eip-712">https://eips.ethereum.org/EIPS/eip-712</a></li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c1c2f592242" width="1" height="1" alt=""><hr><p><a href="https://medium.com/curg/%EC%98%A4%ED%94%88%EC%94%A8-%EC%BB%A8%ED%8A%B8%EB%A0%89%ED%8A%B8%EC%9D%98-%EB%B0%9C%EC%A0%84-%EA%B3%BC%EC%A0%95%EA%B3%BC-%EB%B2%84%EC%A0%84%EB%B3%84-%ED%95%B5%EC%8B%AC-%EB%A1%9C%EC%A7%81-%EB%B6%84%EC%84%9D-c1c2f592242">OpenSea 컨트렉트의 버전별 특징과 핵심로직 분석</a> was originally published in <a href="https://medium.com/curg">CURG</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[오픈씨 거래소의 구조, 직접 뜯어보자]]></title>
            <link>https://medium.com/curg/%EC%98%A4%ED%94%88%EC%94%A8-%EA%B1%B0%EB%9E%98%EC%86%8C%EC%9D%98-%EA%B5%AC%EC%A1%B0-%EC%A7%81%EC%A0%91-%EB%9C%AF%EC%96%B4%EB%B3%B4%EC%9E%90-253469a9224?source=rss-c89f7b4f00e7------2</link>
            <guid isPermaLink="false">https://medium.com/p/253469a9224</guid>
            <category><![CDATA[blockchain]]></category>
            <dc:creator><![CDATA[체인의정석]]></dc:creator>
            <pubDate>Sat, 14 May 2022 01:58:44 GMT</pubDate>
            <atom:updated>2022-05-14T03:56:06.962Z</atom:updated>
            <content:encoded><![CDATA[<p>많은 사람들이 이용하고 있는 오픈씨, 그러나 오픈씨에서 어떤 프로세스를 통해서 자산을 이동하는지 어디까지가 온체인의 영역이고 어디까지가 오프체인의 영역인지 알기는 쉽지 않다. 그래서 이번 글을 통해서 오픈씨가 어떻게 작동하는지 알아보는 시간을 가져보려고 한다.</p><h3>테스트넷 환경 세팅하기</h3><p>먼저 오픈씨의 경우 아래 링크를 통하면 Rinkeby 테스트넷으로 사용해 볼 수 있다. 직접 메인네트워크에서 오픈씨를 사용하는것은 너무 비용이 많이 들기 때문에 rinkeby에서 사용하도록 하겠다.</p><p><a href="https://testnets.opensea.io/">https://testnets.opensea.io/</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*dI-Mr3QYEi1EtqEEhquBWA.png" /></figure><p>참고로 Rinkeby의 테스트네트워크 이더리움은 체인링크 faucet 또는 구글에 rinkeby faucet으로 치면 나오는 여러 facuet에서 무료로 제공을 받을 수 있다.</p><p><a href="https://faucets.chain.link/rinkeby">Faucets | Chainlink</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*t50Wd3MIYd_cdLb7e9IzrQ.png" /></figure><p>어차피 nft를 직접 발행하는 과정부터 살펴볼 예정이기 때문에 0.1 테스트 이더리움 정도면 충분히 사용이 가능하다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/766/1*8NaH-LkvNRXIJCkqVBvF6A.png" /></figure><p>신청이 완료되면 이렇게 테스트용 이더리움이 왔다는 신호가 나오고 메타마스크에서 확인이 가능하다.</p><h3>NFT발행 부터 리스팅 까지의 프로세스</h3><p>일단 오픈씨의 경우 자체적으로 nft를 발행할 수 있는 서비스를 제공한다. 이는 주로 nft 아트를 하는 작가들이 프로그래밍 적인 배포 없이 nft를 마켓에 올릴때 사용하게 되는데 오픈씨에서자체적으로 제공하는 민팅 툴을 사용해서 nft를 민팅할 경우 ERC1155를 통해서 nft를 발행한다. ERC1155를 사용하는 이유는 관리 비용이 적게 들기 때문인데, ERC1155의 경우 멀티토큰을 지원하는 만큼 개별 토큰에 대한 자유도는 떨어지게 된다. 따라서 다양하게 함수를 구현하고 싶은 PFP와 같은 만개 이상의 프로젝트 형태의 nft들은 보통 ERC721 컨트렉트를 자체적으로 배포하면 오픈씨가 별도의 절차 없이 이를 알아서 가져와서 마켓에서 보여주게 된다. 마치 이더스캔에서 nft에 대한 등록 없이 누구나 와서 볼 수 있는것처럼 ERC721로 배포한 nft를 특정 팀이 오픈씨에 제출해서 거래를 요청하지 않더라도 오픈씨가 알아서 가져와서 거래를 지원하기 때문에 누구나 와서 보거나 거래를 할 수 있다.</p><p>일단 발행부터 리스팅 까지는 놀랍게도 NFT가 실제로 생기는 것이 아니다. NFT가 생기는 시점은 바로 최초의 거래가 이루어지는 순간이다. 따라서 NFT를 만드는 작가들은 가스비를 생각보다 적게 부담한다.</p><p>그럼 직접 살펴보도록 하겠다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*xPMQjF76QH28dxTb5-jSmw.png" /></figure><p>먼저 원하는 정보를 넣는다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*m21Shjlv3B026kkPXDuN-Q.png" /></figure><p>이때 실제로 블록체인에 저장되는 데이터는 이름밖에 없다. 나머지는 오픈에서 자체적으로 관리하는 블록체인 밖의 저장공간에 들어가게 된다.</p><p>이렇게 발행된 NFT의 경우 ERC1155로 발행되게 되고 사용자는 초기 지갑생성(Initialize Wallet) 트랜잭션만 보내면 오픈씨에 아이템이 리스팅 된다. 컨트렉트 형태의 지갑을 통해 Wyvern protocol과 상호작용을 하기 때문에 지갑을 만드는 과정이 최초1번 필요하게 되는 것이다. 와이번 프로토콜이 지갑을 컨트렉트 주소 형태로 만든 후 이를 레지스트리에 등록시켜서 이후 프로세스를 서명을 모아서 한번에 처리해주는 릴레이어 형태의 구조이기 때문에 지갑 결국 nft 발행까지의 프로세스중 온체인 트랜잭션은 오직 지갑생성 트랜잭션, 그것도 최초 1회 한번만 있을 뿐이다. 그 이후에는 리스팅 할 때 오프체인으로 정보를 서명해서 wyvern exchange 컨트렉트에 넘기는 행위만 하면 된다. 오프체인이기 때문에 이더리움 수수료도 발생하지 않는다.</p><h3>Wyvern Protocol</h3><p>그럼 나머지 트랜잭션들은 생성한 지갑을 통해 wyvern protocol 이라는 외부 시스템을 사용해서 한다는 것인데 어떤 프로세스로 이게 이루어지는 걸까?</p><p>먼저 Wyvern protocol의 경우 조사를 해본 결과 오픈소스로 어떤 프로젝트든지 거래소에 대한 쉬운 지원을 해주는것이 목적인 서비스이다. 하지만 사실상 오픈씨를 제외한 케이스는 찾아도 잘 보이지가 않았다. 따라서 다른 와이번 프로토콜을 사용하는 다른 예시에 대해서는 이번 글에서 소개가 어렵겠으며, 오픈씨가 대표적인 유즈케이스라고 보면 된다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*OpUztPkE4EZpOIPpMLHoew.png" /></figure><h3><strong>Wyvern exchange가 오픈씨의 거래를 처리시켜주는 원리</strong></h3><p>그럼 이 복잡한 프로토콜에서 우리가 알아야 할 함수는 무엇이 있을까?</p><p>이더스캔을 통해서 살펴보겠다.</p><p><a href="https://etherscan.io/txs?a=0x7f268357a8c2552623316e2562d90e642bb538e5&amp;f=3">https://etherscan.io/txs?a=0x7f268357a8c2552623316e2562d90e642bb538e5&amp;f=3</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*j_-xNYZHQdxje6fkLHV2Tg.png" /></figure><p>실제 사용중인 wyvernExchange 컨트렉트이다. 보면 AtomicMatch랑 CancelOrder가 나와있는데 이렇게 두개의 트랜잭션을 통해 오픈씨는 모든 거래를 모두 담당한다. 이렇게 2개로 어떻게 모든 거래를 담당하는걸까?</p><p>그 이유는 바로 오픈씨에서는 유저들이 최초 1회 initialize wallet을 진행했기 때문에 정보를 wyvern exchange가 미리 받아놓은 상황이고 받아놓은 정보를 바탕으로 한번에 atomic 하게 거래를 match 시켜서 저장해 놓은 기록을 바탕으로 한번에 거래를 성사시키기 때문이다.</p><p>예를들어 A 가 1번 nft를 0.5 이더리움에 올린다고 했을때 해당 리스팅 정보는 사인을 해서 wyvern excahge 컨트렉트에 넘기게 된다. 사인을 해서 넘기는것이 온체인으로 일어나는게 아닌 오프체인으로 일어나는 형태이기 때문에 가스비도 들지 않는다. 반대쪽 이를 구매하려는 B는 nft를 고르고 0.5이더리움에 사고싶다면 해당 구매 정보를 기록하고 또 wyvern exchange에 거래정보를 사인해서 넘긴다.</p><p>이렇게 하면 B가 구매하는 시점에 wyvern exchage 컨트렉트는 양쪽 유저의 지갑과 서명 정보를 동시에 들고 있게 되고 온체인 트랜잭션은 아토믹하게 한번에 일어나게 된다. 그래서 atomic match 트랜잭션에서는 한번에 양쪽 거래가 동시에 일어나는 것을 확인할 수 있다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*kzBfEN5eXxQzWjJXsiHefA.png" /><figcaption><a href="https://etherscan.io/tx/0x1073393137edf8028847b2224c6828baabf49d20037c59bfe1c243c81cdfe6d5">https://etherscan.io/tx/0x1073393137edf8028847b2224c6828baabf49d20037c59bfe1c243c81cdfe6d5</a></figcaption></figure><p>다음은 임의의 atomic match 트랜잭션을 가져온 예시인데 intercted To를 보면 nft에 대한 구매비용 중 수수료의 경우 오픈씨의 지갑으로 가고 판매자에게 나머지의 이더리움이 들어간 것을 볼 수 있고 Tokens transferrd를 보면 nft가 구매자에게 이동된 것을 볼 수 있다.</p><p>결국 거래정보를 모두 서명받아서 가지고 있다가 한번에 거래를 성사시키는 행위를 바로 최종 거래 승인자가 하게 되는것이 바로 이 atomic match 이다.</p><p>그럼 구매자가 아닌 판매자는 이더리움 수수료를 무조건 적게 내는 것일까?</p><p>그건 아니다. 만약 구매자가 offer를 넣어서 판매자가 이를 최종 승인을 하는 경우 판매가 최종 거래를 승인하게 되면서 atomic match 트랜잭션을 발생시킨다. 이 때문에 수수료를 부담하는 측은 결국 시장에 의해서 결정된다고 볼 수 있다.</p><p>Cancle Order 의 경우 오프체인으로 올린 거래기록을 취소시킬때 사용한다. 온체인에 올린 거래기록이 아니여도 만약 중복거래가 일어나면 안되기 때문에 체크로직에 false를 넣어주는 역할로 이는 offer를 취소하거나 리스팅을 취소하는 등 서명한 거래에 대한 정보를 취소할 때 일어난다. 단순한 체크 로직을 넣어주는 것으로 가스비는 많이 들지는 않는다.</p><h3>분석을 하면서 느낀점</h3><p>결국 오픈씨에서는 Wyvern exchange를 이용하여 온체인 트랜잭션의 경우 한번에 처리를 하고 나머지 정보들은 모두 오프체인에서 관리하는 것을 알 수 있다. 이는 바로 가스비용 때문이다. 만약 모든 거래에 대한 행위를 온체인에 기록할 경우 유저 입장에서 가스비용이 많이 나가게 된다. 그리고 가스비를 부담하는 주체 또한 유저 중 거래를 선택하는 쪽이 지게 된다. 작가가 민팅을 한다고 돈을 부담하는것이 아니라 offer 또는 buynow를 통하여 판매자나 구매자 중 더 매력적인 가격을 제안 받은 사람이 가격을 제시하게 된다. 이러한 과정은 매우 효율적이고 자유시장 체제에서 합리적으로 느껴졌다.</p><p>반면 이런 구조의 문제는 결국 서명을 릴레이어 형태로서 wyvern exchange에게 맡긴다는 점이다. 아무래도 유저가 직접 서명을 하는 구조보다는 서명을 해서 넘기는걸 제3의 업체가 대신 처리시켜주는 것은 탈중앙화 시스템에서 어느정도의 중앙화가 이루어진 것으로 느껴지긴 했다. 하지만 중간에 릴레이를 해준다고 해서 뭔가 다른 작업을 할 수는 있지 않기 때문에 큰 문제라고는 생각이 들지 않았다.</p><h3>결론</h3><p>그럼 유저의 입장에서 우리가 알아두어야 할 것은 무엇일까? 그것은 바로 유저들이 오픈씨와 같은 서비스를 사용할 때 서명이 어떻게 이루어지는지 꼭 알아두어야 한다는 점이다. 오픈씨 거래소를 빙자하여 피싱을 하는 케이스도 매우 빈번하기 때문에 우리가 트랜잭션을 실행할때 그게 어떤 원리로 사용되는지는 꼭 알아두어야 한다고 본다. 만약 우리가 BAYC와 같은 수억원에 달하는 nft를 에어드랍을 준다고 모르는 거래소에 리스팅을 하거나 아니면 제대로 확인하지 않고 서명한다면 정말 큰 손실을 입을 것이다. 따라서 오픈씨가 요구하는 거래의 형태를 살펴보고 같은 형태가 아니라면 서명하지 않는것이 중요할 것이다.</p><p><strong>P.S) 근데 내 오픈씨에는 토큰이 이미 mint되어 있는데?</strong></p><p>atomic match 이전에 오픈씨 기록에서 mint가 되는걸로 뜨고 토큰 ID도 뜨는데 그럼 이건 이더리움에 배포된 nft가 아닌가? 라는 질문을 발표이후에 받았다. 이런 경우 직접 이더스캔에 들어가서 내 지갑에서 실행한 트랜잭션이 mint를 한 이벤트 로그가 있는지 보면된다. 두번째 방법은 룩스레어 같은 다른 nft거래소에 들어가서 nft가 있는지 확인하는 방법이다. 오픈씨에서 mint라고 표시되어 있고 토큰 id까지 표시된다고 해서 실제로 온체인에 NFT가 배포된것은 아니다.</p><p>온체인에 내 nft가 있는지 확인하려면 결국 이더스캔과, 다른 거래소에서 이걸 잡아주는지, 내 지갑주소를 직접 확인해봐야 확신할 수 있다.</p><p>또한 이번 글은 최근 wyvernExchage V2를 기준으로 분석한 것으로 이전 버전에 대해서는 포함이 안되는 점도 유의해야한다.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=253469a9224" width="1" height="1" alt=""><hr><p><a href="https://medium.com/curg/%EC%98%A4%ED%94%88%EC%94%A8-%EA%B1%B0%EB%9E%98%EC%86%8C%EC%9D%98-%EA%B5%AC%EC%A1%B0-%EC%A7%81%EC%A0%91-%EB%9C%AF%EC%96%B4%EB%B3%B4%EC%9E%90-253469a9224">오픈씨 거래소의 구조, 직접 뜯어보자</a> was originally published in <a href="https://medium.com/curg">CURG</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[정말 게임만 해서 먹고 살 수 있을까? P2E체험 생생후기]]></title>
            <link>https://medium.com/curg/%EC%A0%95%EB%A7%90-%EA%B2%8C%EC%9E%84%EB%A7%8C-%ED%95%B4%EC%84%9C-%EB%A8%B9%EA%B3%A0-%EC%82%B4-%EC%88%98-%EC%9E%88%EC%9D%84%EA%B9%8C-p2e%EC%B2%B4%ED%97%98-%EC%83%9D%EC%83%9D%ED%9B%84%EA%B8%B0-8027441d88c6?source=rss-c89f7b4f00e7------2</link>
            <guid isPermaLink="false">https://medium.com/p/8027441d88c6</guid>
            <category><![CDATA[p2e]]></category>
            <category><![CDATA[blockchain]]></category>
            <dc:creator><![CDATA[체인의정석]]></dc:creator>
            <pubDate>Fri, 11 Mar 2022 15:24:27 GMT</pubDate>
            <atom:updated>2022-03-12T03:24:57.103Z</atom:updated>
            <content:encoded><![CDATA[<h3>게임만 해서 먹고 살 수 있을까?</h3><p>어렸을 때 한번쯤 누구나 생각해 본 적이 있을 것이다. “게임만 해서 먹고 살 수 있다면 얼마나 좋을까?” 정말 판타지 소설에 나올법한 이야기라고 생각했다. 게임 안에서 돈을 벌고 직업으로 삼고 그런게 가능하다면? 생각만 해도 행복한 인생이 될 것 같다.</p><p>그리고 어느날 P2E라는 개념이 등장하였다. 필자가 P2E를 처음 접한 것은 바로 엑시인피니티였다. 게임을 해서 돈을 벌다니 호기심이 가서 검색을 하고 찾아봤지만 생각보다 게임이 재밌어 보이지도 않을 뿐더러 최소 진입 비용이 백만원이 넘게 들어가는 것을 보고 충격을 먹었다.</p><p>하지만 조금 더 찾아보니 그럴 수도 있다는 생각이 들었다. 엑시인피니티에서는 스콜라쉽이라는 제도를 통해서 NFT 캐릭터를 임대해주고 돈을 버는 제도가 있었다. 자본력이 많은 사람은 캐릭터를 빌려주고 노동을 제공하는 사람은 게임을 하고 무료로 돈을 버는 구조이다. 이후 위믹스에서 나온 미르의 전설이라는 게임이 인기를 끌면서 2번째 성공사례를 장식하였고 여기저기서 P2E관련 코인과 프로젝트가 나왔다. 그 이후 필자는 수많은 P2E를 시도해 봤고 돈을 날리기도 수익을 많이 얻기도 하였다.</p><p>오늘은 직접 투자해본 P2E들에 대한 경험과 이를 통해 파악한 이들의 생태계에 대해 그리고 현실에 대하여 이야기를 해보려고한다.</p><h3>P2E가 나오게 된 기술적인 배경</h3><p>디파이 붐이 일어나고 크립토 자산의 종류가 다양해지고 자산이 블록체인 위에서 더 많이 흐르게 되었다. 이어서 NFT가 히트를 치면서 많은 자산이 NFT로 흘러들어가게 되었다. 이에 따라 이더리움의 가스비가 올라가게 되면서 가스비가 저렴한 BSC와 같은 새로운 체인이나 ERC1155 같은 새로운 표준들이 등장하게 되었다. 따라서 가스비가 절감되고 차별화된 NFT들이 자연스럽게 등장함에 따라 NFT의 부흥은 곧 P2E를 탄생시키게 되었다. 그간 크립토영역에 들어온 자산의 증가와 가스비 절감을 위한 노력들이 함께 모여 요즘 P2E 프로젝트들이 점점 활발해지기 시작한다. 갈라게임즈는 자체 게임전용 체인인 갈라체인을 만드는 중이며 바이낸스나 폴리곤 클레이튼 등에는 수수료가 저렴하다는 특징을 가지고 있어 기존의 이더리움에서 다양한 체인으로 여러 게임들이 나오고 있다. 또한 이뮤터블X의 갓즈언체인드와 같이 수수료가 저렴한 레이어2 솔루션 에서도 수많은 게임들이 준비중이다.</p><h3>게임을 통해 돈을 번다면, 그 돈은 어디서 오는 것일까?</h3><p>사실 P2E의 본질은 디파이에 있다고 본다. P2E는 Play to Earn의 줄임말로 게임을 플레이 하면서 돈을 번다는 의미를 내포하고 있다. 하지만, 대부분의 게임은 시작하기 위하여서 먼저 돈을 내고 아이템을 구매해야 한다. 아이템의 경우 게임회사의 홈페이지에서도 구매가 가능하며 사고 난 후에는 오픈씨 같은 중고 마켓에서도 사고 팔 수 있다.</p><p>P2E에서 아이템을 사는 기준은 주로 2가지이다. 첫번째는 바로 법정화폐기준으로 아이템의 가치를 메겨서 판매하는것 두번째는 코인의 개수로 아이템의 가치를 메겨서 판매하는 것이다. 양쪽 중 어느 방법을 선택하든지 간에 게임을 하기위하여 아이템을 구매하는 행위는 투자로 볼 수 있다. 게임을 하기 위해서는 먼저 돈을 내야 한다는 점이다. 회사는 아이템을 대변되는 NFT를 팔아서 회사의 개발비 등을 충당하며 아이템을 구매한 유저들은 게임을 하면서 코인을 채굴한다. 게임 아이템이지만 사실상 채굴기와 비슷한 역할을 한다고 보면 된다. 그래서 게임 아이템을 제대로 거래하는 사람들은 해당 NFT를 구매했을 때 뽑히는 수익을 수치화 하여 계산한다. 계산할때 보통 사용하는 기준은 바로 원금 회수 기간이다. 결국 다른 디파이와 마찬가지로 사람들이 자산을 장기간 예치를 하는 행위가 코인현물을 NFT구매에 사용하여 해당 NFT로 부터 게임이라는 행위를 통하여 이자를 수령하고 더 많은 유저가 들어와서 더 많은 자본을 게임아이템의 구매에 사용하게 되면 , 코인의 가치가 올라가게 되는 구조이다.</p><p>결국 P2E를 하게되면 해당 아이템의 APY를 계산하여 디파이에서도 수익률을 보고 들어가듯이 게임에서도 수익률을 보고 들어가게 된다. 하지만 게임 아이템의 경우 NFT라는 점에 의해서 일반 디파이 투자와 성격이 많이 다르다고 할 수 있다. 일단 NFT에 게임 아이템이라는 이미지를 입히게 되면 사람들에게 소유욕이 생기게 된다. 또한 NFT로 부터 계속해서 코인이 나오는 개념은 마치 채굴기와 같기 때문에 투자하여 얻은 수익을 계속해서 재투자 하도록 유도하기가 용이하다. 또한 NFT의 특성상 유동성이 크지 않기 때문에 가격의 변화가 느리게 찾아오면서도 그 변동폭은 크다.</p><p>한마디로 P2E에서 게임 아이템을 사는것은 코인을 장기간 예치를 하는것과 비슷하고 게임을 해서 돈을 받는 행위는 디파이에서 이자를 claim하는 행위로 볼 수 있는 것이다.</p><h3>그럼 게임만 하면서 계속해서 돈을 벌 수 있는것인가?</h3><p>앞서 말한 특징 때문에 P2E로 부터 채굴되는 코인 가격은 초기에는 자본유입이 커서 크게 가격이 오른다. 가격이 점점 오르게 되면 유입이 많아지면서 사람들은 게임을 해서 평생 먹고사는 달콤한 상상에 빠지게 된다.</p><p>하지만 NFT로 부터 채굴되는 구조이기 때문에 유동성이 적은 NFT의 가격은 급등 또는 급락을 할 수 밖에 없다. 다른 NFT 프로젝트와는 다르게 게임의 경우 패치를 하면서 계속해서 NFT가 생겨나게 된다. 유저가 늘어나는 속도가 충분히 빠르지 못한다면 결국 코인의 인플레이션을 해결하지 못하고 가격이 내려가게 되는 것이다.</p><p>먼저 엑시인피니티 게임을 하면 보상으로 받는 SLP 토큰이다. 이렇게 보상으로 나오는 코인은 계속해서 소각처를 발행하지 않거나 반감기를 적용하지 않으면 우하향 하게 된다. 엑시인피니티의 경우 자체 사이드체인인 로닌을 적용하여 임대시스템이나 교배시스템을 적은 수수료로 가능하게 하였으며 반감기, 스테이킹 등의 요소를 도입하여 채굴되는 코인가격의 하락을 막아보려 하였으나 계속해서 내려가고 있는 상황이다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*IeNS_1vzpNpCIpwykEkr0g.png" /></figure><p>위의 차트는 티탄 아레나라는 게임을 하면 보상으로 받는 THG 코인이다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*GGBQLvEqXqjnwPotbMPu0g.png" /></figure><p>해당 게임은 상당히 재미도 있었고 핸드폰으로도 플레이가 가능하였지만 재미와 상관없이 소각처가 불분명하자 가격이 우하향 하게 되었다. 캐릭터가 나온 박스를 달러를 가져와서 팔고 채굴되는 코인을 소각하지 않았다. 그 결과 코인에 출금 제한이 풀리고 DEX에 상장되자마자 사람들이 모든 코인을 매도하기 시작하였다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*_wtalTy-C7KT_RTkOUzgfw.png" /><figcaption>티탄아레나의 게임 캐릭터 NFT</figcaption></figure><p>한번 코인의 가격이 내려가기 시작하면 악순환이 반복된다. 달러기준으로 잡은 아이템을 고정가치 이지만 코인의 가격은 내려가게 되었고 이미 더 싼값에 산 유저들이 있기에 같은 캐릭터를 더 낮은 가격에 팔 수는 없다. 중고 거래시장에 상점보다 더 싼 NFT가 올라오게 되고 코인의 소각처는 NFT의 구매인데 중고 시장에서 스테이블 코인이나 바이낸스, 이더리움을 주고 구매를 하게 되니 코인은 소각처를 잃고 계속해서 내려가게 된다.</p><p>두번째 예시이다. 갈라게임즈의 타운코인이다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*S388rNmDyeDvTKHiyTuzBg.png" /></figure><p>보다시피 초기에 급격한 상승을 이후에 급격한 하락을 볼 수 있다. 어떻게 된 것일까?</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ofAYQUs5RQVbqTdS2T0KGw.png" /></figure><p>갈라게임즈에서는 현재 타운코인을 사용하여 아이템을 구매할 수 있다. 이는 고정가에 해당되는 가격이였다. 초기에 아이템을 사기 위해서는 타운코인을 구매해야 했다. 게임이 시작되어야 코인이 채굴되는 구조이다 보니 처음에 게임을 하기위하여 사람들은 이더리움이나 갈라코인을 지불하고 아이템을 사게 된다. 이를 통해 회사는 본인들이 돈을 주고 팔았던 자체 코인을 회수하거나 돈을 벌게 된다.</p><p>가격을 고정시키는 법은 2가지이다. 소각시키거나 자산을 묶어버리면 된다. 갈라게임즈에서는 갈라레벨이라는 제도를 마련하여 특정량 이상의 갈라나 타운코인을 가지고 있어야 게임을 통해 보상을 얻을 수 있게 만들어 두었다.</p><p>이에 따라 비싼 아이템은 채굴량이 많을 뿐만 아니라 적은 개수로 채굴이 가능하기 때문에 적은 예치금으로 많은 이율을 뽑아낼 수 있었으며, 반대로 예치금이 많은 상태라면 값싼 아이템을 여러개 사서 싼 가격에 NFT를 구매하고 높은 이율을 가져갈 수 있게 하였다.</p><p>자연스럽게 아이템을 사고, 묶인 돈이 있어야 채굴이 가능하니 코인의 가격은 오르고, 상점의 아이템 가격은 높은 APY를 가지고 있었기 때문에 나올때마다 매진이되고 2차 거래시장에서 높은 가격으로 거래되었다. 어느 순간부터 상점에 아이템이 나오면 사람들은 아무생각없이 다 사기 시작하였다.</p><p>그러나 앞서 말한것처럼 유동성이 없어서 아이템을 파는사람이 없으면 NFT의 가격은 금방 몇배가 되어버린다. 반대로 가격이 떨어질때도 마찬가지이다. 유동성이 적으니 사는 사람이 없으면 가격은 계속해서 떨어지고 아이템을 팔아서 코인을 회수해야하는데 아이템은 스토어 가격 밑에서 2차 마켓에서 거래되니 아무도 스토어에서 아이템을 사지 않고 2차 시장에서 구매를 한다. 이에 따라 회사에서는 새로운 소각처를 마련하거나 게임의 난이도를 높여서 코인을 더 쓰지 않고서는 claim을 어렵게 만들거나 예치량을 늘려보는 등 다양한 시도를 해보지만 한번 떨어지는 코인 가격을 멈추는것은 매우 어렵다.</p><p>결국 게임만 해서 평생 위험과 걱정없이 먹고 사는것은 어렵다고 본다. 게임을 통해 돈을 버는 P2E 모델은 코인 현물보다 훨씬 변동폭이 크고 변화에 민감하기 때문이다. 또한 게임에서의 효과나 정보가 중요하다 보니 이를 계속해서 모니터링해야 하는 부담도 존재한다.</p><h3>그럼 게임으로 먹고사는 것은 불가능 할까?</h3><p>필자는 위의 프로젝트 외에도 마이디파이펫, 크립토베이, forgotten Chain, 갈라게임즈의 스파이더탱그, 미란더스 , EOE, 그외 다양한 클레이튼의 P2E도 모두 경험을 해보았다. 하지만 사실 오늘날 P2E를 한다는 것은 편하게 게임만 해서 돈을 버는 모습보다는 투자에 가깝다고 본다. 게임을 하고 돈을 받는게 아니라 게임에 돈을 묶고 게임이라는 행위를 통해 이자를 수령하는 모습에 가깝기 때문이다.</p><p>게임이라는 특징때문에 NFT를 더 사고싶고 가치있게 만들기는 쉽지만 게임이라는 특징 때문에 NFT는 소각되지 않고 계속해서 발행이 된다는 점도 문제이다. 결국 현재의 P2E는 매우 고위험 투자인 셈이다.</p><p>Defi에 있는 Claim 버튼을 누르는 행위를 게임을 통해 보상을 받는 행위로 바꾼것이라고 이해하면 된다. 디파이에 투자를 할때 아무것도 안하고 돈만 받으니 금방 부자가되고 졸업할 것 같지만 그 변동폭은 너무나 크고 우하향하는 그래프를 막기위하여서는 끊임없는 소각이 이루어지거나 기대가 있어야 하기 때문에 쉽지가 않다. 게임도 마찬가지이다. 그냥 게임만 한다고 누군가가 돈을 쥐어주지는 않는다. P2E에 투자를 한다는것은 게임의 업데이트를 계속 신경쓰고 차트를 계속 분석해가고 어떤 NFT를 사고 팔아야하는지 계속해서 선택을 해야 하며 한번의 실수는 매우 거대한 변화를 가져온다.</p><p>그러나 언젠가 규모가 매우크고, 유동성이 충분한 프로젝트가 나온다면, 계속해서 수익실현을 하는 사람들과 신규유입을 들어오는 사람들의 비율이 맞아 안정적으로 토큰가격이 유지가 된다면 게임으로 진짜 먹고사는 날이 올수도 있다.</p><p>임대시스템을 이용하여 게임을 좋아하는 사람들은 게임을 하며 공짜로 돈을 벌고 자본이 많고 투자목적으로 온 사람들은 게임의 랜드를 사거나 비싼 캐릭터를 대량으로 구매하여 메타버스 지주나 임대업자 처럼 장사를 할 수 있을것이다. 어쩌면 인류는 AI와 IOT, 블록체인 같은 기술들을 통하여서 더 풍요로운 삶을 살게 될 수 있을지 모른다. 기존의 노동이 계속해서 불필요해지고 기본소득의 개념이 생겨나거나 현실 재화가 아닌 무언가 다른 가상의 재화를 생산하면서 경제활동을 계속해서 발전시켜 나갈 가능성도 있을 것이다. 그렇게 보면 P2E와 메타버스 시장은 앞으로 생각보다 큰 영향력을 발휘할 수 있다고 본다.</p><p>하지만 그러한 게임에 초기 진입을 하기 위해서는 그만한 리스크를 져야 한다. 계속해서 조사를 하고 공부를 하여서 합리적인 토큰 이코노미를 가지고 재미도 챙기면서 그 안에 생태계가 잘 갖추어진 프로젝트가 보인다면 한번 투자해 볼 가치가 있다고 본다.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=8027441d88c6" width="1" height="1" alt=""><hr><p><a href="https://medium.com/curg/%EC%A0%95%EB%A7%90-%EA%B2%8C%EC%9E%84%EB%A7%8C-%ED%95%B4%EC%84%9C-%EB%A8%B9%EA%B3%A0-%EC%82%B4-%EC%88%98-%EC%9E%88%EC%9D%84%EA%B9%8C-p2e%EC%B2%B4%ED%97%98-%EC%83%9D%EC%83%9D%ED%9B%84%EA%B8%B0-8027441d88c6">정말 게임만 해서 먹고 살 수 있을까? P2E체험 생생후기</a> was originally published in <a href="https://medium.com/curg">CURG</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[당신이 실행시키는 트랜잭션 과연 안전할까요?]]></title>
            <link>https://medium.com/decipher-media/%EB%8B%B9%EC%8B%A0%EC%9D%B4-%EC%8B%A4%ED%96%89%EC%8B%9C%ED%82%A4%EB%8A%94-%ED%8A%B8%EB%9E%9C%EC%9E%AD%EC%85%98-%EA%B3%BC%EC%97%B0-%EC%95%88%EC%A0%84%ED%95%A0%EA%B9%8C%EC%9A%94-fb82cc89f85?source=rss-c89f7b4f00e7------2</link>
            <guid isPermaLink="false">https://medium.com/p/fb82cc89f85</guid>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[decipherxcurg]]></category>
            <dc:creator><![CDATA[체인의정석]]></dc:creator>
            <pubDate>Fri, 26 Nov 2021 16:21:12 GMT</pubDate>
            <atom:updated>2021-11-27T03:33:57.242Z</atom:updated>
            <content:encoded><![CDATA[<h4>내가 안읽어본 계약서에 도장을 찍고 있었다고?</h4><p>기본적으로 트랜잭션에 서명을 한다는 것은 계약서에 도장을 찍는 행위와 같다. 내가 모르는 트랜잭션에 서명을 한다는 것은 내가 모르는 계약서에 도장을 찍는다고 볼 수 있다. 그래서 우리는 아래 그림처럼 이쁘게 verified된 컨트렉트를 통하여 안전하게 거래를 할 수 있다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*W_rDjWMBjzNHk6cK5kPjfA.png" /><figcaption>contract가 공개된 이더스캔</figcaption></figure><p>출저 : 오르빗체인 컨트렉트<a href="https://etherscan.io/address/0x1bf68a9d1eaee7826b3593c20a0ca93293cb489a#code">https://etherscan.io/address/0x1bf68a9d1eaee7826b3593c20a0ca93293cb489a#code</a></p><p>하지만 스마트컨트렉트가 바이트코드 형태로 배포되고 verify가 의무화 되어 있지 않기 때문에 아래 그림과 같이 컨트렉트 코드가 공개되어 있지 않은 경우도 많다. 그런 컨트렉트의 경우 코드가 나와 있지 않고 바이트코드 형태로만 보인다. 한마디로 읽을 수 없는 계약서에 사인을 해야하는 경우가 생긴다는 점이다. 이러한 과정에서 리버스엔지니어링이 필요하거나 보안 검사가 필요한 경우 바이트코드만 알고 소스코드를 알기 어려운 문제점이 존재한다.</p><p>예시를 보겠다. 다음은 트랜잭션에 있는 data 공간이다. 이더스캔을 열어보면 이런식으로 bytecode가 들어있다. 이러한 bytecode가 EVM에 들어가면 스마트 컨트렉트가 실행되게 된다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*hDmCm_F5gS1FO0PmNT4p5A.png" /></figure><p>이러한 함수를 조금 더 보기 쉽게 바꿔보겠다. 먼저 각 함수마다 Method ID가 있다. 이러한 MethodID 는 맨처음 해시를 하여 암호화한 function signature를 4byte로 바꾼 암호문이 나타낸다. 그 뒤의 데이터들은 input 값이 들어오게 된다. 따라서 아래와 같이 분석을 할 수 있다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Ma_E_9LeZOTXbpSGe7_0Rg.png" /></figure><p>이런식으로 공개된 소스코드의 경우 바이트 코드를 분석 할 수 있지만, 소스코드 없이는 이 또한 알 수 없다. 이번에 분석할 논문에서는 이러한 바이트 코드를 통하여 소스코드 없이도 원래의 funtion signature를 도출해내는 법을 설명하고 있다.</p><h4>바이트코드 만으로 원래 함수를 도출해내는 방법</h4><p>SigRec라는 기술은 이번 논문에서 새로 제안하는 솔루션이다. 이 솔루션은 함수의 사인을 자동으로 복구해준다. Solidity와 Vyper 두 컨트렉트에서 모두 사용이 가능하며, 소스코드나 다른 데이터베이스를 사용하지 않는다.</p><p>앞서 설명한것처럼 앞의 8자리는 함수의 id 값이다. EVM의 명령어는 크게 Call Data LOAD와 CALL DATACOPY로 나뉘며, 그 이후에 Function ID와 파라미터의 타입 몇가지가 나오는 패턴을 가진다.</p><p>uint, int, address, bool types 와 같은 Solidity 의 기본타입과 static, dynamic, nested 형태의 배열들, bytes, string, struct 이 있다. 또한 Vyper에서는 decimal, fixed-size byte array, fixed-size stsring, struct 등이 있다.</p><p>이런식으로 나올 수 있는 자료형들의 패턴을 바이트코드를 파싱하여 분석하게 되면 원래 함수에 대한 소스코드 없이도 어느정도의 도출이 가능하게 된다.</p><p>또한 바이트코드에는 type에 대한 내용이 없다. 타입의 경우 소스코드가 있거나 타입과 함수명, 변수명을 제공하는 ABI 없이는 바이트코드만으로는 원래 알 수 없다. 따라서 원래 소스코드의 내용을 알기 위하여서는 타입 추론을 해야만 한다.</p><p>이 부분에 대해서는 다음 순서를 통해 처리를 할 수 있다고 한다.</p><p>첫번째, 스마트컨트렉트랑 바이트 코드를 준비한다.</p><p>두번째, 파라미터에 타입 패턴을 수집한다.</p><p>세번째, common accessing pattern을 추출한다.</p><p>(uint 와 uint16과 같이 비슷한 패턴을 찾는것이 여기에 해당된다.)</p><p>네번째, Symbolic expression을 생성한다.</p><p>(데이터들을 symbolic expression형태로 바꿔서 분석하기 위함)</p><p>다섯째, 규칙에 대한 정리</p><p>위와 같은 5가지 과정을 통하여서 타입 추론에 대한 규칙을 자동으로 생성하게 된다.</p><h4>바이트코드 만으로 원래 함수를 도출해내는 방법</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ay_mfx4zXbkGQLwakt9Geg.png" /><figcaption>Archtiecture of SigRec</figcaption></figure><p>위와 같이 바이트코드를 해석해서 TASE (Type-aware Symbolic Execution) 형태로 분석을 한다.</p><p>step 1) coarsed grained (러프하게 정의된) 타입을 먼저 정제된 타입으로 바꿔준다.</p><p>step 2) 입력값들의 순서와 숫자를 결정하기</p><p>step 3) 입력값과 연관된 symbol들을 소개하기</p><p>step 4) 타입 추론을 하기</p><p>이런식으로 반복되는 패턴을 분석하고, symbol 형태로 바꾸어서 원래 어떤 형태의 코드였는지를 알아낼 수 있게 된다.</p><h4>어디에 쓰일 수 있을까?</h4><ol><li>Short address attack과 같은 악의적인 공격을 탐지하는데 쓰인다.</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/862/1*ytGKCPrZrPBE3ZRRDHrVqQ.png" /></figure><p>위의 사진과 같이 주소체계를 악용하여 short address attack 같은 공격을 할 수 있다. 이러한 공격은 원래 signature를 추론하는 솔루션을 통해 방지 될 수 있다.</p><p>실제로 이 팀은 이러한 기술을 사용하여 의도적으로 악의적인 코드를 보내는 행위를 미리 포착하여 대처를 할 수 있는 parChecker 라는 기능을 vyper에 넣었다.</p><p>2. 현존하는 스마트컨트렉트 Fuzzers의 기능을 최적화 시킬 수 있다.</p><p>스마트컨트렉트의 취약성을 점검해주는 Fuzzer들은 이 기술을 통해 fuzzing strategy에 대한 패턴을 잘 파악하여 더 우수한 성능을 낼 수 있다.</p><p>3. 스마트컨트렉트 바이트코드의 리버스 엔지니어링 등을 발전시킬 수 있다.</p><h4>글을 마무리 하며</h4><p>블록체인 개발자로서 일을 하면서 가장 많이 듣는 요청은 “A 서비스랑 똑같이 만들어 주시면 됩니다. “ 라는 요청이다. 물론 초창기에는 크게 어려운 일이 아니였다. 그냥 ERC 20 토큰이 전부였으며, 함수이름만 봐도 open-zepplin에 있는 그 코드였기 때문이다. 하지만 이제 시간이 지나면서 프록시 배포, 거버넌스 기능, 오라클, 영지식증명 등등 다양한 개념이 컨트렉트에 들어오게 되면서 스마트컨트렉트 서비스를 파악하는 일은 점점 어려워지고 있다. 문서가 잘 나와있다면 좋겠지만 문서가 잘 나와있지 않고 심지어 이더스캔에서도 소스코드 검증이 안되어 바이트코드만 보이는 경우도 많다. 그래서 이런 기술을 분석하면서 들었던 의문은 스마트컨트렉트가 공개되어 있지 않은데, 실제로 이걸 작동이 제대로 하는지 어떻게 확신을 가지고 사인을 할 수 있을지였다.</p><p>혹시 주위에 스마트컨트렉트의 함수를 체크하고 실행하는 사람을 본적이 있는가? 사실 나도 회사를 믿고 코드를 보지 않은채 사용을 하고 있다. 블록체인의 구조를 믿어야 하지만, 사실 우리는 블록체인에 올라간 스마트 컨트렉트의 코드를 살펴보지 않으니 보지도 않고 계약서에 도장을 찍는 셈이다. 특히 NFT 민팅 등을 할때는 무슨 함수를 부르는 지도 모른채 민팅을 하게 되는 경우가 많다. 이런 초기 프로젝트들은 심지어 컨트렉트를 스캔이나 익스플로러에 공개도 하지 않는 경우도 많기 때문에 혹시라도 approve 같은 함수가 뒤에 숨어있다면? 모든 자산을 한순간에 잃을 수도 있다.</p><p>따라서 이러한 sigRec 기술은 스마트컨트렉트의 취약점 그리고, 부정거래 방지에도 쓰일 수 있으며, 기존의 코드를 공개하거나 파악하기 어려운 서비스도 어떤 코드를 써서 만들었는지 사람의 힘으로 분석하지 않아도 자동으로 유추 할 수 있게 된다. 블록체인의 본질은 투명성이기 때문에 bytecode를 해석하려는 노력은 매우 정당하며, 기술의 신뢰를 더욱 가져올 매우 중요한 키라고 생각한다. 이러한 기술이 발달하여 진정한 의미의 블록체인, 탈중앙화가 이루어지길 바라며 이번 글을 마친다.</p><p><em>- </em><strong><em>CURG</em></strong><em>(Crypto United Research Group)는 2018년 5월 대학(원), 기업, 스타트업 등 다양한 분야의 열정적인 블록체인-er들이 모인 연합 연구 그룹입니다. CURG는 2018년 5월 출범된 이후, ‘Trendy, Thoughtful, and Transdisciplinary’ 한 자세로 한 주도 빠짐없이 블록체인 연구를 지속해오고 있습니다.</em></p><p><em>- </em><strong><em>디사이퍼</em></strong><em>(DECIPHER)는 “건강한 블록체인 생태계 조성에 기여한다” 라는 미션 아래 블록체인에 대해 연구하고 이를 실용적으로 응용하는 서울대 블록체인 연구 학회입니다. 2018년 3월에 처음 조직 되어 현재까지 블록체인 기술을 다방면에서 연구하고 산업계에 응용하고 있는 100명 이상의 회원들을 배출해왔습니다. 다양한 팀별 연구활동과 프로젝트, 컨퍼런스 개최, 서울대학교 블록체인 강의 개설, 유수 기업들과의 산학협력과 파트너십 체결을 해오며 국내 최고의 블록체인 학회로 자리 잡았습니다.</em></p><p><em>커그와 디사이퍼는 향후 적극적인 협력을 통해 블록체인 필드에서의 강력한 시너지를 구축하고자 합니다.</em></p><p>참고문헌 : Chen, Ting, et al. “SigRec: Automatic Recovery of Function Signatures in Smart Contracts.” <em>IEEE Transactions on Software Engineering</em> (2021).</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=fb82cc89f85" width="1" height="1" alt=""><hr><p><a href="https://medium.com/decipher-media/%EB%8B%B9%EC%8B%A0%EC%9D%B4-%EC%8B%A4%ED%96%89%EC%8B%9C%ED%82%A4%EB%8A%94-%ED%8A%B8%EB%9E%9C%EC%9E%AD%EC%85%98-%EA%B3%BC%EC%97%B0-%EC%95%88%EC%A0%84%ED%95%A0%EA%B9%8C%EC%9A%94-fb82cc89f85">당신이 실행시키는 트랜잭션 과연 안전할까요?</a> was originally published in <a href="https://medium.com/decipher-media">Decipher Media ｜디사이퍼 미디어</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[비탈릭 부테린이 제안한 NFT에 대한 새로운 롤업 방안 “stem cell NFT”]]></title>
            <link>https://chohyunki.medium.com/cross-rollup-nft-wrapper-56be479d67f7?source=rss-c89f7b4f00e7------2</link>
            <guid isPermaLink="false">https://medium.com/p/56be479d67f7</guid>
            <dc:creator><![CDATA[체인의정석]]></dc:creator>
            <pubDate>Sun, 03 Oct 2021 08:59:03 GMT</pubDate>
            <atom:updated>2021-10-04T09:54:58.688Z</atom:updated>
            <content:encoded><![CDATA[<p>약 한달 전 Cross Rollup NFT wrapper에 대한 제안이 올라왔다. 이번 글에서는 해당 내용에 대한 요약과 정리를 해보려고 한다.</p><h4>요약</h4><p>우선 필자가 이해한 해당 내용에 대한 요약은 다음과 같다.</p><p>기존)<br>락업 컨트렉트로 체인 a -&gt; b로 보내는 기존방법</p><p>확장)<br> a -&gt; b-&gt; c로 이동되었들 때의 경우 (인출시에 b를 안거치고 바로 인출 하는것 외에는 동일)</p><p>확장2)<br>stem cell 개념을 써서 a 체인에서 먼저 해시값 같은 stem cell NFT를 만들고 이를 b 체인에 통째로 옮기고 나서 (zk-snarks 사용) 하여 루트 체인에 해당되는 commitment를 제출한 경우에만 NFT에 의미를 부여하는 식으로 NFT를 만듦으로서 루트 한다는 개념이 새로 제안</p><p>한마디로 기존에는 토큰 브릿지와 같이 nft 하나하나를 컨트렉트에 락 해두고 다른 체인에서 풀어주는 식으로 진행이 되었으나, 이번에 제안된 stem cell NFT는 원본 체인에 해시값만 두고 이를 그대로 다른 체인에 옮겨둔 상태에서 다른 체인에서 원본 체인에 대한 해시값에 대한 증명만 zk snarks와 같은 영지식 증명을 이용하여 진행하면 된다고 보는 아이디어이다. 사실상 NFT와 같은 경우 모든 정보가 원래 체인 위에 올라가있지 않고 이렇게 해시값에 대한 증명만 있다고 하더라도 대부분의 거래는 레이어2에서 이루어질 것이므로 사람들이 가치를 똑같이 느낄 수 있을것이라고 본다.</p><p>여기에 대해 더 자세한 내용은 아래 참고 링크를 보면 알 수 있지만 간단히 정리를 해 보았다.</p><h4>제안배경</h4><ul><li>NFT에 대한 가스비에 대한 문제가 심각해 지면서 레이어2로의 이동에 대한 논의가 필요해졌다.</li><li>간단한 해결방안은 롤업과 같은 단일 플랫폼에서 이동을 사회적으로 조정하는것</li><li>그러나 단일 롤업에서 이동을 하기에는 백도어, 중앙집중식 시퀀싱 등 여러 문제가 발생하게 된다.</li><li>따라서 NFT의 교차 롤업을 지원하는 방법에 대해 제안한다.</li></ul><h3>Proposed solution 1</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/673/0*hyln3gJDpS5ihcPp.png" /></figure><p>그림과 같이 기존에는 Roll up A가 있을때 Wrapper 컨트렉트에 serial number와 rollup 대상 체인, 초기 오너를 통하여 롤업 트랜잭션을 보내면 Roll up B에서는 Wrapper가 Wrapped된 NFT를 A 체인에서 입력값으로 넣은 주소로 보내주게 된다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/673/0*ipt8JIz-FTC9WPOn.png" /></figure><p>반대의 과정도 마찬가지로 진행되게 된다. 그 후 비교를 한다. 이는 기존에 있었던 ERC20에 대한 브릿지와 비슷한 방법으로 진행이 된다. 대신 optimistc roll up의 경우에는 정보에 대한 검증 기간이 일주일이 필요하게 된다. 사용자들은 직접 이러한 정보값들을 비교하여 검증을 해야한다.</p><h3>Extension: add cross-rollup transfers</h3><p>크로스 롤업 트랜스퍼 확장</p><p>롤업 B에서 C로의 이동을 위하여서는 NFT에 대한 소스 정보와 함께 C의 컨트렉트로 보내집니다. 이때 C의 컨트렉트에서는 원본 롤업인 A를 가지고 있다가 인출 시에는 바로 A 체인의 롤업 컨트렉트에서 wrapped된 NFT를 unwrap 해준다. 이때 wrapped 된 X가 진짜인지 확인하려면 교차 롤업 전송(또는 롤업 A에 이미 미러링된 마지막 수신 이후 수신 체인)을 반영하는 모든 롤업에서 전체 수신 체인을 확인해야 한다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/690/0*8xRQ0fQiwerLDqWb.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/690/0*KesXaOZp7mhFeXGn.png" /></figure><p>확장 2: 베이스 체인에서 가스에 최적화된 발급</p><p>모든 NFT는 Ethereum 베이스 체인의 락박스 계약에 의해 “소유”되는 방식으로 발행될 수 있다. 이 가스 효율성을 높이기 위해 잠금 상자 계약은 일련 번호의 전체 집합을 생성하여 롤업으로 전송하는 기능을 가져옵니다. 사실상 모든 NFT는 사전 생성되지만 아직 “의미”가 할당되지 않은 상태(생각: 아직 차별화되지 않은 “스템 셀” NFT가 2**256개 있음)이며 일괄적으로 롤업으로 전송된다.</p><p>“발행”의 과정은 이제 의미를 부여하는 과정이 되었다. 이것은 단순히 소유자가 통과하는 것과 같은 방식으로 영수증을 통해 “의미있는 해시”를 전달함으로써 이루어질 수 있다. 만약 NFT가 아무런 의미가 없다면, 소유자는 그것에 의미를 부여하여 그것을 “차별화된” NFT로 바꿀 수 있다. 베이스 체인은 NFT가 의미가 할당된 지점까지 수신 체인을 검증한 후에만 NFT의 의미를 학습한다(현실적으로 수신 체인은 이를 실현하기 위해 ZK-SNAK가 되어야 한다.</p><p>이렇게 하면 롤업 대신 기본 체인에 모든 NFT를 “루트”할 수 있다. 롤업이 중단되거나 그렇지 않으면 실행 불가능하게 되어 응용프로그램을 다른 도메인으로 영구적으로 마이그레이션해야 하는 시나리오를 처리할 때 유용하다.</p><h3>적용</h3><h4>폴리곤 NFT Bridge</h4><p><a href="https://bridge.mintnft.today/">https://bridge.mintnft.today/</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*oDkhIBVXBmGeSwUAmyYHSQ.png" /></figure><p>기존의 폴리곤 체인에 있는 NFT 브릿지에서는 받는 체인에 있는 수령자의 주소, 토큰 주소와 토큰 id를 입력하면 반대쪽 체인에 있는 컨트렉트에서 token을 mint 해준다.</p><h4>Stem Cell이 적용 된다면?</h4><p>여기에 stem cell을 적용하게 된다면 실질적으로 bridge로 올리는 과정이 없어지고 바로 폴리곤 체인에서 모든 stem cell을 가져온 상태에서 시작하게 될 것이다. 보낼 때는 stem cell에 대한 정보값 하나와 영지식 증명에 필요한 note에 대한 값 하나만이 올라올 것이다. 반면 인출할 때는 여기에 해당하는 commitment값 하나와 원래 토큰에 대한 stemcell에 대한 내용과 받는 사람주소 3가지만 넣으면 될 것으로 보인다.</p><p>참고링크</p><p><a href="https://ethresear.ch/t/cross-rollup-nft-wrapper-and-migration-ideas/10507">Cross-rollup NFT wrapper and migration ideas</a></p><p>#stemcellNFT #NFTrollup #세포NFT</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=56be479d67f7" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Kadcast-NG: A Structured Broadcast Protocol for Blockchain Networks 논문 분석]]></title>
            <link>https://medium.com/decipher-media/%EB%85%BC%EB%AC%B8-%EB%B6%84%EC%84%9D-01-%EC%B4%88%EC%95%88-kadcast-ng-a-structured-broadcast-protocol-for-blockchain-networks-db5d9dea6a?source=rss-c89f7b4f00e7------2</link>
            <guid isPermaLink="false">https://medium.com/p/db5d9dea6a</guid>
            <category><![CDATA[decipherxcurg]]></category>
            <dc:creator><![CDATA[체인의정석]]></dc:creator>
            <pubDate>Sat, 11 Sep 2021 02:46:00 GMT</pubDate>
            <atom:updated>2021-09-24T08:18:35.505Z</atom:updated>
            <content:encoded><![CDATA[<h3>요약</h3><p>이번 논문은 기존의 체인이 가진 “unstructured peer-to-peer overlay networks” 에서는 블록의 전파가 복잡하고 오버헤드가 발생하여 비효율적이라는 점을 짚으며, 블록의 전파가 지연되는 문제를 다루고 있습니다. 논문에 설명된 카드캐스트 프로토콜은 “structured peer-to-peer overlay networks”로 효율적으로 블록을 전파한다고 한다고 하는데 이러한 카드캐스트 프로토콜의 우수성을 다루고 있습니다.</p><h3>이해를 위한 사전지식</h3><p>이 논문을 이해하기 위해서는 몇가지의 기본 개념들을 알아야 합니다.</p><h4>Overlay Networks</h4><p>오버레이 네트워크는 호스트 간의 연결을 의미하며, 오버레이 네트워크에는 구조화/비구조화 된 네트워크 2가지가 존재합니다. 이 2가지에 대해서 먼저 알아보고 넘어가도록 하겠습니다.</p><h4>unstructured peer-to-peer overlay networks</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*DbKs-GKrIxoXPWXZdN8SKg.png" /><figcaption>unstructured peer-to-peer overlay networks</figcaption></figure><p>비구조화된 오버레이 네트워크에서는 중앙서버가 없으며 슈퍼 피어가 있어서 인접 노드 간에 쿼리를 릴레이하는 허브 역할을 합니다. 위의 P2P 전송을 나타내는 그림이 “unstructured peer-to-peer overlay networks”입니다. 오버레이 링크가 임의적으로 생성되는 형태로 이러한 P2P 네트워크에서 피어가 네트워크에서 원하는 데이터를 찾으려면 네트워크를 통해 쿼리를 플러딩(flooding)이라는 기법을 사용하여 데이터를 공유하는 피어를 최대한 많이 찾아야 합니다. 그 결과 트래픽이 많아 검색 효율성이 떨어지게 되고 여러 피어와 연결된 인기 있는 콘텐츠는 찾기가 쉽지만 인기가 없는 몇개의 피어와 연결된 콘텐츠는 찾이가 어렵고 찾을 수 있다는 보장도 적습니다. 이를 블록체인에 적용하면 블록이 조금만 연결된 노드들은 검색이 어려우며 이렇게 검색이 되는 노드들 끼리 연결하다보면 트래픽이 많아져서 블록의 전파 속도가 느려지고 포크가 발생하게 된다고 볼 수 있습니다. 일반적으로 P2P에서 이러한 구조가 많이 쓰인다고 합니다.</p><h4>structured peer-to-peer overlay networks</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Re1N_GJPYR3Vq3nvPDhuNw.png" /><figcaption>structured peer-to-peer overlay networks</figcaption></figure><p>이러한 그림이 “structured peer-to-peer overlay networks”라고 볼 수 있습니다. 이렇게 구조화하여 안정성 , 효율성, 확장성을 확보 할 수 있다고 합니다. 반면 문제점으로는 소수의 악성 노드만으로도 시스템이 위험할 수 있다는 단점도 있다고 합니다.</p><h3>Kadcast 프로토콜에 대하여</h3><p>비트코인 이후 등장된 수많은 블록체인은 오버레이 네트워크에서 트랜잭션을 전파하여 트랜잭션을 발생 시킵니다. 검증자 노드가 트랜잭션을 수집 및 검증하고 주기적으로 블록으로 통합하며, 블록은 분산원장에 추가 됩니다. 블록은 네트워크에서도 전파되므로 모든 노드가 장부를 복제하여 로컬에서 정확한지 확인할 수 있습니다. 그러나 이러한 구조는 중복된 항목이 계속해서 발생하게 되고 결국 메세지 오버헤드가 높아집니다. 그 결과 블록 크기의 제한이나 트랜잭션 속도에 제한이 걸리게 됩니다.</p><p>논문에서 소개하는 kadcast는 kademlia 아키텍처를 기반으로 하는 구조화된 브로드캐스트 프로토콜로 조정 가능한 중복성과 오버헤드를 통해서 효율적으로 브로드캐스트 운영을 가능하게 합니다.</p><h3>THE KADCAST PROTOCOL</h3><h4>A. 오버레이 구성 Overlay Construction</h4><p>Kademlia는 노드가 구조화된 오버레이 네트워크를 형성하는 피어 투 피어 프로토콜입니다. 노드가 네트워크에 가입하면 ID가 생성되며, 아이디는 Kademlia 오버레이의 기초를 구축하는 이진 라우팅 트리에서 노드의 위치를 결정합니다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/855/1*4Uitc2pPjPbJkC_Zy5YiEw.png" /><figcaption>그림 1</figcaption></figure><p>그림 1에서 노드 ID0 = 1111의 4 버킷은 각각 1110, 110*, 10** 및 0** 범위의 노드를 보유합니다. 노드가 k개의 항목을 이미 보유하고 있는 지정된 버킷에 새 항목을 추가할 때 Least Recntly used 방식을 사용합니다. 또한 목록에서 항목을 삭제하기 전에 피어는 각 노드에 여전히 연결할 수 있는지 확인하고 그렇지 않은 경우에만 삭제합니다. 이러한 방식으로 프로토콜은 새로운 노드보다 더 오래되고 안정적인 노드에 먼저 연결을 하게 되고 이클립스 공격과 같은 보안 문제에 대해 네트워크를 강화시킬 수 있습니다.</p><p>노드가 네트워크에 처음 가입할 때 하나 이상의 부트스트래핑 노드의 주소를 알아야 합니다. 따라서 PING 메시지를 알려진 노드에 전송하여 실제로 온라인 상태인지 확인합니다. 또한, PING은 송신 노드의 라우팅 정보를 수신자에게 전송하여 네트워크에 그 존재를 분산 시킵니다. 프로토콜에서는 모든 메시지가 발신인 뿐만 아니라 수신인의 버킷도 업데이트합니다. 이러한 소프트 상태 프로토콜 설계를 통해 필요한 정보 기반의 설치 공간을 최소로 유지하는 매우 가벼운 오버레이 멤버십 관리를 할 수 있습니다.</p><p>초기 부트스트래핑 단계 이후, 각 카드캐스트 노드는 그것의 라우팅 정보를 업데이트하기 위해 네트워크를 발견하기 시작하는데, 이는 라이프사이클 동안 주기적으로 반복됩니다. 처음에 조인하는 노드는 자체 ID를 검색하여 자신의 네트워크 위치에 가깝게 배치된 노드 집합을 반환합니다. 또한 각 노드는 지난 한 시간 동안 일부 활동이 나타나지 않은 모든 버킷을 주기적으로 새로 고칩니다. 각 버킷에 대해 적절한 거리의 임의 ID를 선택하고 버킷을 새로운 라우팅 정보로 채우기 위해 조회 작업을 수행합니다. 이러한 조회 절차를 통해 노드는 주소 공간에서 특정 ID에 가장 가까운 k개 노드 집합을 검색할 수 있습니다.</p><h4>B. 메시지 전달 Message propagation</h4><p>대부분의 블록 체인 네트워크는 블록 및 트랜잭션 처리를 위한 TCP 기반 전송 프로토콜에 의존하며, 패킷 손실 시 누락된 세그먼트를 재전송하여 임의로 큰 데이터의 신뢰성 있는 전송을 보장합니다. 이 방법은 암시적으로 수명이 긴 연결을 가정하고 연결 관리 측면에서 확장성이 떨어집니다.</p><p>대조적으로, UDP 또는 QUIC와 같은 전송 프로토콜은 Kadcast의 설계를 보완하는 단시간 저비용 전송으로 더 확장 가능하고 동적 접근을 가능하게 합니다. 다시 위의 그림을 보겠습니다. 노드 ID0 = 1111은 네트워크에서 광대역 캐스트를 시작하고, 높이가 h = 0인 4개의 CHUNK 메시지를 보냅니다. 각 버킷에서 선택한 3 ~ 1개의 임의 노드 Bi , i = 0 . . 3. 수신 노드는 이 절차를 반복하여 할당된 높이보다 작은 버킷 번호에서 노드에 메시지를 다시 보냅니다. 따라서 브로드캐스트 작동은 하위 트리 크기를 감소시키면서 수행하게 되어 O(log n) 단계로 종료가 보장됩니다.</p><h4>C. UDP 기반 메시지 전달의 신뢰성 Reliability of UDP-based Message Delivery</h4><p>만약 중복 메세지가 없다는 가정을 한다면 아무런 문제가 없겠지만 실제로는 중복 메세지가 발생할 가능성이 높습니다. 따라서 패킷 손실뿐만 아니라 전송 문제가 발생하는 상황을 고려해야 합니다. 위의 이미지에서 노드 0000으로 이동하는 중 청크가 손상되었거나 이 노드가 청크 포워드를 거부하는 경우 전체 버킷 B3(즉, 트리의 오른쪽 절반)는 해당 메시지를 수신하지 못할 것입니다. 즉, 최악의 경우, 신뢰할 수 없는 UDP 전송 프로토콜에 의해 야기되는 단일 전송 장애는 50%의 커버리지만 가지게 됩니다. 따라서 브로드캐스트 알고리즘은 두 가지 접근법으로 이를 개선합니다.</p><h4>1) 브로드캐스팅 안정성 및 성능 향상</h4><p>첫째, 버킷당 단일 대리자(delegate)를 갖는 대신 다수의 대리자를 선택합니다. 이로 인해 선택한 여러 노드 중 하나 이상이 정직하고 도달할 수 있는 가능성이 크게 증가합니다. 또한 이 병렬 브로드캐스팅 방법은 지연 시간 측면에서 전파 성능을 향상시킵니다. 최상의 연결을 가진 노드가 전송된 메세지를 먼저 수신하고 버킷의 청크를 전파하기 시작합니다. 모든 홉에서 반복되고, 카드캐스트 노드는 중복 청크를 무시하므로, 메시지 전달이 가장 빠른 경로로 이루어집니다.</p><p>둘째, Kadcast는 prop-agation의 모든 홉에 패킷이 손상되거나 손실되는 경우를 대비합니다.</p><p>Kadcast는 RaptorQ 코드에 기반한 오류 수정 체계를 채택하여 재전송 없이 Cadcast 노드를 복구 할 수 있기 때문에 지연 시간 측면에서 프로토콜을 최적화하고 추가 오버헤드를 수용할 수 있습니다. 또한 메시지 전달이 완전히 실패하는 드문 경우로부터 노드를 복구할 수 있도록 하고 블록 체인의 초기 부트스트래핑을 활성화하기 위해, 카드캐스트 프로토콜은 노드가 특정 블록이나 트랜잭션에 대해 다른 사용자를 쿼리할 수 있도록 하는 간단한 REQUEST 메시지를 통합하고 이는 해당 CHUNK 메시지에 의해 응답됩니다.</p><h4>2) 병렬 브로드캐스팅 분석</h4><p>Kadcast는 알고리즘을 병렬화하여 브로드캐스트 하여 여러개의 브로드캐스트 중 하나라도 성공을 하면 되기 때문에 긍정적인 영향을 가져오지만 여전히 병렬 브로드 캐스팅 만으로는 공격으로 부터 안전하지는 않습니다. 그러나 아래의 표에서 볼 수 있듯이 병렬 진행을 하지 않는다면 아주 작은 packet loss에도 coverage가 급감하므로, 병렬 브로드캐스팅은 필요한 과정입니다.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/816/0*LKB3ZKbSzJEtOc5U" /><figcaption>그림 2</figcaption></figure><h4>3) FEC 기반 블록 전달 분석</h4><p>앞서 언급된 병렬 브로드캐스팅과 함께 FEC를 도입하면 더 좋은 성능을 낼 수 있습니다. 그림 2는 15% 중복성을 가진 FEC(forward error correction) 을 도입함으로써 향상된 전송 신뢰도를 보여줍니다(f = 0.15) 이 접근법은 최대 9%에 대한 packet loss에 대하여 브로드 캐스팅되는 것을 보장합니다.</p><p>그러나 이는 더 높은 중복성(예: β &gt; 1)과 FEC 접근방식을 결합함으로써 추가적으로 개선될 수 있습니다. 이 경우가 그림 2의 β = 3에 해당됩니다. FEC와 더 높은 병렬화전송을 통하여 평균 12%의 패킷이 손실되더라도 전체 네트워크 커버리지를 보장합니다. 이처럼 FEC는 상대적으로 작은 선형 오버헤드를 도입하면서 전파의 신뢰성을 크게 높일 수 있으나, 다수의 인자값인 β가 증가함에 따라 발생하는 오버헤드는 메시징 복잡성의 증가를 초래합니다.</p><p>종합해 보자면 KADCAST는 다수의 β를 사용하는 병렬 처리와 + FEC를 도입하여 악의적인 노드를 효과적으로 방지할 수 있게됩니다.</p><h3>KADCAS의 보안 및 개인 정보 보호</h3><h4>KADCAST SECURITY AND PRIVACY</h4><p>p2p 네트워크와 블록 전파 메커니즘은 보안과 프라이버시에 대한 공격의 대상이 될 수도 있습니다. 이를 고려하여카드캐스트 네트워크 프로토콜에서는 아래와 같은 특징들을 가지고 있습니다.</p><ol><li>시빌 공격, 이클립스 공격, DOS 공격 : 더 안정적이고 오래된 노드를 찾아가며, 비트코인 처럼새로운 블록이 들어올 때마다 검증을 진행 하여 해결</li><li>트랜잭션 보안 : transport layer에 메세지의 암호화 기능 보유하여 해결</li><li>노드를 찾을 때 pseudo-randomized 하게 진행하여 예측이 어렵게 한다.</li><li>worst case 를 가정하고 가장 성공적인 가능성을 계산하여 블록을 전송하기 때문에 10%의 네트워크 노드가 방해한다고 해도 99%의 전송이 보장되며 심지어 50%에 대한 네트워크 노드의 방해에도 96%의 전송이 보장된다.</li><li>규칙적이지 않는 random walk형태를 가정하며, 다양한 종류의 방해로부터 회복성을 갖는다.</li></ol><p>이때, 노드의 수가 많아지면 그만큼 전파에 방해에 대한 공격을 받기 쉬우며, 너무 적은 노드는 검열에 대한 공격을 받을 수 있기 때문에 privacy와 reliablity는 trade 0ff 관계를 가지므로 적절한 조정이 필요하다고 합니다.</p><h3>KADCAST를 보완한 KADCAST-NG</h3><p>그러나 논문에서는 기존의 Kadcast 방법은 신뢰할 수 없는 UDP 전송 프로토콜 위에 구현될 때 혼잡도가 높은 문제가 있다는 사실을 실험으로 보여 줍니다. 따라서 Kadcast-NG를 새로 제안합니다.</p><p>Kadcast-NG는 신뢰가 가능한 QUIC 전송 프로토콜을 사용합니다. QUIC는 Kadcast의 디자인 철학과도 잘 어울립니다. QUIC는 다중 동시 스트리밍 방식으로 데이터를 전송하기 때문에 Kadcast의 병렬 처리를 통한 장점을 더 부각 시킬 수 있습니다. 또한 QUIC를 사용하면 1 또는 심지어 0에 해당하는 RTT (Round Trip Time)로 빠른 연결이 가능하며, 인증되고 암호화 된 전송 프로토콜로서 Kadcast의 보안성과 기밀성 또한 보완이 가능합니다. 논문에서는 이러한 Kadcast-NG가 다양한 시나리오에서 우수한 성능을 보이고 있음을 시사합니다.</p><p>해당 논문에서 제안한 Kadcast-ng-public은 아래 링크에서 확인가능합니다.</p><p><a href="https://git.tu-berlin.de/rohrer/kadcast-ng-public">Elias Rohrer / kadcast-ng-public</a></p><h3>결론</h3><p>KADCAST는 기존에 블록체인이 사용하는 비구조화 된 방식으로 블록을 전파하는 것이 아니라 구조화 된 방식으로 전파를 합니다. 또한 보안성에 대해서도 기존의 블록체인이 가져가는 장점과 더불어 privacy에 대한 기능도 지원하여보장해 줄 수 있는 장점을 가지고 있습니다. 논문에서는 더 나아가 QUIC 전송 프로토콜을 사용한 KADCAST-NG를 제안합니다.</p><p>블록체인의 트릴레마에 따라서 합의알고리즘에서 탈중앙화를 포기하고 체인을 개선하는 시도보다 이렇게 네트워크 전파 방식 등을 연구하여 기존의 문제를 개선해 나가려는 시도가 좋았다고 생각합니다.</p><p>이러한 연구를 바탕으로 탈중앙화의 핵심 가치를 해치지 않으며, 확장성과 보안성을 늘려 나가려는 시도가 이어진다면 언젠가 탈중앙화를 지키면서도 확장성과 보안성도 챙기는 블록체인이 나올 수 있을 것이라고 생각합니다.</p><p>- CURG(Crypto United Research Group)는 2018년 5월 대학(원), 기업, 스타트업 등 다양한 분야의 열정적인 블록체인-er들이 모인 연합 연구 그룹입니다. CURG는 2018년 5월 출범된 이후, ‘Trendy, Thoughtful, and Transdisciplinary’ 한 자세로 한 주도 빠짐없이 블록체인 연구를 지속해오고 있습니다.</p><p>- 디사이퍼(DECIPHER)는 “건강한 블록체인 생태계 조성에 기여한다” 라는 미션 아래 블록체인에 대해 연구하고 이를 실용적으로 응용하는 서울대 블록체인 연구 학회입니다. 2018년 3월에 처음 조직 되어 현재까지 블록체인 기술을 다방면에서 연구하고 산업계에 응용하고 있는 100명 이상의 회원들을 배출해왔습니다. 다양한 팀별 연구활동과 프로젝트, 컨퍼런스 개최, 서울대학교 블록체인 강의 개설, 유수 기업들과의 산학협력과 파트너십 체결을 해오며 국내 최고의 블록체인 학회로 자리 잡았습니다.</p><p>커그와 디사이퍼는 향후 적극적인 협력을 통해 블록체인 필드에서의 강력한 시너지를 구축하고자 합니다.</p><h4>참고 문헌</h4><p>[1]Rohrer, Elias, and Florian Tschorsch. “Kadcast-NG: A Structured Broadcast Protocol for Blockchain Networks.”</p><p>[2]오버레이 네트워크 <a href="https://slideplayer.com/slide/5701262/">https://slideplayer.com/slide/5701262/</a></p><p>[3]구조화, 비구조화 p2p 오버레이 네트워크<a href="https://www.researchgate.net/publication/261122904_UPDA_Uniform_Peer-to-Peer_Distribution_Algorithm_for_Mesh_Overlay_Paradigm">https://www.researchgate.net/publication/261122904_UPDA_Uniform_Peer-to-Peer_Distribution_Algorithm_for_Mesh_Overlay_Paradigm</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=db5d9dea6a" width="1" height="1" alt=""><hr><p><a href="https://medium.com/decipher-media/%EB%85%BC%EB%AC%B8-%EB%B6%84%EC%84%9D-01-%EC%B4%88%EC%95%88-kadcast-ng-a-structured-broadcast-protocol-for-blockchain-networks-db5d9dea6a">Kadcast-NG: A Structured Broadcast Protocol for Blockchain Networks 논문 분석</a> was originally published in <a href="https://medium.com/decipher-media">Decipher Media ｜디사이퍼 미디어</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Tornado Cash 분석하기 02]]></title>
            <link>https://chohyunki.medium.com/tornado-cash-%EB%B6%84%EC%84%9D%ED%95%98%EA%B8%B0-02-96ea151ceef4?source=rss-c89f7b4f00e7------2</link>
            <guid isPermaLink="false">https://medium.com/p/96ea151ceef4</guid>
            <dc:creator><![CDATA[체인의정석]]></dc:creator>
            <pubDate>Wed, 11 Aug 2021 01:20:20 GMT</pubDate>
            <atom:updated>2021-08-11T01:20:20.318Z</atom:updated>
            <content:encoded><![CDATA[<p>토네이도 캐시의 깃허브 주소</p><p><a href="https://github.com/tornadocash">Tornado Cash</a></p><p>깃허브에서 서비스에 대한 스크린 샷들을 모두 살펴볼 수 있었다.</p><p><a href="https://github.com/tornadocash/docs/blob/master/How%20To%20Make%20A%20Deposit%20In%20Tornado%20Cash.md">docs/How To Make A Deposit In Tornado Cash.md at master · tornadocash/docs</a></p><p>유저가 익명성 set에 자금을 예치시키면 거기에 대한 보상도 받는듯 하다</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*mZDyqOYCFEBQ4_Wt" /></figure><h3>Goerli Network 에서 테스트 가능</h3><ul><li><a href="https://github.com/tornadocash/docs/blob/master/How%20To%20Access%20The%20Tornado%20Cash%20In%20Goerli%20Network.md">docs/How To Access The Tornado Cash In Goerli Network.md at master · tornadocash/docs</a></li><li><a href="https://ethereum.stackexchange.com/questions/94740/how-tornado-cash-relayer-trustless-protocol-works">How Tornado Cash Relayer trustless protocol works?</a></li></ul><p>여기서 relayer는 트랜잭션에 대한 검증만 해준다는것을 볼 수 있다. 머클트리의 루트값과 증거로 쓰이는 값만 가져와서 검증을 해준 후 relayer를 써서는 수수료를 입금 시켜준다.</p><p>아래 링크에서 더 정리가 잘 된것들을 볼 수 있었다.</p><p><a href="https://jambor.pro/c1_2/">https://jambor.pro/c1_2/</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=96ea151ceef4" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>