이오스 스마트 컨트랙트는 믿을 수 있을까?

in #kr6 years ago (edited)


(대문은 @carrotcake 님께 의뢰하였습니다)

예로부터 스마트 컨트렉트는 안전하다고 알려져 있습니다

블록체인의 꽃인 스마트 컨트렉트는
그 혁명적 방식에 취한 뽕쟁이들이 엄청 띄웠습니다

블록체인상에선 불변, 블록체인은 투명한 백옥피부
누구나 볼 수 있고 함부로 조작하지 못하므로
체인상에 올라간 컨트랙트는 안심할 수 있다..

라는 선전을 대대적으로 했기에
많은 초보들은 스마트 컨트랙트라하면
그냥 좋은거.. 조작 불능.. 오메 좋은거
뭐 이런식으로 막연하게 알고 있습니다.

특히나 '믿을 수 있다' 라고
잘못 알고 있는 경우가 많죠.

하지만 그것은 스마트 컨트랙트의 특성이라기보다
이더리움의 특성이었습니다.

이더리움은 스마트 컨트렉트를 만들면서 따로 새로운
언어를 창조했습니다. solidity 라는 것을 말이죠
그리고 그것은 매우 강력한 투명성을 가집니다.
코드를 숨기고 싶어도 전부 노출되게 만든 것이죠


https://www.stateofthedapps.com/
위의 사이튼 이더리움의 각종뎁의 포탈 같은 곳입니다
많은 앱들의 정보와 링크를 소개되어 있습니다


하나 선택해서 클릭해보면
사용량부터 시작해서 주인장이랑 시작 날짜,
개발활동 현황, 라이센스 등등이 좌악 나옵니다
그리고 아래쪽에 보면


가장 중요한 컨트랙트 주소가 나오죠

그곳으로 가면 코드가 적나라하게 나옵니다.

https://etherscan.io/address/0xD1CEeeefA68a6aF0A5f6046132D986066c7f9426?utm_source=StateOfTheDApps#code

일반인은 몰라도 어느정도 프로그래밍을 할 줄 아는
사람이면 코드에 장난질이 쳐져 있는지 아닌지
알아볼 수 있습니다

만약 장난질을 쳐놨으면
세상엔 전문가가 발에 채일만큼 널렸으므로
누군가 한명쯤 알아볼테고 해당 코드는 스캠이라는게
바로 밝혀지게 되어 있습니다

그래서 이더리움이 주도하는 시대에
스마트 컨트랙트는 투명함의 상징이었죠.

그러나 다시 말하지만
그런 상징이 될 수 있었던 것은 어디까지나
이더리움 코드의 특성 때문이었습니다.
블록체인에 적혀있는 것을 다운받아서 원본으로
바로 복원할 수 있는... 그런 특성이
사실은 이더리움의 고유언어 때문에 생긴 것이었습니다.

즉, 이더리움의 코드가 아니라면
그런 특성이 사라진다는 것을 뜻합니다.

그리고 이오스는 거기에 부합됩니다.
이오스가 사용하는 것은 wasm 이라는 것으로
웹어셈블리라는 언어입니다.

이걸로 만든 코드는 강력한 성능을 지니게 되지만
반대로 코드가 드러나질 않습니다.

에디터로 열면 이렇게 보이게 되죠.

그러므로 소스코드가 뭐였는지 알수가 없습니다.

즉, 이오스에 올라간 스마트 컨트랙트는
개발자가 직접 소스코드를 공개하지 않는 이상
검증이 불가능합니다.

그 대표적인 것이 이오스 다이스입니다.


'블록체인에 올려진 카지노, 스마트 컨트렉트를 사용하여
투명성을 확보하다..'

라는 카피는 적어도 이오스 다이스엔 해당되지 않습니다
이오스 다이스는 전혀 소스코드를 공개하지 않고
있으므로 전적으로 상대방을 믿어야하는
일반적 도박사이트랑 신뢰성면에서 하등의 차이가 없다는거죠

