BTC
ETH
HTX
SOL
BNB
시장 동향 보기
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

상태 채널의 현상 유지를 이해하는 기사

区块记
特邀专栏作者
이 기사는 약 3265자로, 전체를 읽는 데 약 5분이 소요됩니다
이 게시물에서는 상태 채널이 작동하는 방식과 구현이 복잡한 이유에 대한 기본 사항을 배웁니다.
AI 요약
이 게시물에서는 상태 채널이 작동하는 방식과 구현이 복잡한 이유에 대한 기본 사항을 배웁니다.

편집자 주: 이 기사의 출처는블록 레코드(ID: BlockchainInsights), 허가를 받아 게시했습니다.

편집자 주: 이 기사의 출처는

블록 레코드(ID: BlockchainInsights)

블록 레코드(ID: BlockchainInsights)

, 허가를 받아 게시했습니다.

이 게시물에서는 상태 채널이 작동하는 방식과 구현이 복잡한 이유에 대한 기본 사항을 배웁니다. 비트코인의 라이트닝 네트워크에서 지불에 어떻게 사용할 수 있는지, 그리고 이더리움 스마트 계약으로 구동되는 더 복잡한 애플리케이션에 어떻게 활용할 수 있는지에 대해 논의할 것입니다. 마지막으로 상태 채널이 지금까지 널리 채택되지 않은 이유와 이것이 변경될 수 있는 이유를 살펴보겠습니다.

상태 채널의 작동 방식

상태 채널의 핵심 전제는 놀라울 정도로 이해하기 쉽습니다. 온체인 트랜잭션을 사용하는 대신 정기적으로 트랜잭션을 원하는 당사자는 먼저 스마트 계약에서 자금을 잠근 다음 누가 어떤 자금을 소유하는지 상태를 업데이트하는 서명된 메시지를 오프체인에서 교환할 수 있습니다. 오프체인에서 여러 거래가 발생할 수 있으며 그 속도는 서명된 메시지를 교환할 수 있는 당사자의 능력에 의해서만 제한됩니다. 당사자가 채널을 나가고 싶을 때마다 체인의 스마트 계약에 최신 서명 상태를 제출할 수 있으며 스마트 계약은 서명을 확인하고 합의된 분배 방법에 따라 자금을 분배합니다.

상태 채널의 가장 간단한 예인 두 당사자 간의 간단한 결제를 살펴보겠습니다. 오랜 친구인 앨리스와 밥을 초대합니다. 우리는 이 두 사람이 정기적으로 자금을 교환할 이유가 있다고 가정합니다. 그들은 모두 기본 체인의 스마트 계약에 자금을 예치합니다. 이 예에서는 각각 5 ETH라고 가정해 보겠습니다. Alice는 Bob에게 1 ETH를 지불한다는 메시지에 서명합니다. 즉, 그녀는 잔액을 4 ETH로, Bob의 잔액은 6 ETH로 업데이트합니다. Alice는 업데이트된 상태에 서명하고 반환하는 Bob에게 서명된 메시지를 보냅니다. 그 후 Bob은 Alice에게 0.5 ETH를 지불하여 잔액을 5.5 ETH로 줄이고 잔액을 4.5 ETH로 늘립니다. 그는 이 결제 메시지에 서명하고 Alice에게 보냅니다. Alice는 메시지에 서명하고 다시 보냅니다.

이 프로세스는 Alice와 Bob이 원하는 만큼 반복됩니다. 이 시스템에서 소액 결제가 가능하다는 점은 주목할 가치가 있습니다. 채널이 정산될 때까지 수수료가 없기 때문에 0.001 ETH를 1000회 지불하는 것은 1 ETH를 1회 지불하는 것과 같은 비용입니다.

결국 Alice와 Bob의 거래는 종료되었습니다. 양 당사자가 서명한 최종 잔액은 Alice가 7 ETH를 가지고 있고 Bob이 3 ETH를 가지고 있다는 것입니다. 그녀는 이 마지막 공동 서명 상태를 기본 체인에 제출하고 기본 체인은 먼저 양 당사자가 실제로 개인 키로 서명되었는지 확인한 다음 표시된 잔액에 따라 양 당사자에게 배포합니다. 간단하고 간결하죠? 예, 하지만 몇 가지 주요 세부 정보를 생략했습니다."디테일의 악마"블록체인 세계의 많은 것들과 마찬가지로 상태 채널은 모든 당사자가 예상대로 행동할 때 원활하게 작동합니다. 그러나 당사자들이 항상 그들이 기대하는 대로 행동한다면 애초에 탈중앙화된 암호화폐 네트워크가 필요하지 않을 것입니다! .

