버그 해결을 위한 모든 질문을 던져
0 votes
158 views

안녕하세요.  블록체인을 공부하고 있는 대학생입니다.

 

Bitcoin에서 transaction을 찾는 방법이 궁금합니다.

여기서 transaction은 단순히 wallet에서 찾을 수 있는 인코딩된 id를 말하는 것이 아닙니다. 인코딩되기 전의 형태인 ‘누가 얼마를 누구에게 송금했는지’를 알 수 있는 raw transaction을 알고 싶습니다.

 

1. 사용자의 interface인 wallet은 저장용량이 적어서 full node에 저장되어 있는 transaction의 id만 저장하고 있다고 알고 있습니다. 그렇다면 full node의 어디에 raw transaction이 저장되어 있나요? full node의 각 블록에 각각의 transaction이 모두 저장되어 있는지, 아니면 각 블록에는 transaction id만 저장되어있고 별도의 데이터 파일이 있어 거기에 저장되어 있는 것인지요?

 

2. 별도의 데이터 파일에 raw transaction이 저장되어 있다면 보안은 어떻게 유지되나요?

 

3. 사용자가 특정 transaction을 찾고 싶어서 wallet 또는 explorer에 transaction id를 검색하면, 입력된 id에 대응하는 raw transaction을 full node (또는 별도의 파일)에서 찾아서 제공되는 것이 맞나요?

 

4. 3번이 맞는다면 full node (또는 별도의 파일)에서 raw transaction을 검색하는 방법은 무엇인가요? 단순히 풀 서치를 한다면 시간이 상당히 오래 걸릴 텐데, 그 많은 node를 빠르게 검색하는 방법이 무엇인가요?

 

감사합니다.

 

 

asked (2 point) , 158 views

1 답변

0 votes

1. 풀노드는 모든 transaction 정보가 저장 되어있는것아 맞습니다.

2. raw transaction이 저장되어있는거와 보안은 별개인것 같습니다.

3. 적어주신 내용이 맞습니다.

4. bitcoin의 경우 Berkeley DB(https://en.wikipedia.org/wiki/Berkeley_DB)를 사용하고있습니다.

answered (4 point)

버그 해결을 위해 도움을 구하고, 도움을 주세요. 우리는 그렇게 발전합니다.

throw bug 는 프로그래밍에 대한 전분야를 다룹니다. 질문,논의거리,팁,정보공유 모든 것이 가능합니다. 프로그래밍과 관련이 없는 내용은 환영받지 못합니다.

255 질문
388 answers
396 댓글
509 users