Torus를 통한 비수탁 키 관리

Torus는 탈중앙화 애플리케이션을 위한 사용자 친화적인 비수탁 키 관리 시스템입니다. Torus팀은 대중들이 탈중앙화 생태계로 유입될 수 있도록 접근하기 쉽고 보안성이 높은 게이트웨이를 구축하는데 심혈을 기울이고 있습니다. Torus는 구글, 페이스북 등 기존의 OAuth 로그인 체계와 분산 키 생성을 혁신적으로 결합하여 암호자산 결제, 디지털 트랜잭션 서명, 인앱 온체인 승인 등을 안전하게 관리할 수 있는 비수탁 솔루션을 제공합니다.

Dapp 사용자 경험 커스터마이징

Aave, Augur, Cryptograph, GoodDollar, MyCryptoHeroes, Yearn Finance, KyberSwap, OpenSea 등을 비롯한 250개가 넘는 앱들이 Torus 지갑과 연동했습니다. 뿐만 아니라, 점점 더 많은 서비스들이 서명 방식을 커스터마이즈하고 앱 내에서 사용성을 제고하기 위해 DirectAuth SDK를 도입하고 있죠. 이와 같은 앱들은 온라인 셀러들이 PayPal 계정을 연동하듯이 Torus를 연동하고 있습니다. 심지어 Torus는 암호자산과 토큰을 사용한다는 측면에서 PayPal보다 더 마찰이 적죠.

250개 이상의 앱이 Torus를 사용합니다.

Torus는 점진적인 온보딩 방식을 사용해 사용자들이 로그인 방식에서 보안성과 신뢰도를 점진적으로 담보할 수 있도록 합니다. 즉, 사용자들은 구글 OAuth 계정/비밀번호 로그인 방식과 같은 단일 로그인 방식으로 시작할 수 있다는 의미죠. 시간이 흘러 사용자들이 지갑에 더 많은 자산을 예치하게 되면 그만큼 비밀번호가 탈취되거나 시스템에 공격이 가해질 시 피해가 커지기 때문에 다양한 인증 방식을 결합할 수 있습니다.

OAuth 로그인을 지원하는 서비스

  • Google
  • Facebook
  • Reddit
  • Twitch
  • Discord

Torus 지갑과 DirectAuth 연동

Torus는 두가지 방식으로 연동할 수 있습니다. 하나는 지갑 인터페이스를 통해 연동하는 것이고 다른 하나는 SDK를 통한 direct auth 연동입니다. 지갑을 연동하는 것은 아주 적은 노력과 시간으로 진행할 수 있습니다. 보통 수분 밖에 걸리지 않죠. SDK를 통해 연동하는 것은 앱 설계 차원의 이슈 때문에 좀 더 오랜 시간이 걸리긴 하지만 보다 더 유연한 승인 방식을 도입할 수 있습니다.

이와 같은 DirectAuth 역량은 지갑 외부의 Torus 네트워크에서 앱들이 서명, 저장, 키 회수 등의 액션을 취할 수 있도록 합니다. 이와 같은 직접적인 방식의 액세스는 사용자들이 서명 승인, 지출 한도, 기타 온체인 트랜잭션 변수 등을 직접 설정할 수 있도록 함으로써 개발자들이 인앱 트랜잭션 플로우를 커스터마이즈할 수 있도록 합니다. 현재 블록체인에서 각 트랜잭션은 사용자의 입장에서는 개인 행동의 집합일 수도 있고 네트워크의 입장에서는 사건(이벤트)의 집합일 수도 있습니다. 하나의 상업적인 트랜잭션을 컨펌하기 위해 대여섯 번의 서명을 진행해야하는 것은 사용자 경험이 최적화되지 않은 것이지요. Torus의 DirectAuth 기능은 사용자들이 비결정적인 행위나 낮은 가치의 트랜잭션을 사전 승인하고 일일 지출 한도를 설정하거나 저위험 컨펌 임계치를 커스터마이즈할 수 있도록 함으로써 개발자들이 사용자 경험을 제고할 수 있도록 합니다.

