카테고리 없음2022. 10. 19. 21:27

안녕하세요. IT반장입니다.

이번 글에서는 AWS 환경에서 간단하게 네트워크(VPC) 구성 및 시스템(리눅스) 구축 방법에 대해서 설명하고자 합니다.

- 아래 예제는 이더리움 테스트 노드를 동작시키기 위한 사양 등을 고려하였습니다.

 

목차

1. VPC 생성
2. Security Group 생성
3. EC2 인스턴스 생성
4. 탄력적 IP 주소 할당
5. 접속 테스트

 


1.  VPC 생성

- AWS에 시스템을 구축하려면 가장 먼저 VPC(Virtual Private Cloud)를 구축해야합니다.

- VPC에는 기본적으로 네트워크(서브넷, 게이트웨이, 라우터 등)를 포함합니다. 참고[1]

* VPC 생성 메뉴 > "VPC 등" 선택 > 태그 자동 생성 입력 "blockchain" 으로 하고 나머지는 기본으로 설정하여 생성

 

2.  Security Group 생성

- 시스템을 생성하기 전에 해당 시스템에 접근 제어 정책을 생성하는 단계 입니다.

 * 이름, 설명, VPC 를 작성하고, 필요한 포트를 추가하여 생성합니다. 

 * SSH로 시스템에 접근할 "소스 주소"등은 가능하면 지정하는 것이 좋습니다. 

 

3.  EC2 인스턴스 생성

- 여기서는 EC2 인스턴스(시스템)을 리눅스 OS로 설정하는 예제를 보여줍니다. 원하는 사양과 이미지를 선택하여 생성하면 됩니다.

* 키 페어는 사전에 EC2 > 키 페어 메뉴에서 생성한 후에 EC2를 생성합니다.

* 여기서는 블록체인 테스트 노드를 동작시키기 위하여 c5.xlarge, 200g SSD로 설정하였습니다.

* 외부와 다이렉트로 통신해야하는 블록체인 노드이므로 public 서브넷에 구성하였습니다.

 

4. 탄력적 IP 주소 할당

- 탄력적 IP(Elastic IP, 공인IP)를 할당하여 생성한 EC2 시스템에 할당하여 외부에서 접근할 수 있도록 합니다.

 

 

5. 접속 테스트

- 정상적으로 시스템에 ssh로 접속이 되는지 키파일로 접속 테스트를 해봅니다.

ssh -i ~/.ssh/keypair.pem ubuntu@10.10.10.10

# 여기서 IP는 연결할 시스템의 공인IP(탄력적IP)를 입력합니다.

 


참고 목록

[1] VPC: https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/what-is-amazon-vpc.html

[2] Security Group: https://docs.aws.amazon.com/ko_kr/AmazonElastiCache/latest/mem-ug/SecurityGroups.Creating.html

 


문서 이력

- v1.0 (20221019) :  최초 등록

 


도움이 되셨다면 

 눌러 주세요.^^


 

반응형
Posted by ITBJ
IT/Blockchain2022. 10. 18. 18:02

안녕하세요. IT반장입니다.

이번 시간에는 이더리움 테스트를 위한 테스트 노드 Goerli 설치하는 방법을 소개하겠습니다.

 

 

목차

1. 기본 환경 설정
2. geth 노드 설치 및 실행
3. prysm 모듈 설치 및 실행
4. 기타



0. 설치 환경

- 하드웨어: 최소 CPU 4 core, Mem 8 G, SSD 400 G (AWS c5.xlarge, c5.2xlarge)

- OS: 리눅스(Ubuntu20.04 등)

 

1. 기본 환경 설정

# 관련 패키지 설치
sudo apt-get install
sudo apt-get update

sudo add-apt-repository ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install ethereum

# geth 버전 확인
geth version

#---------------------------
Geth
Version: 1.10.25-stable
Git Commit: 69568c554880b3567bace64f8848ff1be27d084d
Architecture: amd64
Go Version: go1.18.5
Operating System: linux
GOPATH=
GOROOT=go
#---------------------------

 

2. geth 노드 설치 및 실행

# 디렉토리 생성
mkdir ethereum
cd ethereum
mkdir consensus
mkdir execution
cd consensus
mkdir prysm
cd prysm

# 키 생성
openssl rand -hex 32 | tr -d "\n" > "jwt.hex"

# geth 실행
nohup geth --goerli --http --http.api eth,net,engine,admin --authrpc.jwtsecret ./jwt.hex > geth.log &

# --syncmode snap/full/light 선택 가능
# 백그라운드 실행 설정(nohup ... &) 및 로깅 설정( > geth.log)은 필요시 사용한다.

# 로그 확인
tail -f geth.log

 

3. prysm 모듈 설치 및 실행

# 신규 터미널에서 prysm 다운로드
cd ethereum/consensus/prysm
curl https://raw.githubusercontent.com/prysmaticlabs/prysm/master/prysm.sh --output prysm.sh && chmod +x prysm.sh
wget https://github.com/eth-clients/eth2-networks/raw/master/shared/prater/genesis.ssz

# prysm 실행
./prysm.sh beacon-chain --execution-endpoint=http://localhost:8551 --prater --jwt-secret=./jwt.hex --genesis-state=genesis.ssz --suggested-fee-recipient=0x01234567722E6b0000012BFEBf6177F1D2e9758D9

# 관련 동의 후 백그라운드 실행
nohup ./prysm.sh beacon-chain --execution-endpoint=http://localhost:8551 --prater --jwt-secret=./jwt.hex --genesis-state=genesis.ssz --suggested-fee-recipient=0x01234567722E6b0000012BFEBf6177F1D2e9758D9 > prysm.log &

# 수수료 수신할 주소는 변경한다.
# 백그라운드 실행 설정(nohup ... &) 및 로깅 설정( > prysm.log)은 필요시 사용한다.

# 로그 확인
tail -f prysm.log

 

4. 기타

# 블록을 Sync 하는데 약 4-5일 소요된다. 
[2022-10-18 08:05:33]  INFO p2p: Peer summary activePeers=39 inbound=0 outbound=39
[2022-10-18 08:05:36]  INFO initial-sync: Processing block batch of size 63 starting from  0x0f88f3c9... 156800/4131028 - estimated time remaining 116h12m19s blocksPerSecond=9.5 peers=39

