비트코인 소스 코드 및 BTC 스크립트

블록체인 코드는 모든 사람에게 공개된다는 점에서 독특합니다. 전 세계 누구나 ​​접근할 수 있습니다. 프로그래머는 비트코인 ​​코드를 변경할 수 있습니다.

공식 웹사이트 https://bitcoin.org/ru/development를 통해 다운로드하고 편집할 수 있습니다.

사토시 나카모토는 자신의 개발이 부의 원천이 되는 것을 의도하지 않았습니다. 그는 암호화 알고리즘을 어떻게 사용할 수 있는지, 그리고 어떤 기회가 열리는지 세상에 보여주고 싶었습니다. 2010년에 그는 잠적하고 프로젝트 관리를 자신의 팀에 넘겼습니다. 그곳에서 일하는 열광적인 팬은 거의 3천 명입니다.

비트코인 소스 코드는 모든 프로그래머에게 공개되어 있습니다. 시간이 지나면서 새로운 알트코인이 등장했습니다. 그 중 다수는 단순히 BTC를 모방한 것이었고 인기를 얻지 못했습니다. 하지만 그들 중 일부는 살아남아 지도자가 되기도 했습니다. 대표적인 예가 라이트코인 암호화폐이다. 이는 전적으로 비트코인 ​​소스 코드를 기반으로 하지만 두 가지 장점이 있습니다. 첫째, 배출량이 4배 더 많습니다. 둘째, 채굴 계획이 훨씬 더 간단합니다. IC와 비디오 카드 없이 프로세서만 사용할 수 있습니다.

비트코인의 오픈소스 원칙이 중요한 이유

오픈소스 프로젝트를 통해 다른 네트워크 참여자가 정보의 정확성을 확인하고, 시스템을 변경하거나 개선할 수 있습니다. 대부분의 디지털 코인은 오픈 소스 코드를 기반으로 구축됩니다. 이런 개발 접근 방식은 암호화폐뿐만 아니라 소프트웨어 세계에서도 높이 평가됩니다.

소프트웨어/암호화폐 개발자들이 소스 코드를 숨기는 경우도 있습니다. 그러면 제한된 수의 사람들이 지원, 개발, 버그 수정을 담당하게 됩니다. NEM과 Stellar 암호화폐의 경우 이 정보에 대한 접근이 닫혀 있습니다. 이는 Facebook이나 Adobe의 많은 프로그램과 프로젝트에 적용됩니다. 이런 소프트웨어를 “폐쇄형”이라고 합니다. 편집이나 변경은 합법적인 권리가 있는 작성자에게만 허용됩니다.

오픈 소스 코드이므로 누구나 사용할 수 있습니다. 누구나 이 프로그램을 이용해 다양한 작업을 할 수 있습니다. 복사, 보기, 편집, 친구에게 보내기, 학습 등이 가능합니다. 때로는 개발자가 코드를 공개하면서도 사용을 제한하기도 합니다. 시청은 가능하지만, 사본을 만들거나 다른 프로젝트에 사용할 수는 없습니다.

이처럼 중요한 정보를 사용자에게 공개함으로써 암호화폐 제작자는 네트워크의 분산화 수준을 높입니다. 유용한 조언을 제공하거나 직접 편집할 수 있는 프로그래머와 사용자가 플랫폼 개발에 참여합니다. 커뮤니티는 기존 오류를 신속하게 식별합니다. 이를 통해 네트워크의 신뢰성이 높아지고 개발이 가속화됩니다.

많은 프로그램의 소스 코드는 특정 회사에 의해 개발되고 지원됩니다. 오픈소스 소프트웨어에는 다른 원칙이 적용됩니다. 여기서는 모든 사람의 역할이 중요합니다. 정보는 인터넷을 통해 무료로 배포되고, 컴퓨터에 다운로드되며, 사용자들이 연구할 수 있습니다. 정보가 공개되므로 프로젝트 작업이나 단점에 대한 의견이 매우 빠르게 나타납니다.