DirectAuth의 장점은 이뿐만이 아닙니다. 또 다른 장점은 사용자들이 앱 차원에서 로그인 방식을 커스터마이즈할 수 있다는 점이죠. 지갑을 사용하면 단일의 로그인 방식이 가능합니다. DirectAuth를 사용하면 앱마다 다른 로그인 방식을 사용할 수 있습니다.

분산 키 생성

Torus는 개별적인 노드 네트워크로 구동되는 분산 키 생성과 스토리지 기능을 통해 이와 같은 승인 방식을 제공합니다. Torus는 임계값 비밀 공유(threshold secret sharing scheme)와 같은 방식을 사용합니다. 이는 70년대부터 존재하던 알고리즘의 한 종류죠.

Torus 네트워크 상의 개인 키는 지분의 형태로 저장됩니다. 이와 같은 지분은 임계값 접근 구조를 따릅니다. 즉, 50% 이상의 지분을 가지고 있는 한 개인 키를 복구할 수 있는 것이죠. 예를 들어 만약 총 3개의 지분이 있다면 개인 키를 복구하기 위해서는 최소한 2개의 지분이 필요합니다. 이와 같은 임계값 비밀 공유는 70년대부터 존재했으며 이중 가장 기본적인 임계값 비밀 공유는 샤미르 비밀 공유입니다.

해당 알고리즘은 노드 집단이 직접 키를 생성하고 각 노드가 해당 키에 대한 지분을 조금씩 가지고 있도록 합니다. 단일 노드가 주어진 정보로는 키를 복구할 수 없죠. 하지만 각 참여자들의 특정 수(임계값)이 넘어가면(m분의 n에서 n이 임계값보다 높다면) 키를 복구할 수 있습니다.

사용자가 Torus 지갑에 로그인하면 사용자는 기존 웹2.0에서 표준적인 로그인 방식과 같이 auth 토큰을 받습니다. 사용자는 해당 토큰을 백엔드의 노드들에게 보내 각 노드들이 토큰을 검증하고 사용자가 주장하는 본인임을 증명합니다. 노드들은 각 auth 토큰을 활용해 샤미르 비밀 공유에 필요한 지분을 확보하고 이는 Dapp이 구동되고 있는 프론트엔드 브라우저 차원에서만 키가 재구축됩니다. 키는 이와 같은 특정 차원을 제외한 그 다른 어떠한 곳에 저장되거나 재구축되지 않습니다. 키가 재구축되는 브라우저는 이상적으로 안전한 해시 함수 혹은 IPFS를 통해 로딩이 되는 무신뢰기반 브라우저여야 하겠죠.

Torus 노드 네트워크

이런 비수탁 서비스의 핵심 부분은 개별적인 노드의 집합을 활용한다는 점에 있습니다. 해당 네트워크의 오퍼레이션은 크게 두가지로 볼수 있습니다.

  • 키 생성 및 저장 - 키 지분은 네트워크의 노드들에 의해 생성되고 하나의 집합으로서 네트워크 내에 저장됩니다. DKG 보간법이죠.
  • 키 접근 통제 - 해당 요소는 네트워크가 요청받은 사항을 검증하도록하는 일반적인 검증 스크립트로 구성되어 있습니다. 그 요청은 통상적으로 하나 혹은 그 이상의 로그인 계정에서 발생해서 노드들에 저장되어 있던 키 지분에 대한 요청을 뜻하죠.

노드들은 주주들로 구성되어진 커다란 생태계에서 운영되고 있으며, 모든 노드들이 생태계의 성장이라는 동일한 비전을 공유하고 있습니다. 운영되고 있는 노드 리스트는 Torus 사이트에서 확인하실  수 있지만 그중에는 Binance, Etherscan, SKALE, Fortmatic, ENS 등도 포함되어 있죠. 지금 시점에서 Torus는 허가성 네트워크로 분류될 수 있습니다. 하지만 점진적으로 탈중앙화되고 있죠. 추가적으로 네트워크를 사용하고 있는 앱들이 수수료를 평가함으로써 보상 구조가 Torus에 반영될 수 있고 이는 운영되고 있는 노드들에게 분배될 수 있습니다.