# 따라서 geth 실행시 --syncmode light 등을 적용하여 목적에 맞게 노드를 운영한다.
 

 


참고 목록

[1] https://notes.ethereum.org/@launchpad/goerli

[2] https://docs.prylabs.network/docs/install/install-with-script 

[3] https://goerli.net/

[4] https://eth-clients.github.io/checkpoint-sync-endpoints/#goerli

[5] https://goerli-faucet.pk910.de/

 


문서 이력

- v1.0 (20221018) :  최초 등록

- v1.1 (20221027) :  설치 환경 추가

 


도움이 되셨다면 

 눌러 주세요.^^

 


 

반응형
Posted by ITBJ
IT/Blockchain2022. 10. 7. 12:31

안녕하세요. IT반장입니다.

오늘 UTC PM 10:12:49 이후로 바이낸스 BSC 체인이 블록생성이 멈추었습니다. 참고[1]

- 멈춘지 4시간이 지났네요. 우리나라 시간으로 10/7 오전 8시 12분 경이네요.  

바이낸스에서 운영하는 BSC Token Hub에 취약점이 발견되어 BSC 체인을 일시적으로 중지한 것입니다.

이 글에서는 해당 해킹 사건에 대해서 분석해 보고자 합니다. 

 


목차

1. 개요
2. 해킹 분석 
3. 패치 및 대응 
4. 고찰 

 


1. 개요

- BSC 공지 내용 원문 (참고[2])

Temporary Pause of BSC

We want to confirm that we coordinated with validators to temporarily suspend BSC after having determined an exploit on a cross-chain bridge, BSC Token Hub- which resulted in extra BNB.

We have asked all validators to temporarily suspend BSC. The issue is contained now. Your funds are safe. We apologize for the inconvenience and will provide further updates accordingly.
The Community has already played a pivotal role in assisting and helping freeze any transfers. All funds are safe.
We want to thank the node service providers for their quick and attentive response.
A huge thank you to the following:
Hash, Neptune, TW Staking, BSCScan, Legend, CertiK, Figment, NodeReal, Namelix, Defibit, Fuji, InfStones, MathWallet, Pexmons, Ankr, BNB48 Club, Avengers, Tranchess, Coinbase Cloud
For their quick and decisive actions - a true community.
Initial estimates for funds taken off BSC are between $100M - $110M. However, thanks to the community and our internal and external security partners, an estimated $7M has already been frozen.
We are humbled by the speed and collaboration from the community to freeze funds.
Thank you to everyone who helped and gave their support.
  • 해당 공지는 바이낸스가 BSC 노드 검증자(Validator)들에게 BSC 토큰 허브에 BNB 토큰이 추가로 발행되는 취약점을 확인하고자 노드를 중지하고자 한다는 내용입니다.
  •  해커가 빼낸 자금은 약 1 ~ 1.1 억 달러 이고, 그 중 7 백만 달러는 동결되었다고 합니다. 
  • 도움을 준 커뮤니티: Hash, Neptune, TW Staking, BSCScan, Legend, CertiK, Figment, NodeReal, Namelix, Defibit, Fuji, InfStones, MathWallet, Pexmons, Ankr, BNB48 Club, Avengers, Tranchess, Coinbase Cloud

- 해커 계좌에는 현재 약 711만 달러의 토큰 잔고가 있다. 

 

2. 해킹 분석

- 트위터 samczsun 이 분석한 자료 (참고[4])

  • vBNB 토큰 컨트랙트로 부터 해커 계좌로 약 60만 vBNB 토큰이 발행(Mint())되어 입금되는 것이 확인됩니다. 참고[5-1]

  • 이는 BSC-Chain의 Genesis에 배포된 "BSC Cross Chain" 컨트랙트의 handlePackage 메소드가 실행되어 100만개 BNB가 "BSC Token Hub" 컨트랙트로부터 전송됩니다. 참고[5-2]
    • 파라미터 중 height 값을 비정상적인 110217401 를 입력한 것이 특징입니다.

- 이는 GENESIS에 PreCompile 되어 배포된 컨트랙트에 포함된 MerkleProof 로직의 취약점을 이용한 것으로 보입니다. (참고[7])

  • 해커는 해당 검증 로직을 우회할 수 있는 데이터를 생성하여 토큰을 발행 받았습니다.

 

3. 패치 및 대응

- 패치 내용 (참고[6])

  • 해당 PreCompiled 컨트랙트를 중지하고 블랙리스트 계좌를 등록하여 수정하였습니다.
  • BSC 체인 노드 버전을 패치하고 노드들을 재실행하였습니다. 오후 2:30 경

 

4. 고찰

- 블록체인 기반 자산 관리는 은행의 장부를 도둑에게 모두 공개하고 서비스를 하는 것과 같다.

- 완벽한 보안은 없기 때문에 항상 대응 방안을 마련해야 한다.

- 중지 후 6시간 만에 빠르게 서비스를 복구했으나 근본적인 해결책은 아니므로 추가 문제가 발생하지 않도록 대응이 필요하다.

- 관련 내용으로 인한 Cosmos 취약점 공지가 추가되었다. 참고[8] 

  • IAVLDisableFastNode 기본 설정을 true로 변경하였다. 참고[9]

 


참고 목록

[1] BSC 체인 중지 블록: https://bscscan.com/block/21962147

[2] 바이낸스 공지: https://www.reddit.com/r/bnbchainofficial/comments/xxjkpy/temporary_pause_of_bsc/

[3] 해커 계좌: https://bscscan.com/tokenholdings?a=0x489a8756c18c0b8b24ec2a2b9ff3d4d447f79bec/ 

[4] 해킹 분석 트윗: https://twitter.com/samczsun/status/1578172227400310786

[5] TX 분석

  1. https://bscscan.com/tx/0xf9d911624b5294652ec7f0b9fa7817f2a5953860411325e7f6e73d87f14a70ab
  2. https://bscscan.com/tx/0xebf83628ba893d35b496121fb8201666b8e09f3cbadf0e269162baa72efe3b8b

[6] 패치 내용: https://github.com/bnb-chain/bsc/pull/1109

[7] CrossChain Contract: https://github.com/bnb-chain/bsc-genesis-contract/blob/master/contracts/CrossChain.sol

