2017-12-18 1 views
1

블록 체인 (blockchain)이 새로운 뜨거운 것으로 보이고 프로그래머의 관점과 다른 점이 궁금합니다.블록 체인 프로그래밍은 일반 프로그래밍과 어떻게 다릅니 까?

솔리드 력 (Solidity)을 사용하는 것처럼 객체 지향 원칙을 적용하지 않습니까? 루비와 어떻게 다른가요? 계약 지향 프로그래밍은 기본적으로 객체 지향 프로그래밍과 같지만 돈 (Solidity, Ether의 경우)이 관련되어 있습니까?

또는 아마도 그것들은 비슷합니다. 블럭 체인 프로그래밍은 트러스트가 없으므로보다 투명하고 안전합니다.

결론 이제 막 프로그래밍 기술을 블록 체인으로 전환하는 방법에 대해 머리를 쓰려고합니다. 감사.

+0

스마트 계약을 프로그래밍처럼 더 소리 무슨 말을하는거야. Solidity는 현명한 계약을 맺는 데 사용되는 또 다른 프로그래밍 언어입니다. Javascript와 비슷합니다. – DFord

답변

2

저는 Public Blockchain 프로그래밍에 관심이 있다고 가정합니다. Ethereum이 가장 널리 사용 가능하기 때문에 "Blockchain Programming"은 공개 블록 체인 네트워크에서 프로그래밍을 참조 할 것입니다. 공공 blockchain 네트워크를 프로그래밍 할 때

는 우려의 다양한 있습니다

  1. 불변성 : 이것은 선물과 대중 blockchain의 저주입니다. 원장에게 커밋 한 내용은 pull으로 쉽게 수정할 수 있습니다. 따라서 첫 번째 시도에서 올바르게 진행하는 데 특별한주의를 기울여야합니다.
  2. 보안 : 귀하의 코드는 전세계에 공개됩니다. 이 투명성은 또한 악의적 인 행위자 (또는 지나치게 풍부한 초보자)가 심각한 피해를 입힐 수있는 문을 열어줍니다. THE DAOParity Hack을 참조하십시오.
  3. 신뢰 계층 : 블록 체인 프로그래밍은 OSI 모델에 추가 "신뢰 계층"을 추가합니다. 따라서 대부분의 애플리케이션 로직은 블록 체인에서 구동됩니다. 그런 다음 다른 중개자 (Ethereum의 경우 Web3)를 사용하여 응용 프로그램 계층과 통신 한 다음이를 경험 계층에 연결해야합니다.
  4. 가스 (또는 그와 동등한 것) : ethereum의 경우 "무한 루프 공격"을 방지하기 위해 가스 개념이 도입되었습니다. (i) 애플리케이션을 실행하는 데 드는 비용이 매우 비쌉니다. (Ethereum은 현재 820 달러입니다. (ii) 프로그래밍을 위해서는 각 작업의 계산 비용을 자세히 알아야합니다.
  5. put :.. 네트워크의 모든 노드가 작업 Cryto Kitties를 참조하십시오 실행하는 등 공공 blockchains 전체 네트워크에 전파되는 트랜잭션을 필요로 이것은

이 목록은 지금까지 철저한로부터, 대기 시간을 소개합니다,하지만 난 그것을 시작하겠습니다 그 차이점을 밝히고 여행을 돕습니다.

참고 :