SKALE + Torus

SKALE 네트워크와 Torus의 결합은 각자의 목표와 능력이 서로를 보완하기 때문에 아주 자연스럽습니다. 개발자들이 직접적으로 Torus 지갑을 사용하건 DirectAuth 연동을 하건 연동 자체는 아주 간단하죠. Torus 지갑을 사용하면 SKALE 네트워크에 대한 액세스는 기본으로 주어집니다. 개발자가 그저 RPC 엔드포인트를 변경하기만 하면 SKALE 체인(들)에 접근할 수 있습니다.

개발자들은 Torus의 DirectAuth 기능을 통해 더 넓은 폭에서 키와 사용자 승인권을 통제할 수 있습니다. 이와 마찬가지로 SKALE 네트워크를 연동하기 위해 SKALE SDK도 설치할 수 있죠. 즉, SKALE 네트워크와 연동하는 것은 Torus 지갑을 통해서도 가능하지만 SKALE SDK를 통해서도 가능합니다. 아직도 많은 블록체인 기반 앱들에서 부족한 점인 앱 사용성과 마찰을 모두 개선할 수 있기 때문에 이 둘을 결합하는 것은 아주 중요합니다.

SKALE과 Torus는 모두 개발자들이 차세대 Dapp을 보다 쉽게 구축할 수 있도록 하고 탈중앙화 솔루션에 기여하고 싶다는 미션을 공유하고 있습니다.

SKALE 네트워크의 몇가지 기술적인 강점을 소개하겠습니다.

  • 0 혹은 0에 가까운 가스비
  • 임의 노드 선별 / 주기적인 노드 회전
  • 가상하위노드
  • 컨테이너화된 검증 노드
  • 비동기 이진 비잔틴 합의 (ABBA)
  • BLS 롤업
  • 노드 모니터링
  • 이더리움 상호운용성

SKALE과 함께 시작하는 여정

SKALE 네트워크와 관련된 보다 세부적인 정보와 기술적인 정보는 아래 영상 및 게시글에서 찾아보실 수 있습니다.


Torus의 공동창업자 Zhen Yu와의 인터뷰

SKALE Labs 팀은 Torus의 공동창업자 Zhen Yu와 함께 Torus, Dapp 개발자, auth 연동에 대해 심도 깊은 이야기를 나누었습니다. Zhen은 싱가폴에서 거주하며 일하고 있습니다.

Zhen Yu, Torus 공동창업자

요즘 Torus의 근황은 어떻고 어떤 업계가 가장 활동적인가요?

요즘 저희는 아주 잘 지내고 있습니다. Torus를 운영하기 시작한지 약 이년 반정도 되었네요. 현재 250개 이상의 앱들이 Torus를 사용하고 있고 DirectAuth 연동 기능과 관련해서 사용량이 폭발적으로 증가하고 있어요. 현재 가장 인기가 많은 분야는 디파이와 게임입니다. 해당 분야에서는 연동 수치가 증가하는 만큼 엔드 유저 또한 증가하고 있죠.

Torus의 접근 방식에 대한 논리는 무엇인가요?

Torus의 가장 큰 가치제안 중 하나는 바로 웹3.0에서도 기존의 인터넷과 같은 수준의 사용자 경험을 제공한다는 것입니다. Torus는 시스템이 엔드포인트에서 아무 것도 변경하지 않더라도 암호자산 지갑을 생성하고 Torus 네트워크 내에서 사용할 수 있도록 서비스를 구축하고 있습니다.

예를 들어, Torus의 기업 고객 중 하나는 기존의 로그인 방식을 변경하지 않고도 사용자들이 공개 및 개인 키 페어를 생성할 수 있게 되었습니다. 이를 통해 해당 고객의 사용자들은 블록체인의 종류와 관계없이 모든 블록체인 기반 기업 솔루션에 접근할 수 있죠.