[8] Cosmos Security Notice:https://forum.cosmos.network/t/ibc-security-advisory-dragonberry/7702

[9] Cosmos Security Patch:https://github.com/cosmos/cosmos-sdk/commit/d8527c397792a2ca05f420040e8a5a718e9eaa0f

 


문서 이력

- v1.0 (20221017 12:30) :  최초 등록

- v1.1 (20221017 19:45) :  해킹 및 패치 내용 분석

- v1.2(20221014): 코스모스 취약점 공지 추가

 


도움이 되셨다면 

 눌러 주세요.^^


 

반응형
Posted by ITBJ
IT/Blockchain2022. 9. 30. 17:22
반응형
Posted by ITBJ
IT/Blockchain2022. 9. 27. 21:06

안녕하세요. IT반장입니다. 

이번 글에서는 탈중앙화 금융서비스 중에서 유망한 서비스인 Alpaca에 대해서 알아보겠습니다.


목차

0. 용어
1. 개요
2. 제품

3. 참여 방법
4. 로드맵
5. 보안
6. Protocol Parameters
7. 토큰노믹스
8. 평가


0. 용어

  • Yield Farming: 수익을 얻기 위해 암호화 자산을 스테이킹하거나 빌려주는 것
  • Leveraged Yield Farming: 자본을 빌려서 지렛대 처럼 Yield Farming 수익을 높이는 것(참고[4]) 
  • TVL: Total Value Locked
  • APR: Advertised Percentage of Return/interest
  • APY: (1+R/N)N-1 (R 이자율, N 연도의 복리 빈도)
  • LTV: Loan To Value ratio 담보대출비율
  • DTI: Debt To Incom 총부채상환비율
  • DSR: Debt Service Ratio 총부채원리금상환비율(전체 대출 고려)
  • AMM: Automated Market Maker x * y = k
  • IL: Impermanent Loss
  • FDV: Fully Diluted Valuation 토큰의 최대 공급량 X 토큰 의 현재 시장 가격
  • Market Cap: Circulating supply of a token X Current market price of the token
  • CDP: Collateralized Debt Position
  • 자금세탁방지(AML·Anti-Money Laundering)
  • 테러자금조달방지(CFT·Combating the Financing of Terrorism)

 

1. 개요

- 알파카(Alpaca) 뜻: 라마와 비슷하고 털이 긴 남미산 동물로 프로젝트의 마스코트로 사용

- BNB 체인에서 leveraged yield farming이 가능한 가장 규모가 큰 lending protocol 입니다.

  • 바이낸스 체인에서 TVL이 현재 3위, 약 500만 달러(참고[3])
  • 담보 대출, 레버리지 파밍 가능
  • 차용인과 대출인을 연결하여 자본 효율성을 향상시킴
  • 사전 판매/투자자/채굴이 없는 공정한 프로젝트

 

2. 제품

- Lending

  • 디파이에서 가장 간단히 수익을 올릴수 있는 방법
  • Land & Stake: 단일 자산, 다중 자산 가능
  • APY(이자 지급 빈도를 고려한 연간 복리 수익률)가 다른 프로토콜에 비해 지속적으로 높음(2배 유지)
  • 차용인이 차용한 자금을 인출할 수 없기 때문에 대출인에게도 매우 안전함
  • 불량 부채가 발생하지 않도록 보수적이고 신속한 청산 설정
  • 입금 수수료, 출금 수수료, 기본 잠금액이 없으므로 언제든지 입출금 가능 

- Leveraged Yield Farming

  • 알파카의 핵심 상품으로 대출을 통해 더 많은 수익 창출

- Automated Vaults

  • 시장 중립 전략(Market-Neutral Strategy)
    • 롱 포지션과 숏 포지션을 동시에 파밍하고, 중립을 유지하기 위해 잔고를 재조정하여 위험을 제거함
    • 높은 수율과 낮은 위험
  • 저축 전략(Savings Vault Strategy)
    • 1xLong이 기존 전략이지만 레버리지를 사용해서 더 높은 APY 달성
    • 청산 불가능
  • 주요 기능
    • 최대 레버리지(8x): 전략이 자동 재조정되고 청산이 필요 없으므로 위험은 최소화하고 높은 레버리지 달성
    • 자동 잔고 변경: 자동 재예치(compounding), 자동 잔고 조정, 자동 이익 설정
    • 청산 위험 없음: Keeper가 청산을 할 수 없도록 전문 Worker를 생성함
    • 자동 재예치(Compounding): 이익 극대화를 위해 여러가지 보상 토큰들이 재예치됨
  • 락업 없음: 자율롭게 입출금 가능 

- AUSD(AlpacaUSD)

  • 자동 파밍 스테이블 코인
  • 과잉 담보, 탈 중앙화, 다층 페깅 메커니즘 강화되어 $1 를 안정적으로 유지
  • 보증금(ibToken)을 담보로 AUSD를 빌림
  • AUSD 용도
    • AUSD 스테이킹으로 추가 수익
    • AUSD를 대출 자산으로 판매
    • AUSD를 다른 자산으로 판매하여 LYF 실시
    • AUSD를 다른 자산에 판매하여 외부 프로토콜에 배포
  • AUSD 동작
    • 여러 자산 모음에 의해 과잉 담보됨(ETH, BNB, USDT, BUSD, BTCB, TUSD 등)
    • MakerDAO를 포크함
    • 파밍 가능한 담보 모듈(Farmable Collateral Module): 자체 Lending & Staking APR 가능, 추가적으로 ALPCA 보상
    • 효율적인 페깅: MakerDAO 처럼 1$로 맞추기 위해 토큰 발행량 조절, 또한 Stable Swqp Module 이 가격 안정화
    • 강인하고 부드러운 청산: 청산에 직면할 때 회복될 때까지 작은 부분만 청산, 최대 청산 규모는 부채의 25% 로 설정
      • 차용인의 비용과 청산 위험을 낮추고, 불량 부채 위험을 방지
      • 강인한 원자 청산 모델 사용, MakerDAO의 네덜란드 경매 모델에 비해 장점(간단하고, 불량 부채 방지에 최적화)
    • 불량 부채 처리
      • 예상치 못한 불량 부채를 처리하기 위한 백스톱 마련 예정
      • 보험 플랜 출시 예정: 손실이 보상될 때까지 거버넌스 금고 APR 50%를 사용)
  •  보안: 다수 보안 회사의 감사를 수행함(20개 Audits, 참고[5]) 
    • PeckShield Audit Report: Click here
    • InSpex Audit Report: Click here
    • SlowMist Audit Report: Click here

 