암호화폐의 소스 코드는 누구의 소유도 아니며, 이에 대한 권리도 없습니다. 비트코인이나 모네로를 소유한 회사는 없습니다. 이러한 분권화는 시스템, 시스템의 홍보, 개발에 많은 이점을 가져다줍니다. 소프트웨어 환경에서 가장 성공적인 사례 중 하나가 Linux 운영체제입니다. 오픈 소스이며 윈도우보다 더 안정적입니다.

비트코인의 오픈소스 코드의 이점은 단점보다 더 큽니다.

암호화폐와 소프트웨어 분야의 오픈 소스에는 많은 이점이 있습니다.

  • 고품질의 제품을 만들기 위한 인센티브. 프로젝트를 만들거나 개선하는 데 참여하는 모든 사람은 프로젝트를 개인적으로 사용하고 그로부터 이익을 얻기를 원합니다. 이러한 참여자는 행동의 자유를 누리며, 창작자의 계약적 의무나 요구 사항에 구속되지 않습니다. 
  • 장기적인 제품 지원. 모든 개발자는 언젠가는 자신의 프로젝트에 지쳐서 다른 것을 하고 싶어합니다. 그런 다음 그는 사업을 계속할 의향이 있는 후임자를 찾아야 합니다. 프로젝트에 새로운 솔루션을 도입하고, 수요를 늘리고, 품질을 개선하는 열광적인 사람들이 항상 있습니다.
  • 단순화의 가능성. 암호화폐의 소스 코드는 최고의 프로그래머들의 참여로 여러 번의 “편집”을 거친 이상적인 보안의 한 예입니다. 전문가 커뮤니티에서는 접근성이 버그를 신속히 제거하는 데 도움이 된다고 믿고 있습니다. 시간이 지남에 따라 제품은 최적화되고, 단순화되고, 통합되며 더욱 신뢰성이 높아집니다.
  • 버그 수정이 용이함. 개방성은 테스트나 디버깅의 어려움을 없애줍니다. 문제가 발생하면 오류를 해결할 준비가 된 열정적인 사람들이 항상 있습니다. 많은 네트워크 참여자가 버그를 발견하고 해결책을 제안합니다. 소스 코드가 닫히면 취약점을 찾아 수정하는 데 오랜 시간이 걸릴 수 있습니다. 
  • 완벽한 상호 연결. 참여자들의 상호작용 덕분에 개발자와 일반 사용자 간의 경계가 사라졌습니다. 소프트웨어를 사용한 모든 작업은 암호화폐 커뮤니티에서 모두 볼 수 있는 곳에서 이루어지며, 누구나 연구할 수 있습니다.

이상하게도 가장 큰 단점은 공격자가 정보를 얻을 수 있다는 것입니다. 그들은 시스템의 취약점을 쉽게 찾아낼 수 있다.

오픈소스는 좋은 것입니다. 작업 중에 사소한 버그가 발견되면 프로그래머는 곧바로 작업에 들어가 프로젝트 개발에 실현 가능한 기여를 합니다.

편집에 참여하지 않는 나머지 커뮤니티는 고품질의 제품을 즐깁니다. 무료 소프트웨어는 갑자기 등장하여 전문가 그룹이 프로젝트를 개발하기로 관심을 갖기 전까지는 누구나 사용할 수 있습니다.

BTC 스크립트

BTC 스크립트는 비트코인을 사용할 수 있는 조건을 정의하는 데 사용되는 프로그래밍 언어입니다. BTC 스크립트는 스택 기반입니다. 즉, 데이터와 명령은 수직 열에 쌓이고 작업은 스택의 맨 위에 있는 요소에 대해 수행됩니다. BTC 스크립트는 비트코인 ​​네트워크에서 다양한 유형의 거래를 만드는 간단하면서도 강력한 도구입니다.

