25-2-16 @high-touch의 사이드체인 개발 소식과 계속되는 소소한 이벤트, 그리고 avle fund 수익금 활용방안에 대해

in AVLE 코리아last year

증인디스코드에서 @high-touch 의 개발에 관한 이야기들이 올라옵니다.

@high-touch는 스팀의 사이드체인을 만들어 과거의 steem-engine 과 같은 것을 구현하려 하는 것 같습니다. 그가 한 이야기를 정리해 보았습니다. 토큰 발행. 토큰 민트, 토큰 이동, NFT 발행. dex, staking 등이 가능한 시스템으로 만드려고 하는 것 같습니다. 아마도 개발이 되면 스팀과 하이브 분리이후 처음으로 본격적인 개발이 이루어질 것 같습니다. 적극적으로 응원합니다.

스팀 High-Touch 개발 아이디어

탈중앙화된 체인이 가장 좋고 누구나 쉽게 사용할 수 있어야 하지만, 기술적으로 EVM 체인이 더 많은 기능을 제공할 수 있습니다.

ERC20 토큰 배포 예시

ERC20 토큰을 쉽게 배포하는 방법을 제공할 수 있지만, 여전히 많은 사용자에게는 어려울 수 있습니다. 탈중앙화와 기술적 능력 사이의 균형이 중요하며, 프로젝트가 steemengine처럼 되지 않도록 주의해야 합니다.

리더 보상 유지 이유

작은 인센티브가 장기적으로 큰 차이를 만들 수 있습니다. 사이드체인이 수익을 낸다면 블록 생산자로부터 토큰을 매입하고 소각하는 것을 고려할 수 있습니다.

사이드체인 목표

스팀 위에서 작동하는 탈중앙화 거래소(DEX)를 만드는 것을 목표로 합니다. 컨트랙트 함수는 이미 체인 내에 코딩되어 있으며, 사용자가 직접 컨트랙트를 배포할 수는 없습니다. 새로운 기능 제안은 언제든지 가능하며, 네트워크 동의 하에 변경사항을 적용할 수 있습니다.

토큰 생성 함수

증인은 스팀에서 enablenode나 nodeapproval 트랜잭션을 보내 리더/증인이 될 수 있습니다.

커스텀 JSON 작업 예시

const op = [
    "custom_json",
    {
        required_auths: ["steem_user"],
        required_posting_auths: [],
        id: "evm_deploy",
        json: JSON.stringify({
            contract: "deploy",
            bytecode: "608060405234801561001057600080fd5b5060..."
        })
    }
];

코드 설명

  • custom_json: 사용자 정의 데이터를 블록체인에 기록하는 작업 유형.
  • required_auths: 트랜잭션 실행에 필요한 계정의 액티브 키 권한.
  • required_posting_auths: 포스팅 권한이 필요한 계정 목록 (빈 배열이므로 필요 없음).
  • id: 커스텀 작업의 식별자 (EVM 컨트랙트 배포를 위한 작업).
  • json: 컨트랙트 배포 작업임을 나타내며, 실제 배포될 스마트 컨트랙트의 바이트코드 포함.

활용 방안

게임에 토큰이나 NFT가 필요하다면 이 방법으로 충분하며, 게임 로직 전체를 사이드체인에 넣고 싶다면 포크해야 합니다.

대안 아이디어: 스팀 > 릴레이어 > Geth

스팀을 사용하여 솔리디티 컨트랙트를 배포할 수 있게 됩니다 (릴레이어를 통해 직접 생성).

사용자 컨트랙트 사용 예시

{
    "action": "call",
    "contract": "0xABCD...",
    "method": "transfer",
    "params": ["0x9876...", "100"]
}

문제점

중개자인 릴레이어가 필요하며, 릴레이어가 모든 컨트랙트를 배포해야 합니다.

장점

ERC20 토큰이나 ERC721, 다른 솔리디티 컨트랙트를 쉽게 배포할 수 있으며, 팬케이크스왑 같은 AMM을 기반으로 DEX를 구축할 수 있습니다.

추가 이점

릴레이어를 만들고, geth 체인들이 '프라이빗 네트워크'의 일부가 될 수 있습니다. 이더리움 사이드체인을 통해 스팀 위에 많은 이더리움 디앱을 올릴 수 있습니다.

이더리움 사이드체인 분석

장점:

  • 이미 검증된 이더리움 생태계의 도구와 컨트랙트 활용 가능
  • 개발자들이 익숙한 솔리디티 사용 가능
  • 기존 디앱들을 비교적 쉽게 포팅 가능
  • 개발 시간과 비용 절약

단점:

  • 중앙화된 릴레이어에 대한 의존성
  • 신뢰 요소 추가
  • 릴레이어가 단일 실패 지점(single point of failure)이 될 수 있음

실용적인 접근 방식 조건:

  • 릴레이어 코드가 완전 오픈소스이고 검증 가능
  • 릴레이어 작동 방식이 투명하게 문서화
  • 장기적으로 여러 릴레이어를 운영할 수 있는 가능성

결론