3. 참여 방법

- Leveraged Yield Farming

  • Lender(대출인): 대출 금고에 예치하여 안정적으로 수익 획득
  • Yield farmer(일드 파머): 최대 6배까지 파밍 가능, 대출보다 위험이 큼(청산, 영구손실 등)
    • PancakeSwap, BiSwqp 과 통합
  • Liquidator(청산자): 담보가 낮아 부도 위험에 접근하는 경우 청산 실시

- Automated Vault

- AUSD(Alpaca USD)

- Governance Vault

  • Curve's DAO를 포크함
  • 락업 기간: 1주 ~ 1년
  • 락업하면 xALPACA 토큰 수령

- Alpies

  • 손으로 그린 10,000 개의 한정 NFT로 BNB Chain, ETH 두 군데 출시
  • Alpies 소유자는 레버리지 파밍 풀에서 더 높은 레버리지 가능 

- 6가지 투자 전략

  1. Lend & Stake 전략
    • 낮은 위험, 입출금 수수료 없음, 기본 잠금(lockup) 없음
    • 불량 부채가 발생하지 않도록 신속한 청산 설정 존재함
      • 이자율 모델: 참고[6]
      • 내부 균형 메커니즘: 참고[7])
  2. 토큰 쌍 보유 전략 (레버리지 없는 자동 복리 수익률, 1x)
    • DeFi를 처음 접하는 사람에게는 레버리지가 위협적일 수 있음
    • 다른 프로토콜보다 더 수익성이 있음(알파카는 수수료가 낮음)
  3. Stablecoin 수익률 상승 전략
    • 일반적으로 10-25% 수익률 발생
    • 추가 수익률을 위해 스테이블 코인을 빌려서 수익 발생 가능, 위험 매우 낮음
  4. 강세장에서 이익을 높이는 전략
    • 레버리지를 일으켜서 암호자산을 빌려서 암호자산 수익 및 파밍 수익을 추가로 발생 시킴
      • 예) $10,000 상당 ETH 예치 -> 3x 레버리지로 $20,000 상당 빌려서 -> $15,000 ETH - $15,000 USDT 포지션 전환
        • $15,000 상당 ETH 파밍 토큰 롱, $15,000 상당 USDT 파밍 토큰 롱, $20,000 상당 USDT 빌린 토큰
  5. 약세장에서 수익성이 좋은 Yield Farm 전략
    • 차용하여 레버리지 포지션을 열어 자산을 공매도(참고[9]) 할 수 있음
      • 예) $10,000 USDT를 ETH-USDT에 예치 -> 3x로 $20,000 상당 ETH 빌림 -> $5,000 ETH를 USDT로 자동 스왑 -> $15,000 ETH - $15,000 USDT 풀 생성
  6. 헤징을 통해 모든 시장에서 크립토 수익을 배가시키는 전략
    • 롱 포지션과 숏 포지션을 쌍으로 구성하여 위험을 헤징하는 방법(참고[6])

강세장 3x 롱포지션
하락장 3x 숏포지션
시장 중립 전략
시장 중립 전략 - Rebalancing

4. Roadmap

- 2022.08.04 현재 로드맵

  1. 더 높은 자본 효율성 확보하여 수익률 증대
  2. NFT, Web3 게임 등 사업 범위 확장
  3. 거버넌스를 도입하여 더욱 탈중앙화
  4. 다중 체인을 구축하여 수평적 확장
  5. 기관 및 투자 펀드 유치를 위한 상품 생성
  6. 최고의 크로스 체인 금융 및 뉴미디어 대기업으로 성장

 

5.  보안

- 외부 보안 감사 20건(참고 [5])

- 선택적 외부 보험 상품 마련(Nexus Mutal Cover, InsurAce)

- 내부적으로 프토토콜 수익의 50%는 Governance Vault에서 1년동안 자금 유실자 상환 지원할 수 있음

  • Aave의 Safety Module 참고함

- 2021년 6월 BNB Chain에서 가장 높은 보안 등급 부여 받음, Certik에서 3번째로 높은 보안 점수 받음

- ALPCA 토큰 덤핑 방지 설계됨, 87%가 참여자에게 발행, 9%만 팀에게 2년간 배분

  •   사전 판매, 사전 채굴, 투자자도 없음

- 오픈 소스코드 정책 및 버그 바운티 프로그램 운영

-  모든 컨트랙트는 배포 후 24시간 지연 적용

- 플래시 대출 허용 안함

- 가격 조작 및 플래시 청산을 위해 Alpaca Guard 보유

  • 파밍 쌍의 자산 가격이 자체 검증값과 10% 이상 차이가 날 때 보호 모드에 들어감(기능 및 포지션 개시/종료 비활성화)
  • 사례를 보면 Alpaca Guard와 같은 중지 기능이 필요함
    • 예) Venus 사건
      • 2021.05.18 $2억 이상 청산, $100M의 불량 부채 발생
      • 계단식 청산 방식
    • 예) PancakeBunny Exploit
      • 2021.05.19 플래시 대출 공격

- 모든 프로젝트는 Security Scoreboard를 통과해야 함

- Front Running: 대기중인 TX에 대한 정보를 가지고 이익을 얻기 위해 대기열에 우선 순위를 높여서 실행시키는 행위

- Sandwitch Attack: 보류중인 TX를 사이에 끼운 상태로 동시에 선/후행 실행 

  •  예) 보류중인 TX가 실행되면 ETH 가격이 상승한다는 것을 알고, 낮은 가격에 ETH를 산 후에 보류중인 TX가 실행되고 ETH를 더 높은 가격에 판매 
  • 대부분 공격은 자동화된 AMM 솔루션에 발생
  • 수수료를 높여서 쉽게 공격 가능하지만, 실익이 있어야 함
  • 1inch 플랫폼 "flashbot 트랜잭션" 도입하여 방어(채굴자간 직접 연결하여 TX풀 공개 안됨)

 

6.  Protocol Parameters

- LYF

- 금리 모델

 

- AUSD

- Automated Vault

 

7.  토큰노믹스