DirectAuth의 경쟁우위와 왜 그토록 기대하시는지 말씀해주실 수 있나요?

DirectAuth는 Dapp들이 지갑을 거치지 않고도 네트워크에서 직접 키를 지정, 저장 및 회수할 수 있도록 합니다. 이와 같은 직접적인 연동은 어떤 앱이라도 특정 목적에 맞게끔 보안 기능과 허가 통제권을 커스터마이즈할 수 있다는 점에서 제한적인 통제를 강제하는 타 지갑과는 차별점이 있죠.

예를 들어 Torus 지갑, 메타마스크를 비롯한 모든 지갑은 트랜잭션이나 간단한 서명 승인 조차 매우 제한적인 플로우를 가집니다. 이렇기 때문에 사용자들은 매번 트랜잭션이 발생할 때마다 계속해서 컨펌을 해야하는 것이죠. 이와 같은 제한적인 방식은 물론 필수적인 것이지만 액수가 작은 트랜잭션이나 매번 액션이 발생하는 게임과 같이 금전적인 가치가 적거나 없는 사항에서는 사전 승인을 해놓거나 일일 임계값 제한을 설정해두는 편이 더 낫죠.

지갑과 같은 경우 제한치를 완화하는 것과 기타 앱이 가할 수 있는 잠재적인 공격에 대한 취약점 간의 균형을 찾는 것은 매우 어렵습니다. 단 하나의 만병통치약을 찾는 것은 불가능하죠. 하지만 DirectAuth를 사용한다면 앱들은 그들의 사용자들에 맞게끔 허가치를 조정할 수 있습니다. 이에 대한 좋은 예시로는 한 게임 앱이 N만큼의 트랜잭션 혹은 N만큼의 가치를 미리 탑업(top up)해놓고 매번 카드 팩을 구매하기 위해 다섯번의 컴펌창을 띄우지 않아도 되는 것이 있습니다.

앱들이 DirectAuth 방식으로 구축되었을 때 다른 점이 느껴지시나요?

물론입니다. 최근 들어 대중들이 탈중앙화 앱에 관심을 가지기 시작하고 저희가 보고자 했던 수치의 사용자들이 블록체인을 도입하기 시작했습니다. Audius가 좋은 예시네요. Audius는 6개월 내에 20만명의 유저를 확보한 음악 스트리밍 앱입니다. Audius는 직접 키와 허가치 플로우를 관리하죠.

Audius 앱을 사용해보시면 음악에 대한 것이 가장 우선적이고 암호자산은 그저 뒷단에서 운영된다는 점을 느끼실 것입니다. 이것이 정답이죠. 사용자들은 탈중앙화에는 관심이 없습니다. 음악을 듣고 저작권을 보호하는 것이 필요한 것이지 탈중앙화 자체가 목적이 아닙니다. 탈중앙화란 보다 더 나은 것을 만드는 수단에 불과합니다.

SKALE 네트워크의 어떤 점이 끌리시나요?

연동의 단순화죠. 사용하기 너무 편합니다. SKALE은 개발자들이 네트워크의 속도를 개선하고 훨씬 낮은 거래수수료로 운영할 수 있도록 지원합니다. SKALE 네트워크와 플랫폼 모두 정말 사용하기 편하죠. SKALE과 Torus 모두 개발자에게 집중하며 개발자들이 기술에 대해 이해하는 시간을 크게 줄여주고 진입장벽을 낮추어 줍니다. 통상적으로 커뮤니티를 키우는 것이 정말 중요하죠. 저는 SKALE과 Torus 플랫폼에서 새로운 앱들이 구축되어 나가게 되는 것이 많이 기대됩니다.

오늘 시간 내주셔서 감사합니다.

저야말로요. 정말 좋은 시간이었습니다. 다음에 뵙겠습니다.