현재 개발 중인 JS 사이드체인을 중단하고 이 아이디어를 발전시키는 것이 더 효율적일 수 있습니다.

솔리디티 컨트랙트 수정

msg.sender를 사용하는 모든 함수를 address 매개변수를 받도록 수정합니다.

코드 예시

// 기존 코드
function transfer(address to, uint amount) {
    // msg.sender를 직접 사용
    require(balances[msg.sender] >= amount);
    // ...
}

// 수정된 코드
function transfer(address from, address to, uint amount) {
    // msg.sender 대신 매개변수로 받은 from 주소 사용
    require(balances[from] >= amount);
    // ...
}

이점:

  • 스팀 사용자는 별도의 이더리움 지갑을 관리할 필요가 없음
  • 기존 키로 이더리움 트랜잭션을 승인 가능
  • 보안성을 유지하면서 사용자 경험 개선

사이드체인 증인 시스템 작동 방식

  1. 증인 등록:

    • custom_json을 사용하여 증인 키를 공개 등록.
    • 모든 사용자가 당신을 증인으로 투표할 수 있습니다.
  2. 투표 가중치 시스템:

    • 투표 가중치는 사용자 계정이 보유한 네이티브 토큰의 양을 기준으로 합니다.
    • 가중치는 사용자가 투표한 모든 증인들에게 균등하게 분배됩니다.
    • 예: 100개의 토큰을 가진 사용자가 두 명의 증인에게 투표하면, 각 증인은 50 '표'를 받게 됩니다.
  3. 동적 재계산:

    • 사용자의 잔액이 변경되면 체인이 자동으로 모든 승인 가중치를 재계산합니다.
  4. 보상 시스템:

    • 선출된 증인이 블록을 생성하면 각 블록마다 보상을 받습니다.
    • 보상 금액은 설정에서 정의되며, 소프트 포크를 통해 증가하거나 감소할 수 있습니다.

사이드체인 네이티브 토큰 활용

스팀을 담보로 USDT 대출을 받는 기능. 사이드체인에 스팀을 예치하면 토큰 가치의 최대 50%까지 USDT로 대출받을 수 있습니다. 청산 기준은 80%이며, 이자율은 네이티브 토큰 보유량에 따라 달라집니다.

예시

5000달러 상당의 스팀을 예치하면 2500달러 상당의 USDT를 받을 수 있습니다. 이자가 매 블록 또는 매일 계산되며, 대출금을 상환하면 스팀을 다시 잠금 해제할 수 있습니다.

추가 아이디어

사이드체인이 스팀 블록을 받을 때 deploy_contract, call_contract라는 두 가지 추가 작업(operation)을 할 수 있습니다. 이 작업들은 증인 서명과 함께 즉시 릴레이어로 전달됩니다 (사이드체인에서 실행되지는 않습니다).

릴레이어 구성

릴레이어는 멀티시그 스마트 컨트랙트 지갑이며, 활성 증인 목록이 변경될 때마다 자동으로 업데이트됩니다. 새로운 증인이 활성화되면 모든 증인이 트랜잭션을 보내 멀티시그 지갑을 업데이트합니다.

탈중앙화

3개의 독립된 개체가 활성 증인으로 설정된 후에는 2/3 증인 서명이 필요하다고 가정하면 릴레이어는 완전히 탈중앙화됩니다.

문제점

너무 많은 증인이 동시에 서명을 보내지 않고 멈추는 경우, 멀티시그 컨트랙트가 트랜잭션을 처리할 수 없게 됩니다.

해결 방안

새로운 증인 노드를 실행하고 더 많은 토큰을 얻어 그들을 선출하거나, 지갑 컨트랙트에 비상시 멀티시그를 재설정하는 기능을 포함시킬 수 있습니다.

이를 위해서 작업하고 있는 것을 깃허브에 올렸네요
https://github.com/hightouch67/avasteem/tree/main

아무쪼록 진전이 있었으면 좋겠습니다. high-touch는 지금 본업으로 바빠서 틈틈히 개발을 한다고 합니다. 앞으로 1달 이상은 더 있어야 한다고 하는데 통상 1달이라고 하면 한참 더 기간을 고려해야 할 듯합니다.


오늘의 소소한 이벤트는 AVLE 맛집 카페 커뮤니티에 [부안 바지락 칼국수집 정이가네] 를 올려주신 @mirae1080 님입니다.
현재 상금은 400여 스팀이 남아있습니다.
2월 25일의 avle 25fund 수익은 약 2900스팀 정도 됩니다.
1500개는 수익확대를 위해 재투자하고 1400개는 커뮤니티 활성화를 위한 상금으로 활용하려 합니다.

커뮤니티 활성화 그리고 스팀의 발전을 위해 avle fund 수익금을 어떻게 이용할지 의견을 주시면 잘 반영하겠습니다.

Posted using SteemPro

Sort:  

상금 감사합니다... 파워업해서 사용하도록 하겠습니다

Coin Marketplace

STEEM 0.04
TRX 0.32
JST 0.074
BTC 64559.21
ETH 1683.31
USDT 1.00
SBD 0.41