RPCh로 가는 길 — 4부

Feb 16 2023
지난 몇 달 동안 우리는 프로토타입을 구축하고, 해커톤을 주최하고, 완전히 새로운 팀을 고용하고, 지갑(및 사용자)에게 첫 번째 개인 블록체인 게이트웨이를 제공하기 위해 RPCh를 서비스로 지정하고, 샌드박스 버전을 구축하여 이를 보여주었습니다. 모두 가능했습니다. 그것이 충분하지 않다면, 이제 진정한 도전이 옵니다: 실제 HOPR 네트워크를 통해 실제 사용자의 암호 거래를 처리하는 진정한 라이브 RPCh 버전입니다.

지난 몇 달 동안 우리는 프로토타입을 구축하고 , 해커톤을 주최하고 , 완전히 새로운 팀을 고용하고 , 지갑(및 사용자)에게 첫 번째 개인 블록체인 게이트웨이를 제공하기 위해 RPCh를 서비스로 지정하고, 샌드박스 버전을 구축하여 이를 보여주었습니다. 모두 가능했습니다.

그것이 충분하지 않다면, 이제 진정한 도전이 옵니다: 실제 HOPR 네트워크를 통해 실제 사용자의 암호 거래를 처리하는 진정한 라이브 RPCh 버전입니다.

우리는 이 버전이 알파가 될 것이라고 결정했습니다. 모든 기능이 구현되는 것은 아니며 첫 번째 클라이언트와 사용자는 초기 코드 릴리스와 함께 제공되는 안정성, 버그 및 기타 그렘린에 대해 현실적인 기대치를 갖게 됩니다. 그러나 물론 여전히 작동해야 합니다.

알파를 준비하기 위해 팀을 다시 확장했습니다. 경험이 풍부한 프런트 엔드 개발자 Michal은 HOPR의 통신 팀에서 공동으로 데려왔고 신입 사원 Martins는 RPCh의 증가하는 데브옵스 요구 사항을 지원하기 위해 채용되었습니다.

잡초 속으로

RPCh 알파 개발의 주요 기어 변속 중 하나는 세부 사항 및 테스트에 대한 초점 증가였습니다. 이론상 프라이버시에 대해 이야기하고 프로토타입을 가지고 노는 것은 재미있지만 실제 제품은 현실 세계에서 살아남고 번성해야 합니다. 공급, 수요 및 매우 얇은 마진의 세계.

RPCh는 실제 사용자가 DeFi 비즈니스를 진행하는 실시간 통화를 처리해야 합니다. 이로 인해 두 가지 규모의 문제가 발생합니다.

  • RPCh(및 그 아래의 HOPR 네트워크)가 실시간 트래픽을 처리할 수 있습니까?
  • RPCh는 대규모 RPC 호출을 처리할 수 있습니까?

RPCh는 HOPR 위에 구축되므로 HOPR이 처리할 수 있는 형식을 사용해야 합니다. 믹스넷을 통해 전송되고 상대방에서 재조립될 수 있도록 통화를 변환해야 합니다.

이것은 기본적으로 각 호출을 바이트 크기의 청크로 분할하는 것을 의미합니다.

또는 400바이트 크기의 RPCh 세그먼트는 HOPR 패킷에서 남은 부분이므로 RPCh가 기능을 위해 각 패킷에 추가해야 하는 추가 데이터를 허용하면 됩니다.

이제 대부분의 RPC 호출은 작습니다. 몇 개의 패킷이 정상입니다. 그리고 초기 프로토타입과 해커톤에서 우리는 대부분 단순한 바닐라 트랜잭션으로 테스트했습니다. 그러나 일부 RPC 호출은 엄청납니다! 테스트 결과 단일 Cowswap 트랜잭션에는 최대 50개의 RPCh 세그먼트가 필요할 수 있으며 각 세그먼트는 HOPR 믹스넷을 통해 서로 다른 경로를 사용합니다.

하나라도 누락되면 전체 호출이 실패합니다.

기억해야 할 또 다른 사항은 지갑이 트랜잭션 외부에서도 호출을 한다는 것입니다. 브라우저에서 지갑을 활성화하면 잔액 확인, 현재 블록 번호 확인 등을 위한 정기적인 호출이 표시됩니다. 이들은 작지만 많은 사용자가 한 번에 지갑을 활성화하면 트래픽이 빠르게 추가됩니다. DERP를 사용하고 지갑을 열어두면 직접 확인할 수 있습니다.

이제 우리의 초기 파트너는 개인 정보 보호에 중점을 둔 더 작은 지갑입니다. Metamask와 대화 중이지만 아직 멀었지만 여전히 많은 사용자가 있습니다. 모든 사용자에게 하루에 수십만 건의 전화가 걸려옵니다.

따라서 알파 버전에서도 RPCh는 한 번에 많은 호출을 처리해야 하며 그 중 일부는 비정상적으로 큽니다.

그러나 유용하기에는 너무 모호합니다. 따라서 우리는 RPCh가 제공할 실제 서비스의 잡초에 실제로 들어갈 필요가 있었습니다. "HOPR을 통해 많은 RPC 호출을 전송"하는 것뿐만 아니라 "무슨 호출?", "몇 개입니까?", "그들은 얼마나 큽니까?", "한 번에 몇 개입니까?" 단순한 추측이 아니라 정확한 수치입니다.

