목록전체 글 (235)
devops
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/BtEF8/btsEwGu5FeW/1U8Yf6stOXkS5J0NRh2nY1/img.png)
최근에 Input Endorsers가 카르다노 커뮤니티에서 많이 언급되었다. 가장 기대하는 업데이트 중 하나로 손꼽히지만, 개념이 쉽지않다. 여러 자료를 참고해서 이해하기 쉽게 풀어보자. 기존 시스템 Cardano는 여러 노드의 PoS 합의 알고리즘을 기반으로 네트워크가 구성된다. 평균 20초마다 블록이 생성되는데, 블록 생성 노드는 무작위로 추첨되어 블록을 생성한다. 여기서 블록 검증은 50~100 밀리초 정도 소요된다. 그러나 이 알고리즘의 계산은 네트워크의 대역폭을 낭비한다고 여겨진다. 노드가 블록 생성하고 검증하는 이 짧은 시간을 제외하곤 대부분 노드 CPU가 유휴 상태가 되기 때문이다. 네트워크 리소스는 병렬적으로 사용될 수 있으나, 알고리즘은 순차적이다. 병렬 시스템에 순차적인 알고리즘은 자원..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/nnK5c/btsEqU1jlcC/IwK0CQxqBWqdW7MUfJ4M10/img.png)
Batcher는 기존 이더리움 L2에서 Tx의 묶음인 batch를 L1에 기록하는 인스턴스를 의미하지만, 카르다노에서는 다르게 사용된다. 최근 Cardano의 디파이 생태계가 꾸준히 성장하는 만큼, UTXO 모델에 의해 사용되는 Batcher라는 개념을 스터디겸 정리해보려 한다. Batcher 배처는 카르다노의 몇몇 DEX에서 유저의 주문을 수집하고 스왑하기 위해서 사용하는 개념으로, Cardano 네트워크에서 노드를 실행하여 DEX의 스크립트를 호출하는 Tx를 생성하고 submit하는 개체라고 보면 된다. 간단히 말해서, 블록체인에서 처리해야하는 트랜잭션 수를 줄이게 되어 DEX의 확장성, 효율성을 높이는 역할을 한다. 이 역할을 위해서 다음과 같은 작업이 오프체인에서 진행되는데, 1) 유저의 주문을 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bbhZnZ/btsDZjNOqz3/L8po5s8i3oq8BGW5wkskWK/img.png)
이더리움의 덴쿤 하드포크의 핵심은 Proto-danksharding(프로토 댕크샤딩)인 EIP-4844다. 이는 이더리움 샤딩 로드맵에서 가장 중요한 부분이자, 롤업에서 가장 큰 비중을 차지하는 Calldata 비용을 획기적으로 줄일 수 있다. 이 업데이트에서는 blob 트랜잭션이라는 개념이 등장하는데, 관련해서 정리해 보자. Blob(Binary Large Objects) 블롭 데이터는 일반적인 트랜잭션과는 다르게 비콘 체인에서만 저장되며, 사용료가 저렴하다. 블록은 데이터 가용성을 위한 저장 공간으로, 롤업의 DA를 위해서 사용될 것으로 기대한다. 블롭은 32Byte로 구성된 4096개의 필드로 이뤄져 있으며, 블롭 한 개의 크기는 125kb로, 블록당 평균 3~6개의 블롭이 추가되면 블록당 블롭의 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/spi5o/btsDJkfukkX/G0h7zY6RyxaK2UOiEd7rN1/img.png)
이더리움의 대표적인 Fungible Token인 ERC-20이 사용되듯이, 카르다노에서도 비슷한 역할을 하는 네이티브 토큰이라는 개념이 존재한다. 카르다노에서 $ADA 는 네트워크 수수료로 사용되는 카르다노의 Principle Token다. 먼저, Native Token과는 몇가지 차이가 있다. ADA Native Token 트랜잭션 전송이 되는가 YES YES UTXO 출력에 저장되는가 YES YES 스크립트 출력으로 잠금이 가능한가 YES YES 거래소 주소로 전송되는가 YES YES mint와 burn이 되는가 NO YES 네트워크 수수료로 지불하거나 보상으로 받는 것이 가능한가 YES NO 위 표에서 보듯이, Natvie Token은 ADA처럼 트랜잭션을 통해 전송이 가능하며, 컨트랙트를 지원한다..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dPz6p5/btsDC62VGXu/PSHEAj3BZtk0vPiWbtT9L1/img.png)
Crossplane은 쿠버네티스 익스텐션 오픈소스다. K8S API를 통해서 쿠버네티스를 포함한 모든 리소스를 매니징할 수 있게 해준다. Cloud Native Compute Foundation(CNCF)의 프로젝트로, 현재 AWS, Azure와 같은 클라우드 리소스 매니징에 많이 사용된다. Crossplane? 쿠버네티스 클러스터로부터 외부, non-쿠버네티스 리소스와 연결하고 이 리소스를 활용하는데 사용됨 Kubernetes CRD로 만들어져 쿠버네티스 오브젝트의 external 리소스다. external resource의 state를 감시하고, state를 적용하는 쿠버네티스 컨트롤러 역할을 한다. Crossplane Components Crossplane의 강점은 Composition에 있다. 다..
https://forum.cardano.org/t/eutxo/115363 🇰🇷 EUTXO 핸드북 (통합본) EUTXO 핸드북 소개 블록체인 회계 모델이란 무엇인가? UTXO 모델 vs 계정/잔고 모델: 간략한 개요 UTXO UTXO 모델의 ‘거스름돈’ 개념 UTXO 모델의 장점 계정/잔고 모델 EUTXO 모델 트랜잭션에 대해 해야 forum.cardano.org EUTXO에 대해서 간단히 정리한 글을 포스팅했지만, 위 카르다노 포럼에서 세부적인 내용들이 잘 정리되어 있다. 참고!
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c0kTCi/btsDiREAxcS/r48XZLNNhjdD4brgXvR2tK/img.png)
카르다노의 회계 모델인 EUTXO는 카르다노 네트워크의 대표적인 장점 중 하나다. 현재 다양한 레이어들이 저마다 생태계를 만들고 있지만, UTXO 방식을 사용하는 레이어는 수많은 프로젝트들 중에 비트코인과 카르다노뿐 인것으로 알고 있다. 카르다노는 UTXO의 확장 모델인 Extended-UTXO를 개발하여 체인의 보안과 병렬 처리를 통한 확장성을 높였다. UTXO, EUTXO가 이더리움의 Account 모델과 비교해 어떤 특징과 장점이 있는지 정리해보려 한다. UTXO(Unspent Transaction Output)와 Account 모델 UTXO는 미사용 거래 출력(Unspent Transaction Output)의 약자로, 거래가 실행된 후 남아있는 통화의 양을 나타낸다. Account 모델은 유저의..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/CLQXN/btsDfNoBJQD/FrOTYQNLuphzDcdpTFCqH1/img.png)
v1.1이 곧 나온다고 하지만, 먼저 v1을 번역해서 Leviathan이 어떤 구조의 Layer2인지 확인하여 정리해보려고 한다. 내용이 좀 투박해서 이해하는데 어려움이 있고, 내용이 세부적으로 설명되지 않았기에 의역을 덧붙였다. (저자의 의도와 일하지 않을 수 있습니다) 먼저 간단히 요약하자면, Leviathan Cardano의 처리량과, 최종성을 높이기 위해서 개발된 Cardano Layer2다. Cardano 네트워크의 컨펌을 기다리지 않고 여러 트랜잭션을 실행할 수 있는 중앙화된 Sequencer를 통해서 실행된다. 순차적으로 연결된 트랜잭션에 작동하는 것으로, 비용과 공간 측면에서 비용이 많이 든다. zk롤업을 구현하는데 사용될 수 있다. 시퀀서는 tx를 큐에 추가하기 위해서 tx에 대한 컨트롤..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cm46b6/btsC1pgZBCV/PiNMVhwpvBEg2KGo8c4u9k/img.png)
현재 수 많은 블록체인 네트워크가 있지만, 그 중에 개인적으로 미래가 가장 기대되는 프로젝트는 카르다노다. 합의 알고리즘인 Ouroboros, EUTXO 모델과 함수형 언어인 Haskell 기반의 네트워크기 때문에 보안성, 탈중앙화, 확장성 이 세가지 블록체인 트릴레마 최대한 해결하고 있다고 생각한다. 내가 현재 DevOps 엔지니어로 일하고 있는 만큼, 네트워크의 보안과 분산화에 기여하는 카르다노의 스테이킹 풀에 대해서 관심이 있다. 관련된 기본적인 정보들을 간단히 정리해보려고 한다. 스테이킹(staking)? 스테이킹은 카르다노 네트워크의 분산화와 보안에 참여하는 프로세스라고 보면 된다. $ADA 홀더들은 스테이킹을 통해서 보상을 받는다. 자신의 월렛에 있는 ADA를 풀에 위임하면, 풀은 늘어난 지분..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Icbx6/btsCMzcSuk2/PUWfJZ8Y5JSxdJ46XlBFr1/img.png)
우리 팀에선 Loki-Prometheus-Grafana 스택으로 서비스 로그와 메트릭을 Grafana에 통합하여 모니터링하고 있다. 특히, Loki는 Container의 stdout, stderr 로그를 생성된 파드 기준으로 Promtail을 통해 수집하는데, debug 로그는 컨테이너 내부에서. log 파일 형태로 저장한다. 서비스 로그 레벨은 3으로 설정되어 있어, 문제가 생길 때마다 컨테이너에 있는 debug 파일을 확인하는게 아주 번거롭다. 그렇다고 로그레벨 수정을 위해 실행 중인 서비스를 재실행할 수 도 없었기에, retention을 최대한 줄이더라도 debug 로그를 수집할 필요가 있었다. 이 로그 파일을 로깅하기 위해서 고민했던 방식은 크게 3가지였다. hostpath로 노드에 컨테이너 로그..