SFT 프로토콜 소프트웨어 레이어 구현

SFT 프로토콜의 소프트웨어 계층을 실현하려면 서약 계약, 다중 서명, 자산 소유권 확인, SSV 특수 검증 메커니즘, 스마트 계약 보안 및 기타 다중 모듈 협업 완료와 같은 여러 소프트웨어 모듈의 참여가 필요합니다.

4.1 서약 계약:

Stake 원래 체인과 상호 작용하기 위해 SFT 프로토콜 계약 수준에서 생성된 계약을 StakingContract(줄여서 SC)라고 합니다. 예를 들어 FIL-SC를 생성하여 FIL과 SFT를 연결합니다.

4.1.1 다중 서명 주소를 서약하고 생성합니다.

FIL을 보유하고 있는 사용자 A가 FIL-SC에서 Stake 작업을 시작하면 StakingContract는 먼저 다중 서명 주소를 생성하고 FIL 원본 체인을 통해 이 주소로 FIL을 전송합니다. 전송이 성공한 후 계약이 실행됩니다. 다중 서명 주소 작업의 서약, 성공하면 토큰이 원래 체인에 잠깁니다.

4.1.2 증명:

SFT 프로토콜은 FIL 원래 체인의 증명(증명)을 받은 다음 계약을 트리거하여 동등한 양의 SFT를 생성하고 이를 스테이커에게 보냅니다. StakingContract의 업데이트는 원래 체인과 SFT 프로토콜이 함께 작동해야 하며 각 체인의 계약 상태를 모니터링해야 하기 때문에 Staking 계약의 구현은 크로스 체인 메커니즘과 많은 유사점을 가지고 있습니다.

4.1.3 주조:

보유자가 StakingContract에서 Staking 요청을 시작하면 SFT 프로토콜에서 다중 서명 계정 생성이 발생합니다. 동시에 Stake 사용자의 서명을 통해 개인 자산의 다중 서명 주소로의 전송이 완료됩니다. 이 전송은 원래 체인에서 발생합니다. 계약이 전송 정보를 캡처한 후 다중 서명 주소에서 원래 체인으로 스테이크 요청을 시작합니다. 원래 체인에서 스테이킹이 완료된 후 SFT는 원래 체인 주소의 Stake 상태를 캡처하여 확인하고 확인에 성공한 후 해당 SFT는 즉시 SFT 프로토콜에서 발행됩니다.

프로세스 전반에 걸쳐 SFT 프로토콜은 원래 체인과 여러 번 상호 작용했습니다. 상태 모니터링 및 캡처는 전체 프로토콜의 보안에서 중요한 역할을 합니다. SFT 프로토콜은 원래 체인의 궁극적인 신뢰성을 보장하기 위해 시간 지연 및 다중 패스 검증을 통해 원래 상태를 캡처합니다.

4.2 다중 서명:

스테이크 자산 소유권과 SFT 간의 고유한 대응을 보장하기 위해 SFT 프로토콜은 중간 주소 모델을 설계했습니다.

이 주소의 자산 소유권은 누구에게도 속하지 않습니다. 즉, 아무도 이 주소의 개인 키를 소유할 수 없습니다. SFT는 안전한 다자간 컴퓨팅 기술과 임계 다중 서명 기술을 통해 중간 주소의 자산 중립성을 보장하여 SFT 보유자가 상환을 시작할 때만 서명하도록 합니다. 안전한 다자간 컴퓨팅은 프라이버시를 포함하며 SFT의 특수 기능을 가진 검증자 그룹의 참여가 필요합니다. 서명 유효성을 확인하고 최종적으로 중간 주소 서명의 복구를 실현합니다. 이 중간 주소에는 개인 키가 없으며 SFT 프로토콜에 저장되지 않습니다. 서명이 필요한 경우에만 특수인증자의 사설인증서로 서명한다. 임계값 다중 서명 기술의 실현은 모든 생성자가 아닌 일부 생성자가 개인 키 서명을 생성할 수 있음을 인식합니다.

4.3 안전한 다자간 컴퓨팅:

SFT 보유자가 StakeContract의 상환을 시작하면 다중 서명 주소는 계산 및 생성 프로세스 중에 개인 키 서명을 생성해야 하며 전용 검증자가 참여합니다. 검증자는 암호화된 채널을 통해 계산 결과를 전송하고 개인 키를 공개하지 않고 결과를 상호 검증할 수 있습니다.