딱 하나 다른 점은 즉시 코드에 의해
배팅 당첨금이 바로바로 전달된다는 것 정도.

조작이라는 면에서 절대로 자유롭지 않죠.

얘네들이 올려놓은 코드가 있긴한데
https://github.com/EOSBetCasino/EOSBet.IO
이런게 있습니다.
이걸보고 사람들이 공개되었느니 마느니 하지만
저건 홈페이지 소스코드입니다.

컨트랙트 코드가 전혀 아니죠.

그럼 이오스의 스마트 컨트랙트는 믿을 구석이 하나도
없는가..

하면 그렇진 않습니다.

eospark 사이트에 가보면
이오스의 컨트랙트를 검증하는 메뉴가 있습니다.
https://eospark.com/MainNet/contract/gameworldcom

블록체인에 올려진 코드는 비록 소스코드로 복원할 순 없지만
원 소스코드를 블록체인에 올릴 코드로 만든 것은
변함이 없습니다.

예를들어 사과로 사과파이를 만들었으면
귤로 만들때는 사과파이가 만들어질 수 없다는 것입니다.
그래서 블록체인상에 사과파이가 올려져 있고
뭘 사용해서 만들었을지 사람들이 궁금해할때
개발자가 직접나서서 사과로 사과파이를 만드는 것을
보여주는 겁니다.

개발자가 공개한 원 소스코드를 변환해서 나온 결과물과
블록체인상에 올려진 것을 비교해서
한자도 틀리지 않는다면 그것은 동일한 코드라는 것을
증명할 수 있다는 것이죠.

이오스 파크는 그것을 더욱 간편하게 지원합니다.
아무나 소스코드를 가져와서 올리면
직접 요리해서 그 결과물이 블록체인상에 올려져 있는거랑
같은지 알려주는 것입니다.

그리고 같으면 이런식으로 표시됩니다.

가져온 코드가 블록체인상의 앱과 똑같은 소스코드라는 것이
인증되었으므로 이제 가져온 코드를 검증해서
올바르다면 올라간 앱도 올바르다는 것을 바로
알 수 있게 되는 것입니다.


반면 개발자가 공개하지 않는다면
해당 컨트랙트에 무슨 짓을 해놨을지
아무도 알 수 없습니다.

다만 개발자 입장에선 소스코드 완전 공개라는 것은
누구나 그대로 베껴서 비슷한 서비스를 할 수 있다는 것을
의미하므로 공개를 안하는 것도
딱히 허물이 되는 것은 아닙니다.

이오스 나이츠 같은 경우라면 역시나 소스코드를
공개하진 않았지만 이건 소스의 투명성에 대해서
그다지 알 이유가 없으므로 상관없습죠.
공개되어 있습니다..;ㅁ; 죄송합니다
https://github.com/bada-studio/knights_contract/blob/master/knights/knights.cpp

그러나 카지노류라면?

역시 좀 믿음이 안가는게 사실이긴합니다.

그래서 추구하는 것이
소스코드 공개 여부라거나 해당 앱의 신뢰도 같은 것을
쉽게 볼 수 있게 해줄..
스캐터의 새로운 기능이 될 예정인 ID 검증 시스템입니다.
RIDL 토큰 같은 것 말이죠.

얼마 안있어 이제 거래창에서
상대앱의 신뢰도, 공개여부등을 한눈에 알 수 있게 될겁니다

인증의 불확실성 또한 하나의 서비스가 될 수 있으니
이오스의 재밌는 점이죠

여튼 요약하면
스마트 컨트랙트라고 다 믿을 수 있는 건 아니라는 것과
이오스 파크쪽에서 공개여부를 알 수 있는 것
그리고 앞으로 서비스로도 나오게 될 것
이 되겠습니다 +_+

Sort:  

잘 읽고 갑니다^^

넵 감사합니다!

