paint-brush
블록체인의 마지막 마일: RPC 및 서비스로서의 노드by@blockchainize

블록체인의 마지막 마일: RPC 및 서비스로서의 노드

Blockchainize5m2024/07/26
Read on Terminal Reader

이 백서는 블록체인에 액세스하는 다양한 방법을 비교하여 전체 노드 실행과 타사 서비스 의존 사이의 장단점을 강조합니다. 이는 전체 노드를 실행하는 것이 블록체인 정보에 액세스하는 가장 안전한 방법으로 남아 있으며 미래의 블록체인 접근성 서비스에서 무결성, 가용성 및 개인 정보 보호의 중요성을 강조한다는 결론을 내립니다.
featured image - 블록체인의 마지막 마일: RPC 및 서비스로서의 노드
Blockchainize HackerNoon profile picture
0-item

저자:

(1) 퍼듀대학교 Zhongtang Luo([email protected]);

(2) Rohan Murukutla, Supra ([email protected]);

(3) Aniket Kate, Purdue University / Supra ([email protected]).

링크 표

초록 및 I. 서론

II. 블록체인 접근성에 대한 기대

III. 접근 방식 I: 원장을 로컬로 유지 관리 - 전체 노드 실행

IV. 접근 방식 II: 타사 Ledger-Node-As-A-Service(NAAS) 쿼리

V. 접근 방식 III: 라이트 노드 - 외부 쿼리 및 로컬 검증

6. 결론 및 참고자료


개요 —많은 연구가 블록체인을 보호하기 위한 다양한 방법에 초점을 맞추고 있지만, 체인 정보가 유용하려면 최종 사용자가 체인에 대한 정보에 액세스해야 합니다. 본 의견서에서는 최종 사용자가 블록체인에 액세스할 수 있는 다양한 방법을 조사합니다. 우리는 풀 노드를 실행하는 것과 신뢰할 수 있는 제3자 서비스를 완전히 활용하는 두 가지 극단 사이에서 라이트 노드에 관한 많은 솔루션이 등장하고 있음을 관찰했습니다. 우리는 웹 커뮤니케이션의 세 가지 기본 속성인 무결성, 가용성 및 개인 정보 보호를 기반으로 이러한 솔루션을 분석합니다. 우리는 현재 이 세 가지 속성을 유지하면서 블록체인에 액세스하는 가장 좋은 방법은 여전히 전체 노드를 실행하는 것이라고 결론지었습니다. 우리는 이러한 세 가지 기대를 고려하면서 미래의 블록체인 접근성 서비스를 구축하는 것이 필수적이라고 생각합니다.

I. 소개

블록체인은 변조로부터 보호되는 공개적으로 검증 가능한 거래 원장을 유지하려는 노드 그룹입니다. 2009년 비트코인[41]으로 처음 제안된 이후 블록체인은 금융 수단으로 많은 인기를 얻었습니다. 비트코인 및 이더리움[20]과 같은 가장 잘 알려진 블록체인의 성공은 주로 분산된 특성과 고급 암호화 기본 요소를 사용하여 복잡한 트랜잭션을 처리할 수 있는 기능에 기인할 수 있습니다. 현재 큰 시장 규모를 지닌 블록체인은 21세기 금융 및 전자상거래 분야의 선도적 혁신이 될 잠재력을 갖고 있습니다.


기존의 많은 블록체인 인프라 연구 및 혁신은 참여 노드가 공개 원장(계층 1 프로토콜이라고 함)을 유지 관리하는 안전하고 효율적인 방법에 중점을 두고 있습니다. 그러나 잘 관리된 원장에서 정보를 가져오는 것도 사소한 문제가 아닙니다. 블록체인이 일상 생활에서 더 큰 역할을 하려면 모든 사용자가 블록체인에 계속 액세스할 수 있도록 보장하는 것이 필수적입니다. 공개 원장은 정의상 사람들이 상호 작용할 수 있는 경우에만 유용합니다.


최근 블록체인에 대한 대중의 관심이 높아지면서 매달 더 많은 사용자가 블록체인과 상호작용하고 있으며, 이더리움과 같은 인기 블록체인의 경우 하루 최대 875,000건의 거래가 발생하고 있습니다[20]. 홍수처럼 쏟아지는 거래에서 유용한 정보를 추출하려면 수익 창출 행위(예: 채굴)에 관여하지 않는 표준 블록체인 사용자에게도 강력한 하드웨어가 필요하며, 대부분의 블록체인의 인센티브 메커니즘은 이를 처리할 준비가 되어 있지 않은 것으로 보입니다. 문제.


비트코인 및 이더리움과 같은 대부분의 블록체인 프로토콜에서 참여 노드(작업 증명 시스템의 채굴자 및 지분 증명 시스템의 검증자)는 새로운 블록을 제안할 때 소액의 수수료를 받아 원장을 유지하도록 인센티브를 받습니다. 원장. 이러한 블록체인 프로토콜에 참여하는 노드는 수익을 보장하기 위해 거래를 수집하고 원시 블록을 브로드캐스트하는 데 인센티브를 받지만, 자신이 유지하는 원장에 대한 정제된 정보를 게시하는 데는 인센티브를 받지 않습니다. 다음 두 가지 예를 고려하십시오. (1) 사용자는 비트코인 지갑에 코인이 몇 개 있는지 알고 싶어합니다. (2) 사용자는 자신이 실행하려는 스마트 계약의 현재 상태를 알고 싶어합니다.