- ALPACA Token

  • 토큰 소각을 통한 디플레이션 메커니즘 마련됨
    • 파밍 수수료 19% 중 10%는 ALPACA 거버넌스 금고 예금자 프로토콜 APR
    • 모든 청산 현상금 5% 중 4% ALPACA 토큰 환매 및 소각
    • 대출 기관 대출 이자 19%중 10% ALPACA 토큰 환매 및 소각
    • Alpies 판매 수익의 20% ALPACA 토큰 환매 및 소각(비정기적) 등

ALPACA Token

- ibTokens: 예치 자산과 이자 추적

- Pool Allocations

- Burn

  • 현재 ALPACA 최대 공급량의 14.18% 소각(약 2,667만개)

 

8.  평가

- 외부 Audit(20건) 및 보험 등으로 안전 장치를 다수 마련하였음

- Flash loan 을 차단하고 다수 자산을 담보로 안전성을 증대하였음

- Automated Vault를 통해 편리성과 빠른 청산을 가능하게 하였음

- 전체적으로 안전한 DeFi 서비스를 위해 노력하였지만 안전하다고 판단할 수 없으며 글로벌 규제에 대한 방안 마련이 필요함 

 


 

 

참고 목록

[1] 홈페이지: https://www.alpacafinance.org/

[2] 문서: https://docs.alpacafinance.org/

[3] TVL: https://defillama.com/chain/BSC

[4] Leveraged Yield Farming: https://thedefiant.io/leveraged-yield-farming

[5] Audits & Contracts: https://docs.alpacafinance.org/our-protocol-1/transparency

[6] Market-Neutral Strategy: https://docs.alpacafinance.org/automated-vault/introduction-to-automated-vaults/market-neutral-strategy

[7] Venus Incident: https://twitter.com/FrankResearcher/status/1394900186435096578?s=20 

[8] Alpaca Report: https://messari.io/report/alpaca-finance-a-leveraged-defi-product-suite

[9] Alpaca Protocol Parameters: https://docs.google.com/spreadsheets/d/1cdVFe6g6oc0WIFP006dWjjHQn-CVsGqEZ03yt--PrWw/edit#gid=0

[10] 공매도: https://www.investopedia.com/terms/s/shortselling.asp

[11] ALPACA 소개: https://www.bnbchain.org/en/blog/bsc-project-spotlight-alpaca/

[12] Front Running: https://coinmarketcap.com/alexandria/glossary/front-running

[13] Sandwich Attack: https://coinmarketcap.com/alexandria/article/what-are-sandwich-attacks-in-defi-and-how-can-you-avoid-them

[14] 1inch Flashbot: https://help.1inch.io/en/articles/5300755-what-are-flashbot-transactions-and-how-do-they-work-on-1inch#:~:text=Flashbot%20transactions%20are%20now%20available,running%20and%20%22sandwich%20attacks%22.&text=In%20a%20nutshell%2C%20a%20front,to%20intercept%20a%20large%20transaction.

[15] 수익률 계산기: https://docs.google.com/spreadsheets/d/15pHFfo_Pe66VD59bTP2wsSAgK-DNE_Xic8HEIUY32uQ/edit#gid=0

 

문서 이력

- v1.0 (20220927) :  최초 등록


도움이 되셨다면 

눌러 주세요. ^^

반응형
Posted by ITBJ
IT/Blockchain2022. 9. 22. 20:48

안녕하세요. IT반장입니다. 

이번 글에서는 탈중앙화거래소 중에서 속도가 빠르고 최근 TVL이 가장 높은 dYdX에 대해서 알아보겠습니다.


목차

1. 개요
2. 아키텍쳐
3. 무기한 계약
4. 보안
5. 평가


1. 개요

- 목표

  • 사용자들이 중간자 개입 없이 자신만이 거래에 대한 권한을 가질 수 있는 강력하고 전문적인 거래소 구축
  • 전 세계 어디에서도 사용할 수 있는 트레이딩 플랫폼

- 설립자 Antonio Juliano

  • 전 Uber 개발자이자 Coinbase 소프트웨어 엔지니어인 Antonio Juliano는 2017년에 플랫폼을 설립했으며 2019년에 프로토콜을 출시
  • 탈중앙화 금융(DeFi) 세계에 마진 거래를 도입하기로 결정하고 dYdX에 대한 아이디어를 구상

- 본사는 미국 샌프란시스코

  • dYdX Foundation은 스위스 추크에 위치
  • 미국을 포함하여 제한된 국가는 서비스 안함

- 취급하는 암호화폐: 37개(2022.09.22 현재)

- 마진 거래: 10x ~ 20x

- 수수료: 무료(~10만 달러/월)

- 서비스 사고 및 다운타임에 대해서 공지하고 있음(참고[2]) 

- 데이터 센터: AWS AP-NORTHEAST-1 리전(도쿄)

  • 미국 IP는 엄격히 제한함

 

2. 아키텍쳐

- dYdX는 StarkEx (Ethereum Layer2 ZK-Rollup or Validium data-availability modes)를 연동함(참고[3])

- StarkEx Solution Architecture

  • StarkWare(StarkEx) 에서 컨트랙트 관리 및 검증을 수행함
  • 거래소는 거래를 매칭하여 제출함

StarkEx Solution Architecture

- StarkEx High-Level Architecture

  • 이용자의 자금을 악의적인 거래소가 훔칠 수 없도록 하면서도 고속 거래 및 낮은 수수료를 보장
  • 머클 트리 기반의 검증 방식 사용 (Fact Registry, 참고[4])  

StarkEx High-Level Architecture

- StarkEx Smart Contract Architecture

StarkEx Smart Contract Architecture

  1. Proxy Contract: 상태 정보 및 관련 컨트랙트 정보 저장(solidity proxy pattern, 참고[5])
  2. Dispatcher Contract: 업그레이드 가능한 컨트랙트 구현 패턴(diamond standard, 참고[6])
  3. Sub-Contracts: StarkEx 에서 필요한 기능들이 구현된 컨트랙트들
  4. Verifier Fact-Registry: Fact Registry를 검증하는 컨트랙트
  5. Committee Fact-Registry: Fact Registry를 등록하는 컨트랙트

- StarkEx Back End Architecture