상태 채널의 경우 단순한 쌍방 지불 채널 예에서도 이러한 논쟁 요소를 고려하면 상당한 양의 부수적인 복잡성이 추가됩니다. 이 시나리오를 고려하십시오. Bob이 상품이나 서비스에 대한 대가로 Alice에게 2 ETH를 지불했지만 상품을 받았을 때 그는 오래된 상태(마지막 지불 전에 서명된 상태)를 사용하여 온체인 채널을 닫습니다. Alice와 Bob 모두 이 이전 상태에 서명했으며 스마트 계약은 이 상태가 이전 상태임을 알지 못합니다. 이를 통해 Bob은 Alice가 자신의 것이라고 믿는 자금을 청구할 수 있습니다."이러한 나쁜 행동을 방지하기 위해 Google 시스템은 두 사용자 모두에게 특별한 권한을 요구할 수 있습니다."마지막으로

채널을 폐쇄된 것으로 명시적으로 표시하는 상태가 서명되고 해당 상태가 커밋된 경우에만 자금이 해제됩니다. 그렇다면 당사자가 그러한 최종 상태에 대한 서명을 거부하거나 단순히 사라지거나 장기간 오프라인 상태가 되면 어떻게 됩니까? 양 당사자의 자금은 스마트 계약에 갇히게 됩니다.

이것을 피하기 위해

슬픈 알림

결과적으로 당사자는 채널을 종료하고 중간 상태를 사용하여 자금을 인출할 수 있어야 합니다. 양 당사자가 명시적으로 채널을 닫지 않으면 대부분의 최종 작업에서 자금이 지불될 때까지 대기 기간이 추가됩니다. 이것은 양 당사자가 서명한 새로운 상태를 제시함으로써 각 당사자가 철회에 대해 이의를 제기할 수 있는 기회를 제공함으로써 상대방이 속임수를 시도했음을 증명합니다. 이러한 증명에는 종종 악의적인 행위자에 대한 처벌이 수반됩니다.

실행 가능한 솔루션이지만 얼마나 많은 복잡성이 추가되었는지 확인할 수 있습니다. 간단한 2자 결제 채널의 경우 이제 양 당사자는 상대방이 부정 행위를 시도하지 않도록 체인을 지속적으로 모니터링해야 합니다. 그들은 최신 상태의 캐시된 사본을 유지하고 부정 행위가 발생했음을 증명하기 위해 온체인 트랜잭션을 수행할 준비가 되어 있어야 합니다. 또한 사용자는 상대방이 응답을 중단할 경우 자금을 돌려받기 전에 이의 제기 기간이 경과할 때까지 기다릴 준비가 되어 있어야 합니다.

다자간 결제

자, 여기에 문제가 있습니다. 두 당사자 지불만 있는 주 채널은 사용 가능성이 상당히 제한됩니다. 얼마나 많은 금융 거래가 두 당사자 사이에 반복되는 지불을 포함하고 있으며, 상대방과 지불할 목적으로 두 당사자 모두 자신의 많은 돈을 바치는 것을 편안하게 생각합니까? 아마 꽤 많을 겁니다."상태 채널을 유용하게 만들려면 기능을 확장해야 합니다. 두 가지 방법이 있습니다. 하나는 채널을 사용할 수 있는 당사자의 수를 늘리는 것입니다. 두 번째는 지불뿐만 아니라 상태 채널을 확장할 수 있는 기능으로 보다 일반적인 상태 유형을 실현할 수 있으므로 보다 복잡한 사용 사례를 실현할 수 있습니다."먼저 파티의 증가를 살펴보겠습니다. 이를 수행하는 가장 쉬운 방법은 모든 참가자가 동일한 계약에 입금하고 모든 상태에 서명하는 하나의 큰 채널을 갖는 것입니다. 분명한 이유로 이 접근 방식은 소수의 사용자 외에는 작동하지 않습니다. 우리에게 필요한 것은 단일 채널이 아니라 채널의 네트워크입니다.

라이트닝 네트워크: 결제 채널 네트워크

