본문 바로가기

Block Chain6

[Block Chain] Java 실습-3 core > BlockChainStarter package core; import java.util.ArrayList; public class BlockChainStarter { public static void main(String[] args) { // TODO Auto-generated method stub Block block1 = new Block(1, null, 0, new ArrayList()); block1.mine(); block1.getInformation(); Block block2 = new Block(2, block1.getBlockHash(), 0, new ArrayList()); block2.addTransaction(new Transaction("이승엽", "홍길동", 1.5.. 2022. 12. 21.
[Block Chain] Java 실습-2 core > BlockChainStarter package core; public class BlockChainStarter { public static void main(String[] args) { // TODO Auto-generated method stub Block block1 = new Block(1, null, 0, "데이터"); // 블록 아이디, 이전 블록의 해시 값, 채굴을 위한 정답, 블록에 들어가는 데이터 block1.mine(); block1.getInformation(); Block block2 = new Block(2, block1.getBlockHash(), 0, "데이터"); block2.mine(); block2.getInformation(); Block block3 = .. 2022. 12. 21.
[Block Chain] Java 실습-1 core > BlockChainStarter package core; import util.Util; public class BlockChainStarter { public static void main(String[] args) { // TODO Auto-generated method stub // STEP 1. 해시 알고리즘은 입력 값이 조금만 바뀌어도 결과는 완전히 다른 값이 나온다. 채굴의 원리는 이러한 눈사태 효과에서 출발한다. System.out.println(Util.getHash("이승엽")); // 0c2bc0396e93dcc356680303162ced49c0fe2fed31ed1da7753113e413a2c06a System.out.println(Util.getHash("이승엽1")); .. 2022. 12. 19.
[Block Chain] 암호화폐 그동안 블록체인에는 어떤 문제가 있었길래 세상에 나오지 못했던 걸까? 그리고 비트코인은 그 문제를 어떻게 해결했을까? 단체 대화방에 사람이 많으면 많을수록 거래는 안전하고 신뢰도 높아진다고 했다. 그렇기 때문에 사기 치는 것은 점점 불가능해진다. 하지만 문제는 어떻게 그 많은 사람을 단체 대화방에 모으느냐 하는 것이다. A와 B가 누군지도 모르는데 누가 남의 거래를 안전하게 해주려고 굳이 단체 대화방에 들어오겠는가? 사람이 없으면 블록체인은 사실 아무런 의미가 없는 기술이다. 사람을 모으려면 인센티브가 있어야 된다고 생각했다. 그것은 바로 돈이다. 현실에서 쓰는 진짜 돈을 주는 것이 아니고 이 시스템 안에서 만든 일종의 포인트 같은 것을 주는 것이다. 그게 바로 비트코인이다. 실제로 많은 사람들이 이 비.. 2022. 12. 1.
[Block Chain] 해시 블록체인에서 해시 함수가 하는 역할은 암호화이며 해시값 비교를 통해서 위변조 여부를 판별, 무결성 검증에 사용 비트코인의 블록체인에 사용된 해시 함수는 SHA(Secure Hash Algorithm)-256 해시 함수 1. 단방향 ABCD 입력 -> s1rw2ww2k1gf12bc04fvc12nzw2 (O) s1rw2ww2k1gf12bc04fvc12nzw2 입력 -> ABCD (X) 2. 한 글자만 달라져도 완전히 다른 값 AB 입력 -> e152zwqetyqwe1weffw12zgw26shqw AC 입력 -> ke16w2pwe123zymxnew102sm21z6 ABAC 입력 -> o1sw124n7sk5jbdk23jn21j6nh2w 사용자의 pw처럼 안전하게 저장되어야 하는 정보의 경우 Salting 작업으.. 2022. 12. 1.
[Block Chain] 쉽게 이해하기 메신저 대화방에 A와 B가 있다. A : B야 나 10만원만 빌려줘 B : 알았어 (B가 A에게 10만원을 보냈습니다.) B : 보냈어 A : 고마워 1달 후 B : A야 빌려간 돈 10만원 언제 줄 거야? A : 무슨 말이야? 내가 언제 돈을 빌려? B : 너 1달 전에 나한테 10만원 빌렸잖아 A : 아니 그런 적 없는데? B : 지난 대화 내용 봐봐 (B는 달이 바뀌면 지난달 대화방을 지우는 습관이 있다.) (A 또한 B에게서 돈을 빌린 기록을 지우기 위해 자신의 대화방의 내용을 지웠다.) A : 아니 그런 내용 없어 B : 야 너 나한테 이러면 안되지.. A : 아무튼 난 모르는 일이야 B는 메신저 본사 중앙 서버에 기록이 저장되어 있지 않을까 하고 메신저 본사에 찾아간다. 하지만 A는 메신저 본.. 2022. 11. 30.