Skip to content

Latest commit

 

History

History
11 lines (6 loc) · 4.02 KB

1_Scalable_Multi-Party_Computation.md

File metadata and controls

11 lines (6 loc) · 4.02 KB

확장성 높은 다중 연산

블록체인에서 정확성을 강화하기 위한 해결책은 일반적으로 모든 참가자가 체인의 유효성을 스스로 검증하도록 하는 것이다. 새 블록을 승인하려면 블록의 유효성을 검사하여 블록이 올바른지 확인해야한다. 주장된 데이터는 블록체인에 참가자들이 상태를 적용 할 수 있도록 반드시 분쟁 기간을 거쳐야하는데 블록체인 트랜잭션 용량을 확장하기 위한 많은 노력들은(예: LightningNetwork[1]) fidelity bond를 형성하기 위해 시간 약속을 사용해야 한다(an assert/challenge agreement). 이 assert/challenge 구조는 특정한 상태(state)가 옳다고 주장하는 것을 가능하게 한다. 값이 부정확한 경우, 다른 관찰자(observer)가 합의 된 시간 전에 이 주장에 도전하는 증거를 제공할 수 있는 분쟁 기간이 존재한다. 부정행위나 오류가 발생할 경우, 그 블록체인은 결함 있는 사용자(faulty actor)를 처벌할 수 있다. 이는 잘못된 상태가 주장된 경우 참가자들이 증거 제공을 시행하도록 장려하기 위한 메커니즘을 만들어 준다. 이러한 assert/challenge 증명 구조를 갖음으로서, 이해관계가 있는 참가자는 루트 블록체인(예: Ethereum)에 있는 이해관계가 없는 참가자들에게 진실에 기반하여 주장 할 수 있다.

이 구조는 지급을 위해서만 사용될 수 있는 것이 아니라, 계산 자체까지 확장하여 블록체인이 컨트렉트의 분쟁에 대해 판결을 내리는 레이어가 되도록 할 수 있다. 그러나 이것의 가정은 모든 당사자가 계산을 검증하는 데 참여하고 있다는 것이다. 예를 들어, 라이트닝 네트워크에서 이 구조는 컨트랙트 상태를 계산하기위한 약속을 설립할 수 있도록 한다. (예: 조건부 상태의 다중 서명 트랜잭션의 사전 서명 된 트리를 사용)

이러한 구조는 규모에 따라 매우 강력한 계산을 가능하게 하지만, 많은 외부 상태를 요약해야 하는 것과 같이 몇 가지 이슈가 존재한다(예: 전체 시스템/마켓의 합산, 다량의 나눠지고/불완전한 데이터 계산, 많은 수의 참여자). 다수의 오프체인 상태(state channels[4])에 대한 이러한 형태의 약속은 참가자들이 계산을 완전히 검증해야 하며, 그렇지 않은 경우 단일 라운드 게임에서도 계산 자체의 상당한 신뢰가 확립되어 있어야한다. 추가로, 대개 컨트랙트가 처음 시작되기 전에 실행 경로를 완전히 해제되어야 하는 라운드의 가정(a presumption of ”rounds”) 같은 문제도 있다. 이는 참가자가 종료(exit) 및 온-체인의 비용이 많이 드는 계산을 강제로 수행하게 한다(어떤 당사자(party)가 정지하고 있는지 증명할 수 없으므로).

대신에, 우리는 오프체인에서 계산하지만 최소한의 온-체인 업데이트로 초당 수십억개의 연산으로 확장 가능한 시스템을 찾으려고 시도했다. 이러한 상태 업데이트는 위조 증명에 의해 시행되는 올바른 행동으로 보상을 얻는 자율적인 PoS 검증자들에 의해 이루어진다. 이것은 단일 참가자가 연산 서비스를 쉽게 정지하지 않고 연산을 수행할 수 있도록 해 준다. 이는 루트체인에서 비정상적 작업자(byzantine actors)에 의한 이벤트에서 risk-discounted 트랜잭션 수수료를 방지하기 위해 블록체인의 상태 업데이트 및 상태 변경을 강제하는 메커니즘을 최소함으로서 데이터 가용성 문제를 최소화할 수 있다.(예: block withholding)

라이트닝 네트워크와 마찬가지로 플라즈마는 기존의 블록체인에서 위에서 실행되는 집행을 보장하기 위한 일련의 컨트랙트로 어떤 사람이 나중에 지불과 인출(net settlement/ withdrawal)을 할 수 있도록 하며 컨트랙트 상태에서 자금을 보유할 수 있도록 한다.