의견.png

포크 (개발)

위키원
Asadal (토론 | 기여)님의 2019년 8월 1일 (목) 21:11 판
이동: 둘러보기, 검색

포크(fork)란 개발자들이 하나의 소프트웨어 소스코드를 통째로 복사하여 독립적인 새로운 소프트웨어를 개발하는 것을 말한다. 오픈소스 소프트웨어의 경우 소스 코드가 공개되어 있고, 통째로 복사하는 것이 허용되는 라이선스를 따르기 때문에, 원저작자의 허가 없이 포크를 통한 새로운 소프트웨어 개발이 가능하다.

레드햇 리눅스(RHEL)를 포크하여 센트오에스(CentOS)가 생겼고, 데비안(Debian)을 포크하여 우분투(Ubuntu)가 생겼고, 마이에스큐엘(MySQL)을 포크하여 마리아디비(MariaDB)가 생겼고, 아이바티스(iBatis)를 포크하여 마이바티스(MyBatis)가 만들어졌다.

최초의 암호화폐인 비트코인(bitcoin)의 소스 코드를 참고하여, 이더리움(ethereum), 리플(ripple), 라이트코인(litecoin) 등 다양한 알트코인(altcoin)들이 생겨났다.

포크의 종류에는 프로그램의 기본적 기능을 수정하는 하드포크(hard fork)와 일부 기능을 개선하는 소프트포크(soft fork)가 있다. 비트코인을 하드포크하여 비트코인캐시(Bitcoin Cash)와 비트코인골드(Bitcoin Gold)가 생겨났다. 비트코인캐시를 하드포크하여 비트코인에스브이(BitcoinSV)가 생겨났다. 2016년 이더리움을 하드포크하여, 기존 이더리움을 이더리움 클래식이라고 부르고, 새로 포크한 체인을 이더리움이라고 부른다.

하드포크와 소프트포크 비교

항목 소프트포크 하드포크
기존 체인 관계 - 기존 체인과 결합

- 기존 체인 재사용

- 영속적 분기

- 기존 체인 부정

규칙 변경 목적 - 단순 오류 수정

- 소규모 업데이트

- 기능개선, 오류정정

- 문제점 보완

업데이트 강제성 - 블록 생성 노드만 업데이트 필요 - 모든 참여 노드 업데이트 필수
컨센서스 필요성 - 참여 노드 합의 불필요 - 참여 노드 합의 필요
기존 버전 호환성 - 기존 블록체인과 호환(동시사용) 가능 - 기존 블록체인과 호환 불가

같이 보기


  의견.png 이 포크 (개발) 문서는 블록체인 기술에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.