Inspiration
여러 사람이 큰 돈을 단 시간에 모아 차익을 얻는 계는 계주 라는 중앙 사람이 대부분의 권한을 가지고 돈을 들고 도망칠수 있는 위험이 크다. 이러한 문제를 해결하기 위해 분산형 블록체인 시스템을 도입해 분산형 계 시스템 제작하였습니다.
What it does
공동 Seed money 생산 시스템인 한국의 '계' 시스템을 블록체인 하이콘을 사용하여 분산형 공동 Seed money 생산 시스템 '잭의 기회' 를 제작 하였습니다. 기본적으로 '계' 란, 초기에 Seed Money 가 크면 수익이 크다는 것에서 착안한 시스템입니다. 간단히 정리해보자면 아래와 같은 시스템입니다.
A B C D 라는 사람이 계에 참가 한다고 가정합시다.
- 매달 25만원씩 수금한다고 가정 합니다.
- 모든 사람이 일정 주기로 같은 양의 돈을 공동 계좌에 부여합니다.
- 1달에 1번씩 A B C D 가 돌아가면서 공동 계좌의 모든 돈을 가져갑니다.
1달에 25 만원을 투자하여 100만원의 투자 이익(+이자) 을 가져 가게 됩니다.
모든 사람들이 다시 돈을 25만원씩 모두 공동 계좌에 부여 합니다.
2번째 달에 B 는 누적 50만원을 투자하여 100만원의 투자 이익(+이자)를 가져 가게 됩니다.
모든 사람들이 다시 돈을 25만원씩 모두 공동 계좌에 부여 합니다.
3번째 달에 C 는 누적 75만원을 투자하여 100만원의 투자 이익(+이자)를 가져 가게 됩니다.
모든 사람들이 다시 돈을 25만원씩 모두 공동 계좌에 부여 합니다.
4번째 달에 D 는 누적 100만원을 투자하여 100만원의 투자 이익(+이자)를 가져 가게 됩니다.
결국, 1 사이클이 완료 되었을때, A B C 는 모두 100 만원 보다 적은 목돈으로 100만원 + 이자 만큼의 이익을 빠르게 가져갈 수 있습니다. D 또한 100만원을 투자하여 100만원의 투자 이익과 이자를 얻게 됩니다.
결국 모든 사람들이 이익을 얻게 되는 구조가 됩니다.
이 '계' 는 중앙의 계주가 모든 계좌에 대한 권한을 가지고 있어 돈을 가지고 도망갈 수 있습니다. 이러한 '계'의 중앙 집권적 성격을 블록체인을 이용하여 보안성을 늘리고 한명이 모든 권한을 가지고 있는게 아닌 모든 사람이 권한을 가지고 있어서 투명하고 공정한 '계' 를 만들 수 있습니다.
How we built it
공동의 계좌를 Hycon Wallet 을 이용하여 저장합니다. 이 Wallet 에 모두 같은 양의 Hycon 을 보내고, 일정 시간 이후 랜덤으로 정해진 순서로 투자한 사람들이 목돈을 가져가게 됩니다. 이 모든 블록체인 네트워크는 Hycon Core API 를 사용하였습니다.
router.post('/send_coin', (req, res) => {
const privateKey = req.body.privateKey;
const from = req.body.from;
const to = req.body.to;
const amount = req.body.amount;
axios.post('http://localhost:2442/api/v1/signedtx', {
privateKey : privateKey,
from : from,
to : to,
amount : amount,
fee : 0.0001
})
.then(response => {
db.connectDB().then(
quest_info.update_current_coin(to, from)
.then(result => res.status(200).json(result))
.catch(err => {console.log('where err : ' + JSON.stringify(err));
res.status(err.status).json({message: err.message});
})
)
})
.catch(err => {console.log('here err : ' + JSON.stringify(err));
res.status(err.status).json({message: err.message});
})
});
router.post('/receive_coin', (req, res) => {
// const privateKey = req.body.privateKey;
// const from = req.body.from;
const to = req.body.to;
const room_wallet = req.body.room_wallet;
const amount = req.body.amount;
db.connectDB().then(
quest_info.get_one_quest(room_wallet)
.then(result => {
if(result.selected_person === to){
axios.post('http://localhost:2442/api/v1/signedtx', {
privateKey : real_config.hycon_config.ADMIN_PRIVATEKEY,
from : real_config.hycon_config.ADMIN_ADDRESS,
to : to,
amount : amount,
fee : 0.0001
})
.then(response => {
res.status(200).json(response.data);
})
.catch(err => console.log(err))
}else{
res.status(500).json({message: 'Invalid Person'});
}
})
)
});
위와 같은 코드로 블록에 저장된 하이콘을 지정된 사람에게만 전달하게됩니다.
Challenges we ran into
Hycon Core API 에 스마트 컨트렉트 기능이 없어서 결국 mongoDB 를 사용할수밖에 없었습니다. 계에 어느 사람들이 있는지, 이번에 누가 돈을 받아야 하는지, 어느 시점에서 돈을 꺼낼수 있는지에 대한 정보가 아직 Hycon Core API 에 스마트 컨트렉트 기능이 없는 관계로 mongoDB 로 하였지만 이는 추후 Hycon Core API 가 Update 될 경우 스마트 컨트렉트 기능으로 전환하여 더 보안성이 높은 시스템을 구축할 수 있습니다.
Accomplishments that we're proud of
분산형 공동 Seed money 생산 시스템 '잭의 기회' 는 기존 중앙 집권적인 계주의 성격을 지워버리고 이 모든 권한을 Block Chain , Hycon Core API 를 사용하여 '계'에 저장된 돈이 계주에 의해 탈취 당하지 않을 수 있게 됩니다.
What we learned
한국형 공동 Seed Money 시스템인 '계'의 한계를 Hycon 을 접목시키는 과정에서 블록체인이 어떻게 작동하고, 사회에 어떻게 기여할수 있는지 알 수 있었습니다.
What's next for 잭의 기회
Hycon mongoDB 로 하였지만 이는 추후 Hycon Core API 가 Update 될 경우 스마트 컨트렉트 기능으로 전환할 생각입니다. 또한 분산형 투자가 '계' 에만 있는 것이 아닙니다.
분산형 안정적 공동 채권 투자, 소액형 주택 공동 투자 등에도 저희 '잭의 기회' 가 적용되어 더욱 투명한 한국의 투자 시장이 펼쳐지도록 노력할것입니다.
Built With
- android
- blockchain
- hyconapi
- java
- kotlin
- mongodb
- node.js
Log in or sign up for Devpost to join the conversation.