이 게스트 포스팅은 Pyrite - ruby.exchange 코어 팀에 의해 작성되었습니다.

Ruby.Exchange의 주요 특징은 외관과 사용자들에게 제공하는 실용적 기능이 모두 다양한 NFT 미술품을 원석으로 사용하는 것입니다.

사용자 프로파일 식별자로 표시되는 원석은 무작위로 생성된 파라미터를 갖게 됩니다. 한편, 이용자에게 허가된 보상을 주는 원석은 간단한 추첨 시스템을 사용해 배포됩니다. 어떤 경우든, 난수 생성기(random number generator, RNG)가 필요합니다.

그러나, 컴퓨터 시스템의 결정론적 환경 내에서 신뢰할 수 있는 무작위 번호를 생성하는 것은 어렵습니다. 또한, 실질적인 경제적 가치를 가지는 원석들을 사용자나 네트워크 검증자가 할당 할 수 없도록 하는 것이 중요합니다.

SKALE의 BLS 서명은 이 문제에 대한 이상적인 해결책을 제시합니다.

온체인 임의성(On-Chain Randomness)의 문제

임의성은 온라인과 오프라인 모두에서의 많은 애플리케이션, 대부분 당연히 게임에 해당하지만, 의료 시험, 암호화폐 키 생성, 통계 샘플링, 컴퓨터 시뮬레이션, 심지어 생성예술에서도 중요합니다.  

오프라인에서는 간단한 동전 던지기나 주사위 굴리기 등으로 충분한 품질의 임의성을 얻을 수 있다. 디지털 영역에서는 진정한 무작위성을 찾기가 훨씬 어렵습니다. 암호 지갑의 개인 키 생성은 종종 마우스를 몇 초 동안 움직이는 것과 같이 사람이 제공한 무작위성을 수반합니다. 물론 실시간으로 난수가 필요한 경우에는 이 방법이 실용적이지 않습니다.

비디오 게임에서는 일반적으로 의사난수생성기(Prudorandom Number Generators, PRNG)를 사용합니다. 의사난수생성기는 대부분의 목적에 적합하지만 실제로는 랜덤으로 간주할 수 없습니다. 가치가 있는 애플리케이션을 취급할 때는 어떠한 위험도 감수할 수 없습니다.

Ruby.Exchange에는 원석 NFT를 생성하고 배포하기 위한 RNG가 필요합니다. 여기에는 공격자의 영향을 받을 수 없고, 모든 사람이 신뢰할 수 있으며, 완전한 투명성을 위해 블록체인과 통합되어 있는 임의성 소스를 사용해야 합니다.

이더리움은 모든 블록에 포함된 데이터의 해시 형태로 임의성의 원천을 가지고 있습니다. 각 블록이 데이터를 구조화하고 결과 해시를 변경할 수 있을 뿐만 아니라 결과를 누구보다 먼저 알 수 있는 단일 채굴자에 의해 생성되지 않는다면 거의 모든 애플리케이션에 충분합니다. 즉, 채굴자는 임의성을 프론트 실행 할 수 있습니다: 이더리움에 가상 동전을 던지기 전에 채굴자가 결과를 알지 못하는 한 많은 작업을 수행하는 것은 불가능합니다.

많은 이더리움 기반 프로젝트가 공정한 RNG인 Chainlink의 VRF(Verifyable Random Function)를 사용하고 있지만 SKALE에서는 아직 이용할 수 없습니다.

다행히 SKALE 자체에는 네트워크의 보안 보호 방식에 맞는 이상적인 솔루션이 포함되어 있습니다.

성공을 위한 BLS 서명

위의 비디오에서 Stan이 언급했듯이 다수의 노드로부터 협력적인 방법으로 난수를 생성할 수 있는 알려진 수학적 알고리즘은 하나뿐이므로 분산적이고 신뢰할 수 있는 임의성 소스를 제공할 수 있습니다.

BLS(Boneh-Lynn-Shacham) 서명은 그룹이 메시지(문서, 블록 체인트랜잭션 등)에 서명할 수 있도록 해서, 각 서명은 최종 서명의 조각을 가지게 됩니다.

더 큰 수의 잠재적 서명자 집합의 하위 집합은 거래에 서명할 수 있으며 동일한 결과를 얻을 수 있습니다. SKALE는 이미 이러한 임계값 시그니처를 사용하고 있으며 블록 검증에는 단일 검증자가 각 블록의 생성을 전적으로 책임지는 것이 아니라 다수의 노드(16개 중 11개)가 필요합니다.

더 큰 노드 그룹의 부분집합에서도 동일한 서명을 작성할 수 있습니다.

즉, BLS 블록 서명은 신뢰할 수 있는 임의성 소스로 간주할 수 있습니다. 랜덤 번호는 블록마다(매 수초마다) 변경되며 악성 채굴자의 영향을 받거나 사전에 예측할 수 없습니다.

실제로 이 랜덤 소스는 단순한 Solidity 호출을 사용하여 액세스할 수 있으며, Ruby나 다른 응용 프로그램에서 쉽게 사용할 수 있습니다.

랜덤 번호 생성은 코드 몇 줄만으로 dApp에 통합할 수 있습니다.

신뢰성 높은 랜덤 NFT

SKALE이 임계값 암호화를 사용한다는 것은 SKALE이 공감대를 형성하고 블록체인에 블록을 추가하는 방식에 임의성의 원천이 내재되어 있다는 것을 의미합니다.

BLS 서명은 SKALE 체인에 대한 MEV 공격을 방지하는 기술이기도 합니다.따라서 이더리움 메인넷에서 DeFi 애플리케이션을 방해하는 Ruby에서 프론트 실행 문제를 회피할 수 있습니다.이것은 우리가 감사해하는 또 다른 기능입니다.

SKALE 네트워크의 이 독특한 특성은 Ruby가 NFT 생성 방법에 랜덤한 숫자를 포함시켜 다른 모든 사람에게 드러날 때까지 잠재적인 공격자로부터 숨길 수 있는 이상적인 방법을 가지고 있다는 것을 의미합니다.

안전하고 간편하며 무료입니다.

Pyrite - ruby.exchange 코어팀

자세한 내용은 https://ruby.exchange/ & https://blog.ruby.exchange/를 참조하십시오.