diff --git a/modules/channel/chain-net/dap_stream_ch_chain_net.c b/modules/channel/chain-net/dap_stream_ch_chain_net.c
index 07fca63075fdd676903d77b236fd0fe7ee4c0724..7c1bbd7a66c619447315cfc9762276bfed574160 100644
--- a/modules/channel/chain-net/dap_stream_ch_chain_net.c
+++ b/modules/channel/chain-net/dap_stream_ch_chain_net.c
@@ -198,7 +198,14 @@ void s_stream_ch_packet_in(dap_stream_ch_t* a_ch, void* a_arg)
 
     if(l_ch_chain_net) {
         pthread_mutex_lock(&l_ch_chain_net->mutex);
-        dap_stream_ch_pkt_t *l_ch_pkt = (dap_stream_ch_pkt_t *) a_arg;
+        dap_stream_ch_pkt_t *l_ch_pkt = (dap_stream_ch_pkt_t *)a_arg;
+        if (l_ch_pkt->hdr.type == DAP_STREAM_CH_CHAIN_NET_PKT_TYPE_TEST) {
+            char *l_data_hash_str;
+            dap_get_data_hash_str_static(l_ch_pkt->data, l_ch_pkt->hdr.data_size, l_data_hash_str);
+            log_it(L_ATT, "Receive test data packet with hash %s", l_data_hash_str);
+            pthread_mutex_unlock(&l_ch_chain_net->mutex);
+            return;
+        }
         dap_stream_ch_chain_net_pkt_t *l_ch_chain_net_pkt = (dap_stream_ch_chain_net_pkt_t *) l_ch_pkt->data;
         dap_chain_net_t *l_net = dap_chain_net_by_id(l_ch_chain_net_pkt->hdr.net_id);
         bool l_error = false;
@@ -208,11 +215,6 @@ void s_stream_ch_packet_in(dap_stream_ch_t* a_ch, void* a_arg)
             strcpy(l_err_str, "ERROR_NET_INVALID_ID");
             l_error = true;
         }
