# 대량 트랜잭션 발생시 트랜잭션 상태변화

**URL:** <https://devforum.kaia.io/t/topic/4808>\
**Category:** Kaia\
**Tags:** klaytn\
**Created:** [4월 12, 2022, 8:07오전 UTC](https://devforum.kaia.io/t/topic/4808 "2022-04-12T08:07:20Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![seunghunmoon023](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/seunghunmoon023/32/2037_2.png) [@seunghunmoon023](https://devforum.kaia.io/u/seunghunmoon023)\
**Post date:** [4월 12, 2022, 8:07오전 UTC](https://devforum.kaia.io/t/topic/4808/1 "2022-04-12T08:07:20Z")

</div>

[![](https://canada1.discourse-cdn.com/flex035/uploads/klaytn/original/2X/c/c4cf363083bfdc776c709481141c6a9f4b8e36ca.png)](https://docs.klaytnapi.com/tutorial/wallet-api/wallet-transaction-api#undefined)

어느 블록체인에서든 네트워크를 파괴하려는 악당들이 있기 마련입니다.  
클레이튼도 그런 공격을 수차례 받아온 것을 알고있습니다.  
제가 개발중인 서비스에도 [이런 사례](https://medium.com/klaytn-kr/klaytn-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EC%83%81%ED%83%9C-%EA%B3%B5%EC%9C%A0-d9945c854f42) 가 발생할 수 있을 것 같아 미리 대비해두려고 합니다.

> 1. 블록에 트랜잭션이 담기기까지 평소보다 시간이 더 걸릴 수 있습니다.  
> 네트워크의 처리량 이상의 트랜잭션이 발생하는 경우, 새로 발생한 트랜잭션이 블록에 담기기까지 순서를 기다려야할 수 있습니다. 이때는 평소보다 트랜잭션 처리 대기 시간이 길어집니다.
> 2. Kaikas 등을 이용한 새로운 트랜잭션 배포가 거부당할 수 있습니다.  
> Klaytn 노드에는 보유할 수 있는 최대 트랜잭션 수가 설정되어 있습니다. 이 이상으로 트랜잭션이 발생하게 되면, Klaytn 노드는 새로운 트랜잭션 수신를 거부하고 보유한 트랜잭션이 처리되기를 기다립니다. 이 경우에는 조금 시간이 지난 뒤 다시 배포를 시도하시는 것을 권장드립니다. - _Klaytn medium 中_

**클레이튼 네트워크가 매우 느려지거나 멈췄을 때 제출된 트랜잭션의 상태 변화가 어떻게 되는지 알고싶습니다.**

 ![트랜잭션_상태변화_시나리오](https://canada1.discourse-cdn.com/flex035/uploads/klaytn/original/2X/5/5e6379098461d137dde378ae111cdbe08d5563a3.jpeg)

1. “Klaytn 노드에는 보유할 수 있는 최대 트랜잭션 수가 설정되어 있습니다. _이 이상으로 트랜잭션이 발생하게 되면 Klaytn 노드는 새로운 트랜잭션 수신을 거부하고 보유한 트랜잭션이 처리되기를 기다립니다._” 라는 것은 올바른 입력값으로 서명해서 트랜잭션을 제출하려고 해도 `Submitted` 되지 못하고 **4XX Fail 이 날 수도 있다는 의미인가요?**

총 3가지 질문입니다.

---

<div class="post-metadata">

**Author:** ![jack\_jin](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/jack_jin/32/2305_2.png) [@jack\_jin](https://devforum.kaia.io/u/jack_jin)\
**Post date:** [4월 17, 2022, 4:47오후 UTC](https://devforum.kaia.io/t/topic/4808/2 "2022-04-17T16:47:10Z")

</div>

1. 트랜젝션이 네트워크에 제출된 후, 대량의 트래픽 발생되어 제출된 트랜젝션이 처리되고 있지 못하는 경우

- Klaytn EndPoint Node (EN)의 버퍼는 가득 찰 경우, 이후 제출되는 트랜잭션들을 Drop시키므로 5분이상 pending되기는 어렵습니다.
- 만약 5분이상 대기하는 경우라면, 여러 요인으로 인해 트랜잭션이 실행이 어려운 상황일 수 있으며 기본 설정은 5분이상 대기하고 있는 트랜잭션은 Drop시킵니다.
- Klaytn은 1초 Finality를 지향하므로 먼저 버퍼에 들어온 이상 먼저 해당 시간안에 처리된다고 볼 수 있습니다.

1. 트랜젝션이 네트워크에 제출된 후 time out 기준여부

- 1번의 답변이 설명이 될 것 같습니다.

1. 트랜젝션 노드의 버퍼 이상으로 트랜젝션 발생의 경우

- 네 EN의 버퍼가 넘치면, 나중에 도달한 트랜젝션은 Drop됩니다.
- 트랜젝션이 EN에 제출되었더라도, 기준 이상이 된 것이 다시 확인되면 트랜젝션을 Drop하도록 설계되어 있습니다.

---

<div class="post-metadata">

**Author:** ![seunghunmoon023](https://yyz1.discourse-cdn.com/flex035/user_avatar/devforum.kaia.io/seunghunmoon023/32/2037_2.png) [@seunghunmoon023](https://devforum.kaia.io/u/seunghunmoon023)\
**Post date:** [4월 20, 2022, 4:49오전 UTC](https://devforum.kaia.io/t/topic/4808/3 "2022-04-20T04:49:13Z")

</div>

답변 감사합니다.

5분이상 대기한 트랜잭션은 `Submitted` → `CommittedError` 가 되겠네요.  
이런 디테일한 부분까지 긁어주는 분이 있어서 다행입니다. 😀