이러한 예와 마찬가지로 사용자가 알고 싶어하는 대부분의 정보는 채굴자와 검증자가 게시하는 원시 블록과 직접적인 관련이 없습니다. 사용자는 자신의 자산을 제3자 거래소에 전적으로 맡기고 거래소로부터 정보를 얻을 수 있지만, 최근 FTX 붕괴 사례에서 알 수 있듯이 이 접근 방식은 상당히 위험합니다[31]. 따라서 블록체인 사용자는 자신이 소유한 일부 계산 능력을 사용하거나 제3자 서비스 제공업체에 의존하여 블록에서 이러한 정보를 추출하는 방법을 고안해야 합니다.


본 논문에서는 사용자가 블록체인에서 정제된 정보를 얻기 위해 실제로 채택하는 두 가지 현재 방법을 비교합니다. 한 가지 방법은 전체 노드를 로컬에서 실행하는 것입니다. 이 방법은 일반적으로 외부 의존 없이 블록체인에서 많은 정보를 추출할 수 있습니다. 그러나 경우에 따라 Ethereum 아카이브 노드 및 Solana RPC 노드와 같은 더 빠른 쿼리를 보장하기 위해 추가 인덱스가 유지됩니다. 또 다른 방법은 제3의 서비스 제공업체에 의존하는 것입니다. 우리는 특히 이더리움에서 전체 노드를 실행하는 비용이 증가함에 따라 많은 사용자가 자체 보안 위험을 안고 있는 타사 서비스로 전환하고 있다는 추세를 확인했습니다. 우리는 전체 노드를 실행하고 신뢰할 수 있는 제3자 서비스를 완전히 활용하는 것이 블록체인 접근성과 관련하여 두 가지 극단을 나타낸다는 것을 관찰했습니다. 하나는 최소한의 의존성과 최대 하드웨어 요구 사항이고 다른 하나는 최대 의존성과 최소 하드웨어 요구 사항입니다.


또한 사용자가 자신이 소유한 하나의 주소에만 관심이 있는 경우와 같이 블록체인에 필요한 데이터가 구체적이고 제한적인 경우 사용자가 특정 지갑 소프트웨어를 사용할 수 있다는 점에도 주목했습니다. 지갑 소프트웨어 중 일부는 외부 노드에 직접 데이터를 쿼리하는 반면, 다른 일부는 블록체인의 일부를 다운로드하여 사용자가 관심 있는 정보를 직접 분석할 수 있습니다. 우리는 소프트웨어를 특정 라이트 노드로 분류합니다. 한편, 우리는 모든 정보를 제공할 수 있는 범용 라이트 노드를 실현하는 최근 추세를 간략하게 설명합니다.


그림 1. 블록체인에 접근하고 유용한 정보를 얻는 다양한 방법. 외부 리소스에 대한 의존도는 감소하는 반면 로컬 하드웨어 전원에 대한 의존도는 위에서 아래로 증가합니다.


Ethereum [24]에서 제안한 것과 같은 하나의 주소 [12]가 아닌 사용자. 현재 연구에는 Flyclient[10]와 같은 소위 초경량 노드도 포함되어 있습니다. 이 노드는 기존 라이트 노드에 의존하는 것보다 검증을 위한 추가 컨텍스트(이 컨텍스트에서는 증명자라고도 함)를 제공하는 제3자 서비스에 더 가까이 의존합니다. 풀 노드에서만 가능합니다. 그림 1은 블록체인에 액세스하는 다양한 방법 목록을 보여줍니다.


우리는 블록체인에 접근하는 다양한 방법 중에서 웹 서비스의 기본 사항인 무결성, 가용성 및 개인 정보 보호를 조사하는 것이 여전히 중요하다고 생각합니다. 블록체인 자체는 분산화 기술이지만, 소수의 제3자에 너무 많이 의존하는 것은 이러한 전제에 어긋납니다. 데이터의 정확성을 검증할 수 있는 방법이 없으면 해당 제3자가 잘못된 데이터를 제공할 경우 무결성이 훼손될 수 있습니다. 접근성을 제공하기 위해 선택된 제3자에 대한 의존도가 너무 높기 때문에 서비스를 제공할 수 없거나 제공할 의사가 없는 경우 가용성이 영향을 받을 수 있습니다. 개인 정보 보호는 제3자에게 문의할 때 해결해야 할 문제이기도 합니다.


우리는 시장에 있는 기존 프로토콜을 조사한 결과 이들 중 다수가 이러한 측면 중 적어도 하나에 결함이 있을 수 있음을 발견했습니다. 현재 무결성, 가용성 및 개인정보 보호를 유지하면서 블록체인에 액세스하는 가장 좋은 방법은 여전히 로컬에서 전체 노드를 실행하는 것입니다. 기능을 보장하기 위해 블록체인과 상호 작용하는 프로토콜을 설계할 때 이러한 세 가지 측면에 주의를 기울이는 것이 중요하다고 생각합니다.


이 문서는 CC BY-NC-ND 4.0 DEED 라이선스에 따라 arxiv에서 볼 수 있습니다.