-        if (!l_error && dap_chain_net_get_state(l_net) == NET_STATE_OFFLINE) {
-            log_it(L_ERROR, "Net '%s' is offline", l_net->pub.name);
-            strcpy(l_err_str, "ERROR_NET_IS_OFFLINE");
-            l_error = true;
-        }
         if (!l_error) {
             uint16_t l_acl_idx = dap_chain_net_get_acl_idx(l_net);
             uint8_t l_acl = a_ch->stream->session->acl ? a_ch->stream->session->acl[l_acl_idx] : 1;
@@ -231,12 +233,6 @@ void s_stream_ch_packet_in(dap_stream_ch_t* a_ch, void* a_arg)
         if (!l_error && l_ch_chain_net_pkt) {
             size_t l_ch_chain_net_pkt_data_size = l_ch_pkt->hdr.data_size - sizeof(dap_stream_ch_chain_net_pkt_hdr_t);
             switch (l_ch_pkt->hdr.type) {
-                case DAP_STREAM_CH_CHAIN_NET_PKT_TYPE_DBG: {
-                    dap_stream_ch_chain_net_pkt_write(a_ch, DAP_STREAM_CH_CHAIN_NET_PKT_TYPE_PING,
-                                                      l_ch_chain_net_pkt->hdr.net_id, NULL, 0);
-                    dap_stream_ch_set_ready_to_write_unsafe(a_ch, true);
-                }
-                    break;
                     // received ping request - > send pong request
                 case DAP_STREAM_CH_CHAIN_NET_PKT_TYPE_PING: {
                     //log_it(L_INFO, "Get STREAM_CH_CHAIN_NET_PKT_TYPE_PING");
diff --git a/modules/channel/chain-net/include/dap_stream_ch_chain_net_pkt.h b/modules/channel/chain-net/include/dap_stream_ch_chain_net_pkt.h
index 79c1c92cd881aea81330892ad35c3e5b4d566e70..69c7f76238b687917f815ae0f3967265a22d8b20 100644
--- a/modules/channel/chain-net/include/dap_stream_ch_chain_net_pkt.h
+++ b/modules/channel/chain-net/include/dap_stream_ch_chain_net_pkt.h
@@ -42,7 +42,7 @@
 #define DAP_STREAM_CH_CHAIN_NET_PKT_TYPE_NODE_VALIDATOR_READY_REQUEST  0x30
 #define DAP_STREAM_CH_CHAIN_NET_PKT_TYPE_NODE_VALIDATOR_READY          0x31
 
-#define DAP_STREAM_CH_CHAIN_NET_PKT_TYPE_DBG                           0x99
+#define DAP_STREAM_CH_CHAIN_NET_PKT_TYPE_TEST                          0x99
 
 #define DAP_STREAM_CH_CHAIN_NET_PKT_TYPE_ERROR                         0xff
 
diff --git a/modules/channel/chain-voting/dap_stream_ch_chain_voting.c b/modules/channel/chain-voting/dap_stream_ch_chain_voting.c
index 399f98c579939d9fa869076063aebb38f3e7dd8b..93560ed42185e6e3a1a1a682b940e95a96c321be 100644
--- a/modules/channel/chain-voting/dap_stream_ch_chain_voting.c
+++ b/modules/channel/chain-voting/dap_stream_ch_chain_voting.c
@@ -10,6 +10,7 @@
 #include "dap_client_pvt.h"
 #include "dap_proc_queue.h"
 #include "dap_chain_node_cli.h"
+#include "dap_chain_cs_blocks.h"
 
 #define LOG_TAG "dap_stream_ch_chain_voting"
 
@@ -142,8 +143,10 @@ static void s_stream_ch_packet_in(dap_stream_ch_t *a_ch, void *a_arg)
         return;
 
     size_t l_voting_pkt_size = l_ch_pkt->hdr.data_size;
-    if (!l_voting_pkt_size || l_voting_pkt_size > UINT16_MAX)
+    if (!l_voting_pkt_size || l_voting_pkt_size > DAP_CHAIN_CS_BLOCKS_MAX_BLOCK_SIZE + sizeof(dap_stream_ch_chain_voting_pkt_t)) {
+        log_it(L_ERROR, "Maximum packet size exceeded, drop this packet");
         return;
+    }
 
     dap_stream_ch_chain_voting_pkt_t *l_voting_pkt = (dap_stream_ch_chain_voting_pkt_t *)l_ch_pkt->data;
     dap_proc_queue_add_callback(a_ch->stream_worker->worker, s_callback_pkt_in_call_all,
diff --git a/modules/consensus/esbocs/dap_chain_cs_esbocs.c b/modules/consensus/esbocs/dap_chain_cs_esbocs.c
index ecc7d0a4e0588ecc34a839305e719a5fdc958603..ed5ad4ceeda1d93d552431630d4d9914259607bc 100644
--- a/modules/consensus/esbocs/dap_chain_cs_esbocs.c
+++ b/modules/consensus/esbocs/dap_chain_cs_esbocs.c
@@ -559,8 +559,9 @@ static void s_session_round_new(dap_chain_esbocs_session_t *a_session)
 
     dap_hash_fast_t l_last_block_hash;
     s_get_last_block_hash(a_session->chain, &l_last_block_hash);
-    if (dap_hash_fast_is_blank(&a_session->cur_round.last_block_hash) ||
-            !dap_hash_fast_compare(&l_last_block_hash, &a_session->cur_round.last_block_hash)) {
+    if (!dap_hash_fast_compare(&l_last_block_hash, &a_session->cur_round.last_block_hash) ||
+            (!dap_hash_fast_is_blank(&l_last_block_hash) &&
+                dap_hash_fast_is_blank(&a_session->cur_round.last_block_hash))) {
         a_session->cur_round.last_block_hash = l_last_block_hash;
         a_session->cur_round.sync_attempt = 1;
     }
diff --git a/modules/consensus/esbocs/include/dap_chain_cs_esbocs.h b/modules/consensus/esbocs/include/dap_chain_cs_esbocs.h
index 3daa6cf36bed153fa63f922e3a6c26c9052dd7c6..272ff0ef27dc229c7365be72723f96fe35beb87c 100644
--- a/modules/consensus/esbocs/include/dap_chain_cs_esbocs.h
+++ b/modules/consensus/esbocs/include/dap_chain_cs_esbocs.h
@@ -6,7 +6,7 @@
 #include "dap_chain_cs_blocks.h"
 #include "dap_cert.h"
 
-#define DAP_CHAIN_ESBOCS_PROTOCOL_VERSION           1
+#define DAP_CHAIN_ESBOCS_PROTOCOL_VERSION           2
 
 #define DAP_STREAM_CH_VOTING_MSG_TYPE_SUBMIT        0x04
 #define DAP_STREAM_CH_VOTING_MSG_TYPE_APPROVE       0x08
diff --git a/modules/net/dap_chain_node_cli_cmd.c b/modules/net/dap_chain_node_cli_cmd.c
index 937f2372df4255ab789a481c1416770e5d4901f5..1600198e63ad4b62370ade09f7066af910df4e49 100644
--- a/modules/net/dap_chain_node_cli_cmd.c
+++ b/modules/net/dap_chain_node_cli_cmd.c
@@ -3682,9 +3682,9 @@ int com_token_decl(int a_argc, char ** a_argv, char ** a_str_reply)
     // Calc datum's hash
     dap_chain_hash_fast_t l_key_hash;
     dap_hash_fast(l_datum->data, l_datum->header.data_size, &l_key_hash);
-    char * l_key_str = dap_chain_hash_fast_to_str_new(&l_key_hash);
-    char * l_key_str_out = dap_strcmp(l_hash_out_type, "hex") ?
-                dap_enc_base58_encode_hash_to_str(&l_key_hash) : l_key_str;
+    char * l_key_str = dap_strcmp(l_hash_out_type, "hex") ?
+                dap_chain_hash_fast_to_str_new(&l_key_hash) :
+                dap_enc_base58_encode_hash_to_str(&l_key_hash);
 
     // Add datum to mempool with datum_token hash as a key
     char *l_gdb_group_mempool = l_chain
@@ -3693,15 +3693,13 @@ int com_token_decl(int a_argc, char ** a_argv, char ** a_str_reply)
     if (!l_gdb_group_mempool) {
         dap_cli_server_cmd_set_reply_text(a_str_reply, "No suitable chain for placing token datum found");
         DAP_DEL_Z(l_key_str);
-        DAP_DEL_Z(l_key_str_out);
         DAP_DELETE(l_datum);
         return -10;
     }
     bool l_placed = dap_global_db_set_sync(l_gdb_group_mempool, l_key_str, l_datum, l_datum_size, true) == 0;
     dap_cli_server_cmd_set_reply_text(a_str_reply, "Datum %s with token %s is%s placed in datum pool",
-                                      l_key_str_out, l_ticker, l_placed ? "" : " not");
+                                      l_key_str, l_ticker, l_placed ? "" : " not");
     DAP_DEL_Z(l_key_str);
-    DAP_DEL_Z(l_key_str_out);
     DAP_DELETE(l_datum);
     DAP_DELETE(l_params);
     return l_placed ? 0 : -2;
diff --git a/modules/type/blocks/include/dap_chain_cs_blocks.h b/modules/type/blocks/include/dap_chain_cs_blocks.h
index 757eef586e0f26ad1b3137b93773a564497d80bd..7ffbaf4d63249c13a7266d6d4d4c08fc59149815 100644
--- a/modules/type/blocks/include/dap_chain_cs_blocks.h
+++ b/modules/type/blocks/include/dap_chain_cs_blocks.h
@@ -29,7 +29,7 @@
 #ifdef DAP_TPS_TEST
 #define DAP_CHAIN_CS_BLOCKS_MAX_BLOCK_SIZE (100 * 1024 * 1024)
 #else
-#define DAP_CHAIN_CS_BLOCKS_MAX_BLOCK_SIZE (48 * 1024) //(1 * 1024 * 1024)    // 1 Mb
+#define DAP_CHAIN_CS_BLOCKS_MAX_BLOCK_SIZE (1 * 1024 * 1024)    // 1 Mb
 #endif
 
 typedef struct dap_chain_cs_blocks dap_chain_cs_blocks_t;