ํด๋น ํ๋ก์ ํธ๋ ์์ฌ ์ฐ๊ตฌ๊ณผ์ ์ค, ํ ํ๋ก์ ํธ๋ก ๋ธ๋ก์ฒด์ธ ํฉ์์๊ณ ๋ฆฌ์ฆ์ ์๋กญ๊ฒ ์ค๊ณํ ํ๋ก์ ํธ์ ๋๋ค.
- ์ฐธ์ฌ์ธ์ : 2์ธ ํ(๊ณต๋ ํ์ฅ ์ญํ )
- ๊ธฐ๊ฐ : 2021๋ 09์ ~ 2021๋ 10์(1๊ฐ์)
- ๋์ ์ญํ
- ๐ ๊ธฐ์กด ์๋์ง ๊ฑฐ๋ ๋ฐฉ์ ํ๊ณ์ ๋ถ์
- โ๏ธ 2-stage ํฉ์ ์๊ณ ๋ฆฌ์ฆ ์ค๊ณ
- Github : https://github.com/ghkdqhrbals/blockchain-with-python
๐ ๊ธฐ์กด ์๋์ง ๊ฑฐ๋ ๋ฐฉ์ ํ๊ณ์ ๋ถ์
ํ๊ณ์ ๋ฐ ์ ์ํ๋ ๋ธ๋ก์ฒด์ธ ํ๋ซํผ
1. ๊ธฐ์กด ์๋์ง ๊ฑฐ๋ ๋ฐฉ์ ํ๊ณ์
- ํ๊ตญ ์ ๋ ฅ ๊ณต์ฌ์ ๊ณ์ฝ ๋ ์
- ๊ณ์ฝ ๋ฌด๊ฒฐ์ฑ ์นจํด ์ํ ์กด์ฌ
- ๊ณ์ฝ ์์๋ฃ ๋ฐ์
- ์๋ํ ๊ณ์ฝ์ผ๋ก ์ธํ ๋นํจ์จ์ฑ
2. ์ ์ํ๋ ์๋์ง ๊ฑฐ๋ ๋ธ๋ก์ฒด์ธ ํ๋ซํผ
- ์ง์์ ์ผ๋ก ๋ณํ๋ ๋ธ๋ก ์ฑ๊ตด์์๊ฒ ๊ณ์ฝ ์์
- ๊ณ์ฝ ๋ฌด๊ฒฐ์ฑ ๋ณด์กด
- ์ฑ๊ตด์์๊ฒ ๊ณ์ฝ ์์๋ฃ ์ง๊ธ
- ์๋ํ ๊ณ์ฝ์ผ๋ก ์ธํ ํจ์จ์ฑ
โ๏ธ 2-stage ํฉ์ ์๊ณ ๋ฆฌ์ฆ ์ค๊ณ
2-stage ํฉ์ ์๊ณ ๋ฆฌ์ฆ
1. ํธ๋์ ์ ์ค๊ณ
- Not signed by Supplier : ํธ๋์ญ์ ์ ์ก
FROM(ID) | ENERGY | MONEY | TO(ID) | signature1 | signature2 | Fee |
---|---|---|---|---|---|---|
Amy | 50 | 41$ | M1 | Sig(Amy, Tx1) | NULL | 5% |
Bob | 30 | 22$ | M3 | Sig(Bob, Tx2) | NULL | 7% |
Chen | 20 | 56$ | M2 | Sig(Chen, Tx3) | NULL | 3% |
โฆ | โฆ | โฆ | โฆ | โฆ | โฆ | โฆ |
- Signed by Supplier : ์๋ช ํ ํธ๋์ญ์ ์ ๋ด๊ธฐ
FROM(ID) | ENERGY | MONEY | TO(ID) | signature1 | signature2 | Fee |
---|---|---|---|---|---|---|
Amy | 50 | 41$ | M1 | Sig(Amy, Tx1) | Sig(M1,Sig(Amy,Tx1)) | 5% |
Bob | 30 | 22$ | M3 | Sig(Bob, Tx2) | Sig(M2,Sig(Bob,Tx2)) | 7% |
Chen | 20 | 56$ | M2 | Sig(Chen, Tx3) | NULL | 3% |
โฆ | โฆ | โฆ | โฆ | โฆ | โฆ | โฆ |
2. 2-stage consensus algorithm
- ๋ธ๋ก ์์ฑ์ ๊ฒฐ์
๐๐๐๐๐=๐๐๐ฅ_๐ด๐๐๐ (โ๐๐ โ(๐๐๐๐ฃ๐ต๐๐๐๐๐ป๐๐ โ,๐ด๐๐๐)
- ๋ธ๋ก ์๊ฒฐ
โ(0<๐<๐)๐ ๐ธ100_๐^๐๐๐๐๐ โฅ2/3 ๐ ๐ธ100_๐ก๐๐ก๐๐
3. ํ๋กํ ํ์ ๊ฒฐ๊ณผ