결제 채널을 정말 유용하게 만들기 위해 비트코인의 라이트닝 네트워크는 채널을 라우팅할 수 있게 만듭니다. 모든 사용자는 하나 이상의 노드로 채널을 열 수 있습니다(누구나 운영 가능). 그런 다음 노드 간에 지불이 이루어집니다.

도약

, 각 노드는 의도한 수신자에게 도달할 때까지 다음 노드로 자금을 이체합니다. 이러한 점프의 경우 각 노드는 약간의 수수료를 부과합니다.https://medium.com/)。

상상할 수 있듯이 이러한 시스템은 복잡성이 폭발적으로 증가하며 라이트닝 네트워크는 이러한 어려움을 해결하는 데 오랜 시간이 걸렸습니다. 아직 갈 길이 멀고 지난 12-18개월 동안 Lightning Network 채택률이 증가하지 않았습니다. 솔직히 말해서 라이트닝 네트워크가 대량으로 채택될지는 확신할 수 없지만 구축된 기술은 그럼에도 불구하고 인상적입니다.

라이트닝 네트워크는 참여자 간 지불을 가능하게 하여 상태 채널을 더 유용하게 만들었지만 다른 사람들은 채널을 소수의 당사자로 제한하지만 기능을 확장하는 다른 방식을 취했습니다.

상태 채널에 상태 추가

어떤 상태 전환이 허용되는지에 대한 특정 규칙(분쟁 발생 시 온체인 스마트 계약에서 확인 및 시행할 수 있는 규칙)을 포함함으로써 상태 채널을 사용하여 동일한 성능을 달성하는 다자간 탈중앙화 애플리케이션을 구축할 수 있습니다(링크:

이러한 종류의 상태 채널로 구현될 수 있는 응용 프로그램의 종류를 상상해 보십시오. 가장 일반적인 예는 게임입니다. Alice와 Bob이 체스 게임을 하고 싶어하고 거기에 약간의 돈을 걸고 싶어한다고 상상해 보십시오. 체스 규칙을 인코딩하는 스마트 계약과 체스판의 상태를 나타내는 데 사용되는 일부 기본 데이터 구조를 통해 Alice와 Bob은 서명된 메시지를 교환하여 내기를 걸고 오프체인 체스 게임을 할 수 있습니다. 게임이 끝나면 채널을 닫을 수 있고 승리한 쪽이 보상을 받습니다.

어느 한 쪽이 속임수를 쓰려고 하면 상대방이 스마트 계약을 통해 "중재"할 수 있습니다. 가장 최근 상태를 제시함으로써 유효한 게임 상태를 증명하고 결국 채널을 닫을 수 있습니다. 그러나 정상적인 상황에서 게임은 웹 기반 보드 게임에서 예상되는 방식으로 진행됩니다. 유일한 차이점은 게임 시작과 끝에서 채널을 열고 닫는 온체인 트랜잭션이 있다는 것입니다.https://docs.ethhub.io/)。

개념으로서의 상태 채널의 상대적 단순성은 블록체인 세계에서 처음으로 제안되고 연구된 스케일링 솔루션 중 하나라는 것을 의미합니다. 그러나 수년간의 연구에도 불구하고 의미 있는 방식으로 널리 채택되지는 않았습니다. 이유가 무엇입니까?"주 채널"여러분에게 깊은 인상을 주려고 하는 것처럼 상태 채널의 개념은 상대적으로 단순하지만 실제 구현에는 상당히 복잡합니다. 특히 실제로 유용한 것을 구축하려고 할 때 그렇습니다. 악의적인 행동과 관련된 많은 상황을 처리하는 동시에 사람들이 진정으로 원하는 것을 달성하는 것은 상당히 어려운 일임이 밝혀졌습니다. 강력하고 사용 가능한 솔루션을 개발하는 데 오랜 시간이 걸렸기 때문에 많이 채택되지 않았다는 사실이 가능합니다.https://blog.statechannels.org/)

나는 아직 주 채널을 포기하지 않습니다. 첫째, 라이트닝 네트워크는 계속 성숙해지고 있으며 더 많은 채택이 뒤따를 것입니다. 또한 이더리움 생태계에는 일반화된 상태 채널을 개발하는 많은 팀이 있어 상태 채널을 기반으로 애플리케이션을 더 쉽게 구축할 수 있습니다(링크:

开发者
智能合约
ETH
Odaily 공식 커뮤니티에 가입하세요