비트코인의 모든 거래는 입력과 출력으로 구성됩니다. 입력은 보낸 사람이 사용하고자 하는 비트코인이 포함된 이전 출력을 참조하는 것입니다. 출력은 비트코인의 양과 비트코인을 미래에 어떻게 사용할지 결정하는 스크립트입니다. 출력에 있는 스크립트를 scriptPubKey라고 하고, 입력에 있는 스크립트를 scriptSig라고 합니다. 거래가 유효하려면 scriptSig와 scriptPubKey가 모두 true여야 합니다.

비트코인에서 가장 흔한 거래 유형은 P2PKH(공개 키 해시에 지불)입니다. 즉, scriptPubKey에 해시된 공개 키에 해당하는 개인 키를 알고 있는 사람만 비트코인을 사용할 수 있습니다. P2PKH에 대한 scriptPubKey의 예는 다음과 같습니다.

OP_DUP OP_HASH160 <pubKeyHash> OP_EQUALVERIFY OP_CHECKSIG

이 스크립트는 비트코인을 사용하려면 공개 키와 서명을 제공해야 하며, 이는 다음과 같은 방식으로 검증됩니다.

  • 스크립트는 OP_DUP 명령을 사용하여 스택의 맨 위에 있는 공개 키를 복제합니다.
  • 스크립트는 SHA-256과 RIPEMD-160의 두 가지 해싱 알고리즘을 사용하는 OP_HASH160 명령을 사용하여 공개 키의 한 사본을 해시합니다.
  • 스크립트는 OP_EQUALVERIFY 명령을 사용하여 수신된 해시를 scriptPubKey에 있는 해시와 비교합니다. 해시가 같으면 스크립트는 계속 실행되고, 그렇지 않으면 오류와 함께 종료됩니다.
  • 스크립트는 OP_CHECKSIG 명령을 사용하여 공개 키와 거래 해시를 사용하여 서명을 확인합니다. 서명이 유효하면 스크립트는 true를 반환하고, 그렇지 않으면 false를 반환합니다.

P2PKH에 대한 scriptSig의 예는 다음과 같습니다.

<자기> <공개키>

이 스크립트는 scriptPubKey에서 사용할 수 있도록 서명과 공개 키를 스택에 푸시합니다.

다른 유형의 비트코인 ​​거래에는 P2SH(스크립트 해시 지불), P2WPKH(공개 키 해시 증거 지불), P2WSH(스크립트 해시 증거 지불) 등 다양한 유형의 스크립트를 사용합니다. 이를 통해 다중 서명, 타임락, 해시된 비밀 등 비트코인 ​​사용에 대한 더욱 복잡한 조건이 허용됩니다. BTC 스크립트를 사용하면 비트코인은 다양한 사용 사례에 적응할 수 있는 프로그래밍 가능한 화폐가 됩니다.

BTC 스크립트의 장단점

BTC 스크립트의 장점으로는 다음과 같은 것들이 있습니다.

  • 단순성과 간결성. BTC 스크립트는 데이터 스택에서 순차적으로 실행되는 작은 명령 세트로 구성됩니다. 이로 인해 BTC 스크립트를 이해하고 분석하기가 쉽습니다. 더불어 변수, 루프, 분기 등 복잡한 데이터 구조가 필요 없어 작성과 디버깅이 더 쉽습니다.
  • 유연성과 힘. BTC 스크립트를 사용하면 다양한 요구와 상황에 맞게 비트코인 ​​사용 시나리오를 만들 수 있습니다. 예를 들어, BTC 스크립트는 여러 당사자가 비트코인을 사용하는 데 동의하도록 요구하는 다중 서명이나, 비트코인을 사용하는 데 대한 특정 시간 제한이나 조건을 설정하는 타임락을 구현할 수 있습니다. 또한 당사자 간 신뢰 없이도 비트코인을 교환할 수 있도록 해시된 비밀을 사용하거나 외부 데이터나 이벤트에 따라 복잡한 계약을 만들 수도 있습니다.
  • 안전성과 신뢰성. BTC 스크립트는 비트코인 ​​네트워크 상의 거래에 대해 높은 수준의 보안과 안정성을 제공합니다. BTC 스크립트는 해싱, 디지털 서명과 같은 암호화 알고리즘을 사용하여 거래의 진위성과 유효성을 확인합니다. BTC 스크립트는 거래가 블록체인에 포함되면 변경하거나 취소할 수 없으므로 위조나 사기의 가능성도 방지합니다. 또한 서비스 거부(DoS) 공격이나 재생 공격 등 네트워크를 남용하거나 방해하려는 공격으로부터도 보호합니다.

