> For the complete documentation index, see [llms.txt](https://docs.decentraland.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.decentraland.org/player/player-ko/blockchain-integration/ethereum-essentials.md).

# 블록체인 소개

Decentraland가 이더리움 블록체인을 사용하는 방법.

모든 블록체인은 본질적으로 네트워크의 여러 기계에 분산된 탈중앙화 데이터베이스입니다. 거래는 '블록'으로 묶여 순차적으로 처리되어 하나의 *체인* 이벤트의.

이더리움은 가장 인기 있는 블록체인 중 하나입니다. 비트코인 같은 다른 블록체인과 차별화되는 점은, 이더리움이 블록체인을 단순한 화폐 거래 기록 이상의 저장소로 사용한다는 것입니다. 이더리움은 더 복잡한 정보를 저장해 서로 다른 종류의 토큰을 구분하거나, 고유한 특성을 지닌 특별한 토큰까지 처리할 수 있습니다. 이더리움 블록체인에서는 스마트 계약도 실행되는데, 이를 통해 합의된 이벤트에 따라 달라질 수 있는 더 복잡한 거래를 실행할 수 있습니다.

Decentraland는 Ethereum 블록체인을 사용해 디지털 자산과 3D 장면이 읽고 반응할 수 있는 기타 거래 가능한 항목의 소유권을 기록합니다.

블록체인은 장면 상태, 플레이어 위치, 또는 플레이어가 장면과 상호작용할 때 실시간으로 변경되어야 하는 어떤 것도 저장하는 데 사용되지 않습니다. 이 모든 것은 각 플레이어의 기기에 로컬로 저장되거나, 장면 소유자가 소유한 개인 서버에 저장됩니다. 각 장면의 개발자는 어떤 정보를 블록체인에 저장할 가치가 있는지, 그리고 무엇을 개인 서버에 저장할지 선택해야 합니다.

## 지갑

Ethereum 토큰은 지갑에 보관됩니다. Ethereum 지갑은 Ether, MANA, LAND 및 Decentraland의 게임이나 체험에서 사용될 수 있는 기타 토큰을 포함한 다양한 토큰을 보관할 수 있습니다.

Decentraland 토큰을 보관할 수 있는 지갑 제공업체는 많습니다. 마켓플레이스나 Decentraland에 들어가려면 웹 브라우저에 통합된 지갑을 사용해야 하므로, 다음 지갑 사용을 권장합니다:

* [메타마스크](https://metamask.io/)
* [Trezor](https://trezor.io/)/[Ledger](https://www.ledger.com/) 하드웨어 지갑

모든 지갑에는 공개 키와 개인 키가 있습니다. 공개 키의 해시는 지갑의 고유 주소이며, 거래를 전달하고 플레이어를 식별하는 데 사용됩니다. 개인 키는 지갑이 네트워크로 보내는 각 거래에 서명하고, 그것이 वास्तव로 당신이 보낸 것임을 증명하는 데 사용됩니다. 개인 키는 비밀번호를 잊어버렸을 때 지갑을 복원하는 데도 사용되므로, 안전한 곳에 보관하고 누구와도 공유하지 마세요.

Decentraland에서 플레이어의 정체성은 지갑을 중심으로 구성됩니다. 지갑의 공개 키는 고유하므로, 장면에서 이를 사용해 Decentraland 사용자를 지속적으로 식별할 수 있습니다. 지갑은 플레이어에게 고유한 아바타, 착용 아이템, 접근을 제한하는 장면에 들어갈 수 있는 권한, 게임에서 사용할 특별한 무기 등을 제공할 수 있는 다양한 토큰도 보관할 수 있습니다.

## 트랜잭션

거래는 블록체인에 저장된 정보에 변화를 일으킵니다. 일반적인 거래는 토큰의 소유자가 바뀌는 것을 포함합니다. 예를 들어 사용자 A가 일정량의 MANA 토큰과 교환하여 자신의 LAND 토큰을 사용자 B에게 주는 경우입니다. 하지만 이더리움 네트워크에서는 거래가 토큰의 소유자를 바꾸지 않고도, 그 토큰에 대해 저장된 정보를 변경하는 것을 의미할 수도 있습니다. 예를 들어 구획의 설명을 바꾸거나, 여러 구획을 에스테이트로 합치는 경우가 있습니다.

이더리움 메인 체인에서 발생하는 모든 거래에는 Ether 토큰으로 지불하는 비용이 있습니다. 이 수수료는 '가스' 수수료라고 하며, 거래를 '채굴'한 네트워크 사용자에게 지급됩니다.

거래가 이루어지도록 요청할 때, 당신은 해당 거래가 채굴되기 위해 기꺼이 지불할 가스 가격을 설정합니다. 더 높은 가격을 제시한 거래는 채굴자들이 우선 처리하므로 더 빨리 채굴됩니다. 이러한 거래의 시장 가격은 정기적으로 변동하며, 네트워크 사용량이 높을수록 더 비싸지는 경향이 있습니다. 제시하는 금액이 시장 가격보다 낮지 않도록 하세요. 그렇지 않으면 거래가 처리되지 않은 풀에 무기한 남아 있을 수 있습니다.

모든 거래는 해당 주소의 개인 키를 사용해 이더리움 주소에 의해 서명되어야 합니다. 이것이 거래가 해당 주소에 의해 수행되었음을 증명합니다.

#### 거래 검증

블록체인 거래는 즉시 이루어지지 않습니다. 네트워크의 노드 중 하나가 이를 채굴하고, 그다음 나머지 기기들 전체에 전파하는 데 시간이 필요합니다. 네트워크에서 요청되는 거래가 많을수록 검증되는 데 더 많은 시간이 걸립니다.

간단히 말해, 거래가 검증되는 방식은 다음과 같습니다:

1. 새 거래가 발생하면, 미확인 거래 풀로 들어갑니다.
2. 네트워크의 기기 중 하나가 이 풀에서 몇 건의 거래를 포함하는 새 '블록'을 채굴하기 위한 알고리즘을 성공적으로 해결합니다. 여기에는 이 거래도 포함됩니다. 그런 다음 이 새 블록을 체인의 끝에 붙입니다.
3. 그 블록은 네트워크의 다른 기기들과 공유됩니다. 각 기기는 블록 안의 각 거래가 유효한지 검증하고 블록의 해시를 확인해 정당성을 보장한 다음, 자체 체인 버전에 추가합니다.
4. 새 블록은 전체 네트워크에 전파됩니다. 이 거래가 실제로 발생했다는 점에 대해 모두가 공유하는 이해가 있습니다.

#### 사이드체인

Decentraland는 [Matic](https://matic.network/) 과 협력해 *사이드체인* (특별한 종류의 블록체인)을 만들고 있으며, 이는 메인 Ethereum 네트워크보다 더 빠르고 저렴하게 거래를 처리할 수 있게 해줄 것입니다. 이 사이드체인은 게임 내 거래에 이상적입니다. 변경 사항이 더 실시간에 가깝게, 그리고 매우 낮은 비용으로 발생할 수 있기 때문입니다. 가치 있는 아이템과 관련된 거래의 경우에는 더 안전한 메인 Ethereum 체인을 여전히 권장합니다.

장면 작업을 하는 각 개발자는 서로 다른 거래에 대해 메인체인, 사이드체인, 또는 둘의 조합을 사용할지 선택할 수 있습니다.

사이드체인은 Ethereum의 메인체인과 상호 운용 가능하게 유지됩니다. 메인 체인에서 사이드 체인으로, 그리고 그 반대로 토큰을 옮길 수 있습니다. 사이드체인에서 일어나는 거래는 토큰이 다시 메인체인으로 '나갈' 때 결국 메인체인에 반영됩니다.

#### 장면에서 거래 트리거하기

장면의 코드는 Ethereum 메인체인과 Decentraland의 사이드체인 모두에서 거래를 트리거할 수 있습니다. 장면 안에 토큰(NFT 같은)을 판매하는 상점을 둘 수도 있고, 특정 목표를 달성한 플레이어에게 게임 아이템을 보상으로 주는 게임을 만들 수도 있습니다.

사용자는 항상 자신의 Ethereum 클라이언트에서 이러한 거래를 명시적으로 승인해야 합니다. 예를 들어 Metamask를 사용할 때는 처리되기 전에 각 거래를 수락하라는 메시지가 사용자에게 표시됩니다.

## 토큰의 종류

Ethereum 네트워크에서는 서로 다른 유형의 토큰을 다룰 수 있습니다. 같은 특성을 공유하는 토큰들을 묶는 몇 가지 표준이 등장했습니다.

Decentraland에서는 무기나 트로피처럼 게임이나 체험과 관련된 아이템을 나타내는 데 토큰을 사용할 수 있습니다. 토큰은 플레이어의 지갑에 보관되므로, 플레이어와 함께 장면에서 장면으로 이동합니다. 따라서 각 장면은 존재하는 각 종류의 토큰에 어떻게 반응할지, 그리고 반응할지 여부를 선택할 수 있습니다.

읽어보세요 [NFT란 무엇인가](https://decentraland.org/blog/technology/what-are-nfts/) 비대체성 토큰의 등장과 진화를 더 깊이 살펴보려면 블로그에서.

#### 대체 가능한 토큰

어떤 항목이 대체 가능하다면, 그것은 비슷한 다른 항목으로 대체하거나 교환할 수 있습니다. 미국 달러 같은 법정화폐는 대체 가능합니다. 1달러 지폐는 다른 어떤 1달러 지폐와도 교환할 수 있습니다.

Bitcoin, Ethereum, MANA 같은 암호화폐 토큰은 모두 대체 가능합니다. 하나의 토큰 단위는 다른 어떤 토큰 단위와도 교환할 수 있기 때문입니다.

Decentraland 장면에서 사용할 수 있도록 사용자 지정 가능한 대체 가능 토큰을 만들 수도 있으며, 이를 통해 모두 동일하고 서로 간에 구별되거나 사용자 지정 가능한 속성이 없는 아이템을 나타낼 수 있습니다. 예를 들어, 동일한 아이템을 대량으로 모으는 데 초점을 맞춘 게임을 만들고, 이를 대체 가능 토큰으로 표현할 수 있습니다. 또한 대체 가능 토큰을 사용해, 그것을 보유한 플레이어에게 특정 지역이나 서비스에 대한 접근 권한을 주는 황금 티켓을 나타낼 수도 있습니다.

*ERC20* 는 Ethereum 네트워크에서 대체 가능한 토큰에 가장 널리 받아들여지는 표준입니다. MANA는 이 표준을 기반으로 만들어졌습니다.

#### 대체 불가능 토큰

대체 불가능 토큰(또는 NFT)은 각 단위가 다른 것들과 객관적으로 다르도록 만드는 특성을 가집니다. Decentraland의 LAND 구획은 각 구획의 위치가 고유하므로 NFT입니다. 다른 구획, 도로, 구역과의 인접성은 이러한 위치를 토큰 소유자에게 의미 있게 만듭니다.

Decentraland에서는 아바타, 착용 아이템, 무기, 기타 인벤토리 아이템 같은 게임 내 항목을 나타내는 데 NFT를 사용할 수 있습니다. 예를 들어, 게임의 모든 무기를 하나의 NFT 유형으로 나타내고, 이 NFT에 서로 다른 속성을 설정해 구분할 수 있습니다.

NFT는 입증 가능한 희소성을 지닌 디지털 상품을 제공하는 데 사용될 수 있습니다. 블록체인이 가능하게 하는 진정한 희소성 덕분에, 구매자는 자신이 구매한 예술 작품이 실제로 희귀하다는 것을 안심할 수 있습니다. 이는 디지털 아트에 이전에는 본 적 없는 실제 가치를 부여합니다.

게임 아이템은 블록체인에 저장된 이력을 갖게 됩니다. 이 이력은 예를 들어 아이템이 위대한 성취를 이루는 데 사용되었거나, 누군가가 존경하는 사람에 의해 사용되었다면 더 가치 있다고 판단하게 할 수 있습니다.

토큰을 설명하는 계약에 따라, 각 NFT는 변경 불가능할 수도 있고, 플레이어가 원할 경우 특정 특성을 사용자 지정하고 변경할 수 있도록 허용할 수도 있습니다.

*ERC721* 는 Ethereum 네트워크에서 대체 불가능 토큰에 가장 널리 받아들여지는 표준입니다. LAND 토큰은 ERC721 표준을 따릅니다.

## 스마트 계약

계약은 Ethereum 블록체인의 특정 주소에 존재하는 코드(그 메서드)와 데이터(그 상태)로 이루어집니다.

계약의 메서드는 항상 *받는 쪽* 필드가 계약의 주소로 설정된 거래를 통해 호출됩니다. 계약의 메서드가 실행하는 코드에는 다른 계약에 대한 호출이 포함될 수 있으며, 이 호출은 *보내는 쪽* 필드가 계약의 주소로 설정된 더 많은 거래를 트리거합니다.

계약은 스스로 어떤 행동도 트리거할 수 없으며, 시간 이벤트에 기반해서도 작동할 수 없습니다. 스마트 계약이 수행하는 모든 행동은 항상 계약의 함수 중 하나를 호출하는 거래에서 비롯됩니다.

스마트 계약을 사용해 사용자 지정 조건에 따라 거래를 조건부로 처리할 수 있습니다. 예를 들어, 플레이어들이 게임 결과에 베팅하고, 그에 따른 지급은 게임 결과가 계약에 전달되는 즉시 이루어질 수 있습니다.

스마트 계약의 전체 코드는 읽고자 하는 누구에게나 공개됩니다. 이를 통해 개발자는 공개적으로 검증 가능한 규칙을 만들 수 있습니다.

모든 토큰은 그 특성과 무엇을 할 수 있는지를 명시하는 스마트 계약에 의해 정의됩니다. Decentraland는 여러 스마트 계약을 작성하고 유지 관리합니다. LAND와 MANA 토큰 자체는 각각 *LANDregistry* 및 *MANAtoken* 계약에 의해 정의됩니다.

Decentraland가 생성한 모든 계약의 주소는 [Decentraland 스마트 계약](https://contracts.decentraland.org/addresses.json).

에서 찾을 수 있습니다. 블록체인에 공개된 정보이므로 해당 계약들의 전체 코드를 읽을 수 있습니다. 계약은 이름으로 [Etherscan](https://etherscan.io/contractsVerified) 그리고 그곳에서 내용을 읽을 수 있습니다.

## dApp

*dApp* (탈중앙화 애플리케이션)은 스마트 계약과 블록체인 위에 구축된 애플리케이션입니다.

dApp은 지갑이 특정 토큰을 보유하고 있는지 확인한 뒤 서비스를 사용할 수 있게 해주는 아주 단순한 형태일 수도 있습니다. 또는 Decentraland 마켓플레이스처럼 자체 UI를 갖춘 완전한 애플리케이션일 수도 있습니다.

## Sepolia 테스트 네트워크

스마트 계약을 배포하거나, 새로운 유형의 토큰을 만들거나, Ethereum 네트워크의 거래에 의존하는 Decentraland 장면을 만들기 전에, 악의적인 사용자가 악용할 수 있는 버그나 허점이 없는지 반드시 확인해야 합니다.

Sepolia 테스트 네트워크는 테스트 실행을 위해 특별히 만들어진 Ethereum의 대체 버전입니다.

Sepolia 네트워크의 토큰에는 실제 가치가 없으므로, 실제 위험 없이 실수를 감수할 수 있습니다. 파우셋을 사용하면 잃어버린 토큰을 무료로 다시 채울 수 있습니다:

* Sepolia Ether 파우셋 (<https://www.alchemy.com/faucets/ethereum-sepolia/>)

거래를 트리거하는 장면을 개발 중이라면, Sepolia 네트워크에서 이러한 거래를 테스트하는 것은 무료입니다. 보내는 토큰에 가치가 없기 때문입니다. 메인넷에서는 각 테스트 거래마다 적어도 실제 Ether 가스 수수료를 지불해야 합니다.

코드가 예상대로 작동하고 악용될 수 없다고 확신하게 되면, Ethereum 메인넷에 배포할 수 있습니다.

## 블록체인 재구성

때때로 여러 기기가 거의 동시에 서로 다른 새 블록을 만들기도 합니다. 이는 체인이 서로 갈라지는 두 버전으로 분기되어 잠재적으로 서로 모순될 수 있기 때문에 문제입니다. 포크가 발생하면, 이더리움은 항상 가장 긴 체인에 우선권을 주고 더 짧은 체인은 버림으로써 이를 해결합니다. 서로 경쟁하는 두 체인이 동시에 존재할 수는 있지만, 곧 두 체인 중 하나가 블록을 하나 더 추가해 다른 체인보다 더 길어집니다. 채굴 알고리즘을 푸는 데 시간이 걸리기 때문에, 경쟁 체인들이 서로 완벽한 동기화 상태로 계속 성장하기는 점점 더 어려워집니다. 결국 하나가 다른 하나를 제압하게 됩니다.

한 체인이 다른 체인보다 더 길어지고 분쟁이 해결되면, 더 짧은 체인을 채택했던 기기들은 조정을 해야 합니다. 이것이 바로 '리오그'라고 불리는 것입니다. 그들은 포크가 발생한 지점에 도달할 때까지 자신이 속한 분기의 블록들에 포함된 모든 거래를 되돌려야 합니다. 그런 다음 정당한 것으로 간주되는 더 긴 분기의 새 블록들을 추가해야 합니다.

되돌려진 거래는 채굴자가 다시 선택할 때까지(또는 폐기될 때까지) 대기 중 거래 풀로 돌아갈 수 있습니다. 이러한 거래에 대해 지불한 가스 수수료도 함께 롤백됩니다.

체인의 끝에 막 추가된 블록은 위에서 설명한 메커니즘 때문에 롤백될 가능성이 상당히 큽니다. 이후 블록이 체인의 끝에 추가될수록, 블록체인에서 더 뒤쪽에 있는 블록이 롤백될 가능성은 점점 낮아집니다. 더 큰 재구성이 필요하기 때문입니다. 이 때문에 거래 이후 체인의 끝에 추가되는 각 새 블록을 그 거래에 대한 확인이라고 부릅니다.

블록체인 밖의 정보를 사용하는 애플리케이션(또는 장면)을 만들 때는 재구성이 발생할 수 있음을 인지해야 합니다. 특정 횟수의 확인이 발생하고 거래가 더 이상 체인의 맨 끝에 있지 않을 때에만 거래를 검증된 것으로 간주하고 싶을 수 있습니다.

확인을 여러 번 사용하면 정보가 매우 안정적으로 되지만, 거래가 반영되기까지 시간이 오래 걸립니다.

확인을 적게 사용하면 변경 사항이 더 빨리 반영되지만, 재구성이 발생할 때 거래가 되돌려진 것처럼 보이는 순간적인 문제가 가끔 생깁니다. 이러한 거래가 장면에서 오프체인 결과를 낳는다면, 그 결과도 어떻게든 되돌려야 할 수 있습니다.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.decentraland.org/player/player-ko/blockchain-integration/ethereum-essentials.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