StarkEx Back End Architecture

  1. Gateway: 거래소로 부터 Tx를 수신
  2. Batching & Validation: 배치 작업 및 Tx 검증
  3. Baches info: 배치 정보 공개
  4. Changes Approval GW: 사용자 지정 오프체인 로직을 사용할 수 있도록 함(위원회 승인 필요)
  5. Proving: 외부 증명 서비스를 통해 상태 전환 증명 생성, 온체인 검증자(Fact Registry)에 등록
  6. Packing: 블록체인에 전송할 데이터(주소, payload 등)를 묶음
  7. Blockchain Writer:  보낼 데이터에 네트워크 정보(가스, nonce, 서명 등)를 포함하여 블록체인에 전송
  8. Catcher: 블록체인을 모니터링하여 배치 모듈에 내용 전달

- StarkEx Partner Integration

StarkEx Partner Integration

  1. Front End: 사용자 요청에 대해 온체인(이더리움)과 오프체인(StarkEx) 둘 다 지원해야 함
    • 일반적으로 사용자가 온체인 요청을 하면 백엔드에서는 오프체인 요청이 되도록 구성
  2. Order Verification: 사용자 주문 확인(서명, 잔액, 금고ID 등)
  3. Business Logic: StarkEx에 전달할 Tx 처리 및 계정 상태 업데이트
  4. TX Stream:  0부터 시작하는 tx_ids라는 연속적인 식별자로 유효성을 검사하고, 인덱싱
  5. Tx Sender:  StarkEx Gateway에 Tx 전송 (비동기식)
  6. Error Handler: 유효하지 않은 거래 정보를 수신하여 이전 상태로 복원
  7. State Approval: 모든 배치를 블록체인으로 전송하기 전에 승인하는 절차
  8. Censorship Prevention: 검열 방지를 위해 사용자가 특정 작업을 블록체인 상의 StarkEx 컨트랙트에 직접 제출 가능하도록 함 

 

3. 무기한 계약(Perpetual Contracts)

- dYdX는 다양한 자산에 대한 비보관형 탈중앙화된 마진 상품을 제공

- Margin(증거금)

  • 담보는 USDC로 보유
개시 증거금 요건 = abs(S × P × I)
유지 증거금 요건 = abs(S × P × M)

총 개시 증거금 요건 = Σ abs(S i × Pi × I i )
총 유지 마진 요구 사항 = Σ abs(S i × P i × M i )

총 계정 가치 = Q + Σ (S i × P i )

무료 담보 = 총 계정 가치 - 총 개시 증거금 요구 사항

S 포지션 크기입니다(롱이면 양수, 숏이면 음수)
P 시장에 대한 오라클 가격입니다
I 는 시장의 개시 증거금 비율입니다.
M 는 시장에 대한 유지 마진 비율입니다.

- Liquidations(청산)

종가(숏) = P × (1 + (M × V / W))
종가(롱) = P × (1 − (M × V / W))

P 시장에 대한 오라클 가격입니다
M 는 시장에 대한 유지 마진 비율입니다.
V 위에서 정의한 총 계정 가치입니다.
W 위에서 정의한 총 유지 증거금 요구 사항입니다.

- Funding(펀딩)

  • 롱 과 숏 거래자 사이에 교환
  • 펀딩 비율은 1시간 비율로 표시
  • 펀딩 비율 계산
프리미엄 = (최대(0, 임팩트 입찰가 - 지수 가격) - 최대(0, 지수 가격 - 임팩트 매도호가)) / 지수 가격

Impact Bid Price = 임팩트 명목 가치의 시장 매도 평균 실행 가격
임팩트 매도호가 = 임팩트 명목 가치의 시장 매수에 대한 평균 실행 가격

영향 명목 금액 = 500 USDC / 개시 증거금 비율

펀딩 비율 = (프리미엄 요소 / 8) + 이자율 요소

- Contract Loss Mechanisms(계약 손실 메커니븜)

  • 변동성이 크게 되면 일부 계정의 가치는 0 아래로 떨어질 수 있음
  • 보험 기금으로 손실 부담
  • 보험 기금이 고갈된 경우 가장 높은 이익과 레버리지를 가진 포지션으로 마이너스 잔고 계정을 상쇄할 수 있음  

- Oracle Prices(오라클 가격)

  • 각 거래 후 각 계정이 잘 담보되었는지 확인
  • 계정을 청산해야 하는 시점 결정
  • 15개의 독립적인 Chainlink 노드로 계산

- Index Prices(지수 가격)

  • 펀딩 비율 계산
  • Stop-Limit and Take-Profilt 주문과 같은 트리거 가능한 주문 트리거(촉발)

 

4. 보안

- PeckShield 에 외부 감사(참고[7])

 

5.  평가

- 중앙화된 거래소의 빠른 거래 속도와 탈중앙화된 거래소의 스마트 컨트랙트 방식을 하이브리드 형태로 제공하는 DEX 서비스

- 기술적으로 완전 탈중앙화가 아닌 자체 거래소 구축 모듈에 의존하는 방식이므로 다양한 문제가 발생할 수 있음

- 이용자 보호를 위한 보험 및 추가적인 보호 방식을 제공하지만 공격 발생시 실효적으로 대응하기 어려운 것으로 판단됨  

 


참고 목록

[1] 홈페이지: https://trade.dydx.exchange/

[2] 서비스 제공 상태: https://status.dydx.exchange/uptime

[3] StarkEx: https://docs.starkware.co/starkex/

[4] StarkEx Fact Registry: https://docs.starkware.co/starkex/fact-registry.html

[5] Solidity Proxy Patterns: https://blog.openzeppelin.com/proxy-patterns/

[6] Diamond Standard: https://hiddentao.com/archives/2020/05/28/upgradeable-smart-contracts-using-diamond-standard

[7] dYdX security audit: https://github.com/starkware-libs/starkex-contracts/blob/master/audit/StarkPerpetual_v1.0_Audit_Report.pdf

 

문서 이력

- v1.0 (20220922) :  최초 등록


도움이 되셨다면 

눌러 주세요. ^^

반응형
Posted by ITBJ
IT/Blockchain2022. 9. 21. 18:36

안녕하세요. IT반장입니다. 오랜만에 글을 써보네요.

블록체인 관련 분석 자료를 정리하여 올려봅니다.  

목차

0. 용어
1. 개요