보안 다자간 컴퓨팅은 주로 신뢰할 수 없는 제3자 없이 미리 정의된 함수를 안전하게 계산하는 방법에 중점을 두고 결과가 다자간 데이터 계산에 의존하고 당사자가 원본 데이터를 공유하지 않으려는 실질적인 문제를 해결합니다. 안전한 다자간 계산을 통해 제3자에게 초기 입력 값을 공개하지 않고 최종 결과를 확인할 수 있으며 이는 StakingContract를 잠금 해제하고 상환하는 안전한 방법입니다.

4.4 소유권 이전:

스테이킹 작업이 완료되면 다중 서명 주소의 FIL 상환권은 SFT 보유자의 손에 있습니다. SFT 보유자만이 FIL-SC 계약을 상환할 권리가 있습니다. 사용자 A가 사용자 B에게 SFT를 거래하면 사용자 A는 원래 체인 FIL을 상환할 수 있는 권리를 잃게 되며 계약의 다중 서명 주소의 FIL과 사용자 A의 주소 간의 매핑 관계도 B에게 부여됩니다. 상환을 시작하거나 SFT를 다른 사람에게 거래하십시오. 이 과정에서 다중 서명 주소는 SFT의 Polkadot 세계와 다른 특수 검증자의 서명을 통해 원본 체인 FIL의 여러 라운드 소유권 확인을 완료하며 블록 합의가 필요하지 않습니다.

4.5 SFT 특별 검사기(SSV):

SFT 프로토콜은 SSV 메커니즘을 통해 검증 데이터의 보안과 공정성을 실현합니다.

SFTValidator(SV)와 달리 SSV는 SFTStake 계약에서 자산 소유권의 증인입니다. 자격을 갖춘 소유자가 계약에 대한 상환을 시작하면 특수 검증자가 계산에 참여하고 서명을 통해 다중 서명 주소에서 개인 주소로 자산 전송을 완료합니다. 상환 작업이 발생하지 않으면 특수 유효성 검사기는 자체 개인 키를 로컬에 저장하고 호출을 기다립니다.

특수 유효성 검사기는 무작위로 선택된 여러 사람으로 구성됩니다. SFT는 무작위 알고리즘을 통해 SV에서 N개의 SSV를 선택합니다. SFT는 N개의 SSV를 무작위로 선택하여 로컬에서 계산하고 비밀 채널을 통해 결과를 전송합니다. 검증이 통과되면 참여 권한이 획득되어 서버에 로컬로 저장됩니다. 동시에 각 SSV는 원래 체인의 트랜잭션 상태를 확인하기 위해 StakeContract에서 지원하는 프로젝트의 라이트 노드를 실행해야 합니다. 이 프로그램은 전용 유효성 검사기 클라이언트 전체에 걸쳐 작성되어 자동으로 유효성 검사를 수행합니다.

4.6 SSV 노드 검증 메커니즘:

상환 데이터의 보안을 보장하기 위해 SFT에는 고정된 방식으로 그룹화된 특수 검증자가 있습니다. 각각의 교대 중에 단일 유효성 검사기 그룹은 다중 신호 주소 생성 및 키 저장을 완료하고 실행 주기가 완료된 후 새 그룹으로 대체됩니다. 이것은 현재 유효성 검사기의 참여를 보장합니다. 유효성 검사기 기간은 한 에포크 동안 지속됩니다(1 에포크는 약 24시간입니다). 다음 세트의 선출은 이전 에포크에서 이루어집니다. SFT는 블록률, 스테이킹 비율 등을 통해 SV 후보 중에서 새로운 SSV를 선정합니다. 새 SSV는 이전 SSV의 개인 키를 자신의 개인 키로 대체하고 동시에 시스템은 이전 SSV의 개인 키와 설정된 관계를 파괴합니다.

4.7 노드 검증자 보상 및 처벌 메커니즘:

