사수가필요해
40
2019-09-20 20:14:54 작성 2019-09-20 20:18:34 수정됨
3
260

이더리움 parity 서버관련 질문드립니다. 도와주세요


개발을 시작한지 얼마 되지 않았고 현재 회사에서 블록체인 관련 서비스 개발을 하고 있습니다.

parity 2.5.1 버전을 이용해 리눅스에서 이더리움 rinkeby 테스트 서버로 테스트중이구요. FAST sync 모드로 진행을 하고있습니다. jsonrpc-cors 는 테스트관련한 주소만 등록해놓았고, passwd파일로 unlock기능 활성화. deamon으로 실행되고 있습니다.

여러 사람들과 개발을 같이 하고있기 때문에 FTP서버에 html,JS 등을 업로드해서 구현 테스트를 하고있습니다.


제가 겪고 있는 문제는 해킹의심이 드는 문제입니다.

캡쳐된 화면은 패리티 서버로그 입니다. 코드가 잘 보이실지는 모르겠습니다.. 


보시면 eth_sendTrnasction is depreacated 및 personal_account is deprecated 이후 Transaction marked invalid부분이 나오게 되는데, 이런 표시가 다른 노드에서 동기화를 진행하면서 표기되는 구문이라고는 생각되지가 않습니다.

제가 로그를 관찰했을땐  평상시엔 Imported #블록넘버    정도로 블록이 갱신되는 정보만 표기가 되며 rpc 설정해 놓은 계정으로 명령을 보냈을 때에만 sendTransaction 명령어가 표기가 되고 성공/실패에 따라 Transaction mined 로그가 표기됩니다.


헌데 제가 따로 명령을 내리지 않았음에도 주기적으로 eth_sendTrnasction is depreacated 및 personal_account is deprecated가 적혀있고 어쩔때는 마이닝이 완료가 되었다는 문구와 함께 제 테스트계정의 모든 이더가 다른 계정으로 옮겨가있습니다.

처음에는 개발 테스트를 할 때 여러 실험을 하다가 js파일에 입력했던 Private_Key가 유출이 되어서 그런건가 보다 하면서 새로운 계정을 만들어서 테스트를 시작하고 얼마 안지나서 똑같은 주소로 이더 전부가 옮겨지더군요 ㅡㅡ


계정 하나만 그런것이 아닌 다른곳에선 알지도 못할 계정을 2개 더 만들었음에도 그 즉시 털리고 나니까 어이가 없었습니다. 사진 하단의 마이닝된 해시주소는 저로인해 마이닝된게 아닙니다. 털린겁니다.

https://rinkeby.etherscan.io/tx/0x3066528f5187854c89f40ae5cf18560841ab0b35ad477746cd8fd33a594eacf3

이더를 가져가는 주소는 참 많이도 테스트 이더가 있더군요. 제가 털린건만 70이더는 되는것 같습니다.

이후 jsonrpc-cors를 사용하는 html 파일 주소로만 제한시키고는 조금 잠잠해졌지만 위와 동일한 수상한 흔적은 계속 적혔지만 이더는 털리지 않았기에  좀 잠잠해지나 싶더니 며칠 지나 또 그러기에, 이번엔 rpc-apis 중 personal을 빼버렸습니다.

정말 아무일도 없어졌기에 맘 놓고 예비군 가는 전날 퇴근하고 그날 저녁 12시쯤 로그에 이런게 찍혀있더군요.

UTC Stage 5 block verification failed for #5122620 (0x2854…176b)

Error: Error(Block(InvalidStateRoot(Mismatch { expected: 0xa8651913a4a889d13216911f1554d46e386af9b3f2c7659ce8816223042d7510, found: 0xb9520930b47de4ec4352396be08c5936f22df839aae03406ee7a1aea66b9d944 })), State { next_error: None, backtrace: InternalBacktrace { backtrace: None } })


Bad block detected: Error(Block(InvalidStateRoot(Mismatch { ......


뭔 징그러운 로그가 찍혀있습니다.

한두번도 아니고 이제부턴 계속 저런 로그가 지속적으로 찍혀있더군요. 놀라운건 저기에 표기된 해시값들은 제가 아닌 다른 누군가가 발생시킨 트랜잭션의 해시값들입니다. 
대체 뭔 상황인지도 모르겠습니다.


토큰에 대해선 여태까지 아무런 문제가 없었지만 운영을 위한 계정의 이더는 조치를 하고 나서부턴 잘 안털리더라도 가끔가다 빼가고 있으니 정신이 고갈되고 있네요.

게다가 저런 로그가 표기되고 있음에도 서비스 페이지는 별 탈 없이 작동도 잘 되고 이더스캔에도 표시 잘됩니다.

대체 어떤 상황인가요? 고수님들의 해결방안을 기다립니다.. 사수도 없으니 혼자 하기 너무 힘드네요


이 주소가 털어가는 상대방 주소 입니다.

https://rinkeby.etherscan.io/address/0x093a0ed738b65ed34f2a37a2d44c5e3cd0d0dd45



0
0
  • 답변 3

  • freestyle
    3k
    2019-09-21 08:33:08

    일단 Rinkeby는 제가 아는한 PoW가 아닌 PoA입니다. 즉 통상적인 마이닝을 하지 않습니다. 그래서 본인이 패리티 노드로 어떻게 마이닝해서 이더를 받았는지 잘 모르겠습니다. PoA는 미리 정해진 노드가 블록을 생성하고 서명합니다. 

    구글링을 해보니 패리티로 Rinkeby테스트넷에 연결하는 것은 일반적이지 않은 것 같습니다. 

    0
  • 사수가필요해
    40
    2019-09-21 15:17:17

    마이닝은 따로 하는 노드는 아닙니다. 그저 계정만 생성하고 faucet으로 이더를 받아 패리티로 서버를 운영하는 방식일 뿐입니다. 쓸까 말까 하다가 언급하진 않았네요.

    혹시 그렇다면 FAST모드로 동기화된 데이터에 문제가 생겼기 때문에 발생한 문제인걸까요?

    0
  • freestyle
    3k
    2019-09-21 17:30:37

    처음에 패리티 노드 설정을 어떻게 하는지 저도 잘 모르겠습니다만 패리티로 PoA노드를 운영할때 설정하는 방법이 있는지 궁금합니다. 패리티 최근 보안 패치 버전을 설치하거나 사이트에 문의하거나 등등 자료를 찾아보셔야 할 듯 싶습니다.

    그리고 개발을 직접 테스트넷에 연결해서 하면 효율이 떨어지듯 한데 차라리 초기에는 로컬 노드를 쓰거나 가나슈를 쓰는 게 어떨까 하네요. 사실 테스트넷도 그렇고 특히 메인넷 노드를 직접 돌리면서 서비스를 하는 경우는 흔치 않을 것 같습니다.

    1
  • 로그인을 하시면 답변을 등록할 수 있습니다.