2. Maker Protocol
3. DAI Stablecoin
4. Maker Vault
5. 핵심 외부 참여자
6. DAI 예치 보상(DSR)
7. 거버넌스
8. 가격 안정화 메커니즘
9. Maker 프로토콜의 미래
10. 결론
11. 평가


0. 용어

- https://makerdao.world/en/learn/Glossary/

 

1. 개요

- MakerDAO : 이더리움 기반 오픈소스 프로젝트, 탈중앙화된 자율 조직(DAO)

  • MKR: MakerDAO에서 사용하는 거너넌스 토큰
  • 투표, 여론조사, Maker Protocol/DAI 금융 리스크 관리

- Maker 재단

  • Maker 커뮤니티의 일부, Maker Protocol 구축
  • 완전 탈중앙화를 완성하기 위해 커뮤니티와 협업

- DAI 재단

  • Maker Protocol이 기술적으로 탈중앙화 할 수 없는 부분을 보호하는데 목적이 있음(덴마크에 위치)
  • Maker 커뮤니티의 상표나 코드 저작권 등 무형 자산 관리
  • DAI: 탈중앙화되고 중립적이며 미국 달러에 연동된 자산 담보기반 암호화폐

 

2. Maker Protocol

- 최초의 탈중앙화 금융(DeFi) 애플리케이션(DApp), 현재 TVL이 제일 높음(참고[3])

- DAI(스테이블 코인), Vault, 오라클, 투표로 구성됨

- 다중담보Dai(MCD) 시스템: 승인된 자산을 담보로 레버리지를 통해 Dai를 생성

 

3. Dai Stablecoin 

- 탈중앙화되고 중립적이며 미국 달러에 연동된 자산 담보기반 암호화폐

- 사용자는 암호화폐지갑으로 MakerValut에 자산을 담보하고, DAI를 생성 사용하기 용이

- DSR(Dai Savings Rate, Dai 예치 보상): Dai를 소유한 사용자에게 자동으로 보상

- 화폐의 4가지 기능 보유

  • 가치 보존: 미국 달러 기반 스테이블 코인으로 가치가 보존됨
  • 교환 매체: 암호화폐지갑으로 쉽게 교환 가능
  • 회계 단위: 1 DAI = 1 USD 목표
  • 후불 표준: Maker 프로토콜에서 수수료를 갚고 볼트 계약을 해지

- 담보자산: MKR 소유자가 투표를 통해 담보 자산 결정하고 이를 통해 자산 안정화

 

4. Maker Vault

- 모든 승인받은 담보 자산은 Maker Valult 라고 하는 Smart Contract를 통해 보관되고, 레버리지 가능하고 Dai 생성 가능

- 사용자는 커뮤니티가 만든 다양한 인터페이스를 통해 Valut를 생성할 수 있음(Oasis borrow 등 참고[4])

- Dai를 생성을 위한 안정화 수수료가 있음(부채 상환, 레버리지된 담보 인출 등)

- Valut는 비수탁 방식: 사용자는 담보에 대해 완전하고 독립적인 통제권을 가짐

  •  단, 담보 최저 수준에 도달하면 자동 청산됨

- Valut 동작

  1. 볼트 및 담보 생성
  2. 담보화된 볼트에서 DAI 생성
  3. 부채 및 안정화 수수료 상환
  4. 담보 인출
  • 각 담보 자산은 개별 볼트가 필요

- 위험한 Maker Valut 청산

  • 담보 보장을 위해 위험한 Valut는 Maker Protocol 경매를 통해 자동 청산됨
  • Valut 별 청산 비율 존재
  • Valut 별 부채 비율은 MKR 투표로 결정 

- Maker Protocol Auction

  • 담보 가격정보를 알 수 없는 경우에도 볼트 청산 가능
  • 청산 시점이 오면 해당 볼트 담보를 가져와서 내부 경매 시장 메커니즘을 통해 매각
  • 청산 페널티와 채무를 충분히 감당할 정도로 입찰이 되면 역담보 경매 실시
    • 역담보 경매는 볼트 소유자가 가능한 많은 잔액을 만회할 수 있는 절차 제공, 남은 담보는 원래 볼트 소유자에게 반환
    • 만약 경매에서 충분한 Dai를 모으지 못한다면, 부족분은 Maker Buffer에 있는 프로토콜 부채로 커버함
    • 만약 Maker Buffer에 충분한 Dai가 없으면, MKR이 발행되어 매각 
    • 담보 경매에서 나온 수익금은 Maker Buffer에 쌓임. 버퍼 한도가 초과되면 잉여금 경매를 통해 MKR 소각하여 안정화 

 

5. 핵심 외부 참여자

- 키퍼(Keepers)

  • DAI가 목표가(1달러)를 유지하도록 돕는 시장 참여자
  • 볼트가 청산될 때 경매에 참여(잉여금 경매, 부채 경매, 담보 경매)

- 가격 오라클(Price Oracles)

  • 청산 절차 개시 시기를 판단하기 위해 담보 자산의 시장 가격을 실시간으로 제공
  • 탈중앙화된 오라클 인프라스트럭처에서 담보 가격 획득(참고[5])
  • 가격 정보의 신뢰성을 위해 오라클 보안 모듈(OSM, 참고[6]) 적용
    • 오라클이 침투될 경우 가격 전달을 한 시간 정도 지연시키고, 긴급 오라클/거버넌스 투표를 통해 동결할 수 있도록 함

- 긴급 오라클(Emergency Oracles)

  • MKR 투표에 의해 긴급 오라클 결정
  • 비상정지: 공격에 대해 방어, Maker 프로토콜 업그레이드
  • 거버넌스를 통해 완전 탈중앙화

- DAO Teams

  • 독립적인 시장 참여자
  • 거버넌스 커뮤니케이션 인프라스트럭처와 절차를 도와주는 조력자
  • 새로운 담보의 도입을 추진, 기존 담보 규제하는 데 필요한 위험 연구하여 개선 초안을 제안

 

6. 다이 예치 보상(The Dai Savings Rate, DSR)

- DSR 컨트랙트에 예치하여 보상

- 최소 금액 없음. 자유롭게 인출 가능

- MKR 투표로 DSR 보상율 조정(매주)

  • 향후 Instant Access Module(대규모 MKR 보유자 그룹을 대신하여 DSR 조정이 쉽도록 함, 절차를 간소화) 도입

 