@twinbraid
EOS Knights 의 경우 스마트 컨트랙 코드를 Github 에 공개하고 있습니다. 유저분들이 실제 이슈를 올려 주시는 경우도 있고 자유롭게 제안도 받고 있습니다. 항상 재미난 글 감사합니다.
https://github.com/bada-studio/knights_contract

엇 그렇네요. 일반게임이라 공개안했을줄 알고 지레 짐작했습니다. 죄송합니다 ;ㅁ;

스마트컨트랙의 투명성이란게 모든 블록체인에 적용되는 이야기는 아니었군여.. 그나저나 어제 뜨억상하던 이오스가 열심히 꽂아내리던데 그시각이 하필 트갓님 글올린 시간이었..(읍읍)

부두교에 심취하지 마십쇼

이젠 과학이죠...ㅋㅋㅋㅋㅋ

과학 인정합니다.

이건 또 모르고 있던 거네요 알면 알수록 이오스는 속도 하나 때문에 많은걸 포기했단 생각이 들긴 합니다

흠...이것과 속도가 무슨 상관인지 모르겠습니다만...

뭘 포기했다는건지요 ---?

딱히 포기한건 아닙니다. 그냥 이더리움이 특이한 것이죠.

항상 좋은글 잘 보고 갑니다^^

감사합니다 +_+/

스컨은 이더의 장점이군요
좋은정보 감사합니다

스컨 자체는 아니고 투명성이 장점이죠.

투명성이 장점이군요 스컨자체가 아니고요 흐흐

블록체인에 대한 설명글을 써보려다가 twinbraid님의 너무 쉽게 풀어써주신 글들을 보고 깨갱하고 twinbraid님의 포스팅들을 정독하라고 추천드렸습니다. 정말 많이 많이 배우고 갑니다. ^^

주제 중복에 대해서 기피할 필요는 없습니다
오히려 한번 써보시는게 스스로에게도 많은 도움이 되죠+_+

이오스 다이스는 정말 못믿겠습니다!!
안믿을 거에요!!!
젠장!!!!!!!!!!

필살 공략법이 있긴한데.. 필살기라 자기가 뒈질지도 모르는 방법이라-ㅅ-;

트윈느님!!! 여쭤볼게 있는데요...^^
트윈님의 팬클럽 회장 욱4마님께 들은 정본데요...
할랄코인이 퀀텀 기반에서 erc-20으로 바뀐다고 개인지갑에 있으면 뭔가 해야된다는 거 같던데 이거 뭐해야하나요???
저는 예전에 트윈님 포스팅보고 올코인 거래소에서 퀀텀 코어 지갑에 넣어뒀는데...
우째요???ㅠㅠ

안녕하세요. 언제나 좋은 정보를 쉽게 설명 해주시어 여러모로 도움이 되고 있습니다.

꽼.. 몰랐어요
https://steemit.com/kr/@twinbraid/erc-20
그래서 포스팅했습니다. 그대로 따라하시면 될거예요

재가 돈에 눈이 멀었나... ㅋㅋ 이다리움 다 버리고 이오스 사라는 말이 들립니다

Posted using Partiko Android

코인이란게 기본적으로 백지와 쓰기프로그램의 조합이죠.
그러므로 쓰기프로그램을 좋은 걸로 업데이트하면
성능이 갑자기 확바뀝니다. 지금의 느려터진 비트코인도
라이트닝이 완성된다면 이오스의 속도를 능가해버리죠.
다만 이더리움의 프라즈마가 언제 될지는 요원한 일이라..=ㅅ=;
많은 이들이 당장의 서비스를 위해 이오스로 오고 있는 실정이긴 하죠

전 초보라 조금 어렵게 느껴지지만,,,ㅎㅎ 좋은 내용 감사합니다

관련 내용들은 초보에 맞게 많이 쓰긴했지만..
구려터진 스팀의 인터페이스 땜시 자신이 쓴 글의 목록을
정리하고 보여주지 못하는 점이 아쉽네요..;ㅁ;

오호... 이오스는 코드 검증이 필요한게로군요 ㅇㅎ...