그래서 데이터 수집을 위해 Diego와 Luis를 배정했습니다. 그들은 우리의 파트너 프로젝트에서 지갑을 실행하는 데 몇 시간을 보냈고, 어떤 호출이 발생했는지와 정확한 크기를 바이트 단위로 기록했습니다.

지루한 작업이었고 거짓말은 아니지만 RPCh 알파가 처리해야 할 부하를 정확히 아는 것이 중요했습니다.

작동할까요?

이 수준의 세분성에서 작업하지 않고 여기까지 온 것이 이상하게 보일 수 있습니다. 작동하지 않으면 어떻게 됩니까?

그러나 이것은 실제로 제품 개발의 핵심 부분이며, 특히 완전히 새로운 것을 작업할 때 그렇습니다.

"작동할까요?" 다른 단계에서 다른 것을 의미합니다.

지난 9월 스페인에서 첫 번째 RPCh 프로토타입을 코딩할 때 "작동할까요?" "이것이 원격으로도 가능합니까?"

해커톤 중 “작동할까?” "이것을 실제 지갑에 통합할 수 있습니까?"

그리고 출시가 가까워질수록 RPCh가 작동한다는 의미가 점점 더 구체화됩니다.

거래를 개인적으로 보내는 것만으로는 충분하지 않습니다. 서비스는 신뢰할 수 있어야 합니다. 허용되지 않는 대기 시간을 도입할 수 없습니다. 파트너 지갑의 예상 처리량을 처리할 수 있어야 합니다. UX는 부드러워야 합니다. 로컬에서 스핀업하는 이론적 샌드박스 버전이 아닌 실제 HOPR 네트워크를 사용해야 합니다.

그리고 비즈니스의 현실이 시작됩니다. 우리 자신을 속이지 말자 — 지갑은 개인 정보 보호에 관심이 있지만 어떤 대가도 치르지 않습니다. 사용하기 쉽고 통합하기 쉬워야 합니다.

그리고 돈 이야기. 이상적으로는 RPCh는 경쟁사보다 저렴하거나 다른 곳에서 비용 절감을 도입해야 합니다.

우리는 이 모든 것을 달성할 수 있는 디자인이 있다고 믿지만 여전히 그 속도를 견뎌야 합니다.

테스트!

RPCh 알파는 이제 테스트 단계에 도달했으며 전체 팀은 첫 번째 지갑 파트너에게 원활하고 안정적인 서비스를 제공할 수 있도록 24시간 노력하고 있습니다. 모든 것이 순조롭게 진행된 것은 아닙니다. 순조롭게 진행되었다면 소프트웨어 개발이 아니었을 것입니다! 그러나 버그가 발견되어 제거되었으며 모든 것이 순조롭게 진행되고 있는 것으로 보고하게 되어 기쁩니다.

HOPR 팀워크

알파로의 여정은 또 다른 확장 이정표인 HOPR 팀 자체를 기록했습니다. 저는 HOPR 협회가 생기기 전부터 HOPR이 시작된 이래로 함께했습니다. 처음에는 분위기가 순수 스타트업이었습니다. 전문 지식이 있는 모든 사람이 참여했습니다. 프로젝트가 성장함에 따라 구조가 변경되었지만 여전히 유동적이었습니다. 우리는 전담 팀이 있었지만 겹치는 부분이 많았습니다.

그러나 RPCh 팀의 추가로 상황이 다시 바뀌었습니다. 이제 목표, 기한 및 요구 사항이 다른 세 팀이 있습니다. 구조가 견고해졌고 이제 전체 호출을 제외하고는 일부 팀원과 상호 작용하지 않고 몇 주를 보낼 수 있습니다.

이것은 특히 각 팀이 전 세계에 분산되어 있기 때문에 조정 및 우선 순위 지정에 대한 새로운 문제를 도입했습니다. RPCh 알파를 향한 작업은 전체적으로 HOPR 전반에 걸쳐 팀워크에 대한 실제 테스트였으며, 우리가 도전에 대처했다고 말할 수 있어 자랑스럽습니다.

RPCh 팀은 RPCh 자체 구축을 담당했지만 전체 HOPR 팀이 성공에 일조할 것입니다. 코어 팀은 RPCh가 실행되는 HOPR 프로토콜을 구축했으며 통신 팀은 RPCh에 대한 소식을 전하고 커뮤니티는 HOPR 릴레이 노드를 실행하고 안정적인 네트워크를 제공합니다.

RPCh 알파로 가는 길은 거의 끝났습니다. 도전적이었지만 매우 보람 있는 일이었습니다. 물론 알파는 시작에 불과합니다. 더 많은 기능, 더 많은 개선, 더 많은 지갑과 사용자가 지원할 것입니다.

나는 당신이 web3 제품을 구축하는 데 들어가는 이 작은 통찰력을 즐겼기를 바랍니다. 알파가 성공하면 저는 진정한 비공개 web3를 구축하기 위한 우리의 여정에서 다음에 올 일을 공유하기 위해 돌아올 것입니다.

Steven Nonis
RPCh 제품 리드