7. 거버넌스

- MKR 토큰으로 투표

  • 즉시 효력이 발생하지 않고, 24시간 동안 지연(악의적인 제안 방어)
  • 투표 제안, 집행 투표
  • MKR 소유자 책임
    • 신규 담보 추가
    • 위험 매개변수 관리
    • DAI 예치 보상 비율 수정
    • 오라클 선정
    • 긴급 오라클 선정
    • 비상정지 개시
    • 시스템 업그레이드
    • Maker Buffer 자금 관리

- 통제하는 위험 매개변수

  • 부채 한도(Debt Ceiling)
  • 안정화 수수료(Stability Fee)
  • 청산 비율(Liquidation Ratio)
  • 청산 페널티(Liquidation Penalty)
  • 담보 경매 지속 기간(Collateral Auction Duration)
  • 경매 입찰 지속 기간(Acution Bit Duration)
  • 경매 최소 단위(Auction Step Size)

- 거버넌스의 위험과 책임의 완화

  • 악의적인 참여자들에 의한 공격 위험 대응
    • 예) 스마트 컨트랙트 취약점 공격
    • Maker 프로토콜 보안을 최우선 순위로 추진
    • 프로토콜 보안성은 공식적으로 검증함(수학적 검증, 코드 검증)
    • 전문 보안 조직을 통한 감사를 수행함
    • 버그 바운티를 운영함
  • 블랙 스완(Black Swan) 사태
    • DAI를 뒷받침하는 담보 자산에 대한 공격
    • 담보 자산의 급격하고 예기치 못한 가격 하락
    • 매우 조직화된 오라클 공격
    • 악의적인 Maker 거버넌스 제안 등
    • -> 거버넌스를 통한 보안: 신속 대처, 리스크 매개변수 등
    • -> Maker 프로토콜을 통한 보안: 청산 비율, 부채 한도, 거버넌스 보안 모듈, 오라클 보안 모듈, 비상 정지 등
  • 예상치 못한 가격 오류와 비이성적인 시장
    • 오라클 가격 피드 오류
    • DAI 가격 변동에 상당 기간 영향을 끼치는 비이성적인 시장 움직임
    • -> 금리 조정이나 MKR 희석으로도 충분한 유동성과 안정성 공급하지 못할 수 있음
    • -> 자산 Pool을 충분히 큰 규모로 키워 시장 관리인 역할을 할수 있도록 보상, 최후의 수단은 비상정지
  • 복잡한 프로토콜로 인한 사용자 이탈 가능성 방지
    • 사용성 좋게하고 많은 문서/자료 공개
  • Maker 재단 해체
    • Maker DAO가 스스로 관리할 수 있게 되면 재단 해체
  • 시험적인 기술에 관한 사안
    • Maker 프로토콜은 여전히 입증되지 않았고, 취약성 또는 버그 발생을 포함하고 있고 실패할 수 있음

 

8. 가격 안정화 메커니즘

- DAI 목표 가격: 1 DAI = 1 달러

- 비상정지

  • 인프라스트럭처 공격 대응 시 개시
  • Maker 프로토콜 시스템 업그레이드 시 개시
  • 비상정지 3단계 (참고[7])
    1. Maker 프로토콜 비상정지, 볼트 생성/조작 금지, 가격 피드 동결
      • 채무 직접 담보가 아닌 자산은 즉시 인출 가능
    2. 비상정지 후 경매 절차
      • 담보 경매가 시작되고 정해진 기간 내에 완료되어야 함
    3. DAI 소유자는 남아있는 담보 청구
      • 남아있는 담보자산을 DAI 만큼 나눠서 청구 가능함
      • Vault 소유자 우선하고 이후 DAI 소유자 청구 가능함
      • 가치 하락 위험 있음(1달러 목표가 하락 등)

 

9. Maker 프로토콜의 미래

- 의미있는 마켓

  • 영업자본, 헤징 및 담보화된 레버리지
  • 상점의 대금 수령, 국제 거래, 송금
  • 자선단체와 NGO
  • 게임에서의 통화
  • 예측 시장

- 자산 확대

- 진화하는 오라클

 

10. 결론

- Maker 프로토콜을 통해 탈중앙화된 스테이블 코인인 DAI를 생성할 수 있음

- 투명성 확보를 위해 감사를 받고 누구나 참여하고 감독할 수 있음

- 수 백개의 파트너쉽과 암호화폐 개발자 커뮤니티와 협력하여 경제적 역량 강화를 위해 노력

 

11. 평가

- 다수의 담보를 예치하고, 가장 많은 TVL을 기록하고 있음

- 기술적으로 한계가 있음(거버넌스 위험 등)

- 정책적으로도 Stablecoin(특히 달러 페깅)의 탈중앙화는 AML/CFT 정책에 위배됨

 


참고 목록

[1] 홈페이지: https://makerdao.com/ko/

[2] 백서: https://makerdao.com/ko/whitepaper/

[3] DeFi 통계: https://defillama.com/

[4] Maker Ecosystem: https://makerdao.com/en/ecosystem/ 

[5] Price Oracles: https://blog.makerdao.com/introducing-oracles-v2-and-defi-feeds/

[6] Oracle Security Module: https://docs.makerdao.com/smart-contract-modules/oracle-module/oracle-security-module-osm-detailed-documentation

[7] Emergency Shutdown: https://makerdao.world/en/learn/governance/emergency-shutdown/

[8] Maker DAO Technical Docs: https://docs.makerdao.com/

[9] Maker DAO TVL: https://defillama.com/protocol/makerdao

 

DefiLlama

DefiLlama is a DeFi TVL aggregator. It is committed to providing accurate data without ads or sponsored content, as well as transparency.

defillama.com


문서 이력

- v1.0 (20220921) :  최초 등록


도움이 되셨다면 

눌러 주세요. ^^

반응형
Posted by ITBJ
Darts2019. 9. 22. 22:28

갤럭시 경우에
그란보드앱 -> 우측 슬라이딩 -> 하단 고급게임 기능 -> 자동 화면 잠금 -> 해제
반응형

'Darts' 카테고리의 다른 글

집에 다트판 설치하기(Granboard Dash)  (0) 2018.08.18
Posted by ITBJ