본문 바로가기

분류 전체보기28

퀵노드 특정 케이스 크레딧 절감 이 글을 작성하는 2024년 5월 4일에는 QuickNode RPC 별 크레딧 사용량이 개편되어 eth_getTransactionReceipt, eth_getBlockReceipts 동일하게 20 크레딧이 소요된다. 개편되기 전에 eth_getTransactionReceipt 은 2 크레딧, eth_getBlockReceipts 는 60 크레딧이 소요됐었는데, go-ethereum 같은 경우 LevelDB 의 특정 키에 블록의 모든 receipt 가 저장되어 있고 eth_getTransactionReceipt 는 블록의 모든 receipt 를 가져와서 해당 트랜잭션의 receipt 를 찾아 반환하는 방식으로 구현되어 있기 때문에 eth_getBlockReceipts 의 크레딧이 매우 크게 책정된 것은 .. 2024. 5. 4.
순 (旬) 旬 초순, 중순, 하순 이라는 말은 실생활에서도 자주 쓰인다. 원래 대충 초반, 중반, 후반이라는 뜻으로 이해하고 있었는데, 이번에 순이 '열흘 순' 이라는 한자라는 것을 알게 되었다. 초순 (1~10), 중순 (11~20), 하순(21~30) 이 정확한 의미이다. 달에서만 사용하는 한자는 아니고, 10년을 순년, 10달을 순월, 나이를 셀 때 10살을 1순이라고 한다. 칠순 잔치 할 때의 '순'이 '열흘 순' 자 이다. 육순, 칠순, 팔순... 그런데 육순이라고는 안하고 보통 환갑이라고 하지 않나? 갑은 60년을 의미하는데, 십간 십이지를 결합해서 만들 수 있는 가짓수가 총 60개이고 해마다 순서대로 바뀌게 된다. 예를 들어 최근 '임진' 으로부터 60년이 지나면 다시 '임진' 인 해가 온다는 것이다... 2023. 11. 30.
[번역] Anti-Caching: A New Approach to Database Management System Architecture Anti-Caching: A New Approach to Database Management System Architecture Justin DeBrabant, Andrew Pavlo, Stephen Tu 원문 ABSTRACT 디스크 기반 관계형 데이터베이스 관리 시스템(DBMS)을 구축하는 전통적인 방법은 메인 메모리 블록 캐시와 함께 디스크에 저장된 고도로 인코딩된 블록으로 데이터를 구성하는 것입니다. 이러한 시스템은 높은 디스크 대기 시간을 고려하여 성능을 개선하기 위해 여러 트랜잭션이 동시에 데이터베이스에 액세스할 수 있는 동적 레코드 수준 잠금 기능을 갖춘 다중 스레드 아키텍처를 사용합니다. 이전 연구에 따르면 이로 인해 온라인 트랜잭션 처리(OLTP) 애플리케이션에 상당한 오버헤드가 발생하는 .. 2023. 8. 15.
이더리움 프라이버시: 익명성 (Stealth address, Gas Ticketing) 얼마 전 비탈릭 부테린이 이더리움이 성숙해지는 데 필요한 세 가지 전환이라는 주제로 글을 썼다. 그 세 가지는 L2 스케일링, 스마트 컨트랙트 지갑, 프라이버시이며, 이 글에서는 프라이버시에 대해 다룬다. 불과 몇 년 전만 해도 이더리움 계정은 단순히 자산의 전송으로만 사용되었으나, ENS, POAP, NFT, 소울 바운드 토큰 등이 만들어지며 계정에 자산 정보 외에도 여러 데이터가 포함되고 있다. 즉, 계정에 개인 정보들이 포함되기 시작한 것이다. 이에 따라 온체인에서 하는 활동과 개인 정보 간 링크가 생기게 되었고 프라이버시를 갖기 어려워졌다. 예를 들어 프라이버시(i.e. 익명성)가 보장된 온체인 활동을 하고 싶다고 가정해보자. 사용자는 새로운 계정을 만들 것이다. 만들어진 계정은 아무런 내역도, .. 2023. 6. 24.
상동성과 상사성 생물학에는 상동성, 상사성이란 말이 있다. 상동성이란 지금은 거리가 먼 두 종이 특정 형질을 지닌 공통조상에서 분화되기 전에 그 형질을 물려받아 이후에 발현된 신체 부위, 신체 과정을 가지고 있을 때 발생한다. (e.g. 포유류의 앞다리 뼈, 새의 날개) 상사성, 또는 상사관계란 형질은 서로 다른 두 종이 비슷한 문제에 관한 합리적 해결책으로서 각각 독립적으로 발달시킨 것을 의미한다. 그 예로, 사람의 손과 개구리의 손을 보자. 엄지 손가락과 네 개의 손가락 구성의 비슷한 손을 갖고 있는데, 사람과 개구리는 손의 형성 과정이 완전히 다르기 때문에 공통된 조상으로부터 물려받은 것이 아니라고 유추할 수 있다. 그럼에도 손의 구조가 매우 비슷해보인다. 이번에는 사람의 눈과 문어의 눈의 구조를 보자. 둘 다 렌.. 2023. 6. 10.
CPU 캐시를 고려한 최적화 사례 Repeat(s string, count int) string strings.Repeat("hi", 5) --> "hihihihihi" Golang 기본 라이브러리 strings의 Repeat 메서드는 넘긴 s 문자열을 count 번 반복하고, 그 문자열을 리턴하는 메서드다. 최적화 전 기존 코드를 먼저 보자. func Repeat(s string, count int) string { if count == 0 { return "" } // Since we cannot return an error on overflow, // we should panic if the repeat will generate // an overflow. // See Issue golang.org/issue/16237 if cou.. 2023. 5. 23.