BTC 스크립트의 단점으로는 다음과 같은 것들이 있습니다.

  • 제한 및 비호환성. 이는 거래에 대한 더 복잡하고 고급 논리를 구현하는 것을 허용하지 않는 제한된 명령 세트를 갖고 있습니다. 예를 들어, BTC 스크립트는 루프, 분기, 부동 소수점 산술, 배열, 객체 및 보다 기능적이고 효율적인 계약을 만드는 데 유용할 수 있는 기타 데이터 구조를 지원하지 않습니다. 또한 BTC 스크립트는 Python, Java, C++ 등 비트코인 ​​기반 애플리케이션을 개발하는 데 사용할 수 있는 다른 프로그래밍 언어와 호환되지 않습니다. 이로 인해 비트코인을 사용하는 다양한 플랫폼과 서비스 간의 통합과 상호작용이 어려워집니다.
  • 복잡성과 불편함. BTC 스크립트는 개발자와 사용자의 높은 자격과 경험이 필요한 저수준 프로그래밍 언어입니다. 많은 프로그래머에게 익숙하지 않은 스택 아키텍처를 사용하기 때문에 이해하고 작성하는 것이 어려울 수 있습니다. BTC 스크립트는 디버거, 컴파일러, 테스터 등 표준 개발 도구가 없기 때문에 사용하기 불편할 수도 있습니다. 마지막으로, 잘못 작성되거나 적절하게 검증되지 않을 경우 비트코인이 손실되거나 도난당할 수 있는 버그와 취약점이 발생하기 쉽습니다.

BTC 스크립트 유형

이러한 모든 스크립트는 몇 가지 주요 유형으로 나눌 수 있습니다.

  1. 독립적인 스크립트. 이러한 기능은 특정 수도꼭지 사이트의 코드에 직접 내장되어 있으며 해당 사이트에서만 작동합니다. 예: CoinPouch, Bit21, Bitcoin Boom 대회. 1~2개의 리소스를 사용하는 데 적합합니다.
  2. 네트워크 스크립트. 이러한 스크립트는 여러 개의 봇을 한 번에 결합하여 다양한 플랫폼에서 동시에 작동합니다. 이런 경우에는 iMacros 확장 프로그램을 사용합니다. 예: BitcoinClickBot, Multicran. 이러한 캠페인은 많은 사이트를 포괄하므로 수익성을 크게 높일 수 있습니다.
  3. 독립형 스크립트. 이러한 BTC 스크립트는 독립형 프로그램이므로 사용자 개입 없이 백그라운드에서 실행될 수 있습니다. 정확한 사전 구성과 특정 리소스에 대한 바인딩이 필요합니다. 예: FreeBTC, BitBot.
  4. 대량 수집을 위한 스크립트. 이 제품은 40, 100, 심지어 1000개 사이트와 같은 매우 많은 수의 비트코인 ​​포싯과 동시에 작동하도록 설계되었습니다. 효과적이지만, 설치가 어렵습니다. 예: 1000 btc, BitBotPRO.

각 유형의 BTC 스크립트에는 고유한 특성이 있습니다. 선택 시 가장 중요한 것은 얼마나 많은 리소스를 사용할 계획인지, 그리고 어느 정도의 자동화가 필요한지 결정하는 것입니다. 이는 비트코인 ​​채굴의 최대 효율성을 위한 스크립트 유형을 결정합니다.

원래의,

암호,

비트코인,

BTC 스크립트,

언어,

프로그램 작성,

거래,

공공의,

열쇠,

해싱,

서명,

스크립트,

 기사 목록으로 돌아가기

От