특수 검증자의 중요성으로 인해 SFT는 이들을 위한 인센티브 및 처벌 메커니즘을 구축하여 컴퓨팅 및 저장과 같은 긍정적인 행동을 장려하고 단절 및 제때 교체하지 못하는 것과 같은 부정적인 행동을 처벌합니다. SFT 프로토콜은 주소 생성, 계산 및 서명에 참여하는 사람들이 DAO 인센티브인 SFT 프로토콜 토큰을 받게 된다고 규정합니다. 반면 SFT는 보안 문제에 대해 엄중한 처벌을 받습니다. SFT는 계산 및 저장과 관련된 모든 검증자가 지정된 시간 동안 온라인 상태를 유지하도록 요구합니다. 유효성 검사기가 자주 연결이 끊어지면 슬래시됩니다. 오프라인 시간이 N시간을 초과하면 검증인은 감옥에 갇히고 일정 기간 동안 특별 검증인 그룹의 계산 및 저장에 참여할 수 없습니다.

4.8 특별 검증인의 서약 메커니즘:

SFT 토큰을 보유한 사람은 누구나 SFT의 특별 인증자가 되기 위해 신청할 수 있습니다. 특별한 검증인이 DAOToken을 서약해야 합니다. 이는 받아들일 수 있는 스테이크 수에 비례합니다. 즉, 더 많은 DAO가 담보될수록 스테이크 자산 계산 및 저장의 가치가 커집니다. 이는 특수 검증자에 의한 공동 악의적 행동의 비용을 효과적으로 증가시킬 수 있습니다. 약속된 DAO는 시스템과 시스템 처벌을 위한 자금 풀에 의해 인센티브를 받을 것입니다. SFT 시스템의 특수성으로 인해 특수 검증자에 대한 요구 사항은 상대적으로 엄격하며 온라인으로 전환하는 초기 단계의 노드는 검증자를 유치하기 위해 점차 개방됩니다.

4.9 스테이킹 계약 보안:

SFT 프로토콜에서 StakingContract의 자산 보안은 다양한 방식으로 보장됩니다.

4.9.1 자산 중립성:

스테이킹 자산은 원래 체인에 고정되며 매핑 관계는 StakingContract에 기록됩니다. 다중 서명 주소는 임계값 다중 신호 공유 기술을 통해 N SSV에 의해 보장됩니다. 따라서 SC는 단일 제3자에 의해 통제되지 않습니다.

4.9.2 다중 서명 주소는 자산 메커니즘을 사용합니다.

특수 검증자는 SFT 무작위 알고리즘에 의해 선택됩니다. 검증자들은 서로를 알지 못하고, 담합의 가능성은 작아지고, 자산 보호는 안전을 보장하기 위해 일정 기간 내에 동적으로 교체됩니다.

4.9.3 처벌 메커니즘:

검증자가 개인 키 서명의 계산 및 저장에 참여할 때 일정 금액의 DAO 참여를 서약해야 합니다. 공격이나 불법 행위의 경우, 약속된 DAO는 삭감되며 약속된 가치는 폐기될 수 있습니다. 자산 가치에 비례합니다. 여러 조건이 결합되면 SFT 시스템은 특정 위험 요소를 효과적으로 처벌할 수 있습니다. 대부분의 사람들이 정직하다는 가정하에 Staking 계약의 자산은 어느 정도의 보안을 보장할 수 있습니다.

4.10 프로세스:

서약 절차는 다음과 같습니다. 사용자는 먼저 SC와 상호 작용하고 SC는 원래 체인과 상호 작용합니다. 이 기간 동안 사용자의 작업을 충분히 간단하게 만들기 위해 SC는 원래 체인과 여러 번 상호 작용하는 책임을 떠맡아야 합니다. 중요한 것은 SC는 사용자에게 SFT를 배포하기 전에 서약의 성공 여부를 확인해야 합니다. 사용자는 언제든지 보유하고 있는 SFT를 통해 원래 체인의 자산을 상환할 수 있습니다. 자산의 레코드 관계가 SC에 있기 때문에 SC의 관계를 수정하려면 SSV의 서명이 필요합니다. 사용자가 상환을 시작하면 SC는 서명 요청을 트리거합니다. SSV가 서명을 실행한 후 SC는 원래 체인과 상호 작용하고 Unbond/Unstake 요청을 제출합니다. 그런 다음 SSV는 원래 체인에서 신뢰할 수 없는 증거를 확인합니다. 요청을 제출하는 데 사용된 SFT는 증명이 사실일 때 폐기됩니다.

Last updated