Design & implement slashing rules for missing pre-images, Bye Bye 2020, A partnership with BRI, etc.

Monthly Report December 2020

Jan 13 · 14 min read


Image for post

2020 is officially done and the BOSAGORA team is incredibly happy with the progress made during the past year. The biggest announcement the development team has to announce is that after a year of development we have successfully completed our validators. The next focus for the development team will be development of our Flash Layer, CoinNet, Trust Contracts, and Slashing Protocol. Additionally we will be providing support to the rest of the company that is working to expand the BOSAGORA ecosystem.

The following is a summary of last months development activity and items that are currently still under development:

Core Development in December:

Monthly Activity:

Last month we had 33 Agora related pull-requests and 40 active issues. Of which:

  • 6 pull request were opened
  • 27 pull requests merged
  • 15 new issues
  • 25 issues closed

Functionality Developed:

Implement get UTXOs function #51 (BOA-SDK, Feature)

This piece of BOA-SDK functionality was developed by Henry during the first part of December. This BOA-SDK feature was added because we needed to give our SDK the ability to return UTXOs for a given public key. This feature requests a public key from Stoa and then returns the corresponding UTXOs.

Please refer to the Github link below for more information:

Implement shell function to provide transactions details of specific address #212 (Stoa, Feature)

This piece of Stoa functionality was developed by Michael during the first part of December. This Stoa feature was added due to an urgent need that came up from our BOA wallet development. Our wallet required us to build in the ability to fetch transaction details from specific addresses using Stoa. In order to maintain our deadlines for both Agora and the BOA wallet, this had to be implemented mid-sprint.

Please refer to the Github link below for more information:

Flash Layer PoC v1.0 (Agora, Feature)

This piece of Agora functionality was developed by Drey during the first part of December. We have finally completed v1.0 of our Flash Layer PoC. We added the following features to the PoC:

  • Currently enables direct payment channels.
  • Collaborative and unilateral channel closures are both supported.
  • Flash nodes monitor the blockchain. If a trigger transaction of the node’s channel is detected in the blockchain, it immediately publishes the latest update transaction.
  • Once the update’s transaction timeout expires, the node publishes the associated settlement transaction.

Our Flash Layer is still a long from being complete and we plan on creating the following features in the immediate future:

  • Multi-hop indirect channels using Hashed Locked Time Locks.
  • Channel routing for indirect channel support.
  • Multi-party channel funding (more than 2 users per channel).
  • Invoicing & QR code payment support.
  • API finalization & usage documentation.

Implement support for non-interactive threshold signatures (linear complexity, not MuSig) #1428 (Basic Script Execution Engine, Feature)

This piece of Flash Layer functionality was developed by Drey during the second part of December. As of today, there are only a few (maybe just one?) non-interactive Schnorr threshold signature schemes that exist. One of them is MuSig. Since implementing support for MuSig is non-trivial it’s not a bad idea to implement a stop-gap measure by adding support for multi-sigs in the same way as Bitcoin’s CHECK_MULTI_SIG.

Please refer to the Github link below for more information:

Design & implement slashing rules for missing pre-images #1076 (Slashing Protocol, Feature)

This piece of Slashing Protocol functionality was developed by Jay during the second part of December. Currently, we are building rules based on the availability of pre-images: signature scheme and quorum balancing. We also have a timer in place to ensure our pre-images are available long before we need them. Now we need to add a way to detect and log whenever pre-images are missing, decide on a policy of what to do with it, and implement it.


The first step is to detect whenever we are missing a pre-image. This will allow us to make sure we have everything properly implemented at the moment. Once this is the case, we can move on to writing a test case. That test case should have at least one node in the network doing the following:

  • (A) Never send any pre-image after its initial enrollment;
  • (B) Only send one pre-image after enrolling then no more;
  • © Send pre-image for half of its cycle (potentially in one burst) then stop sending pre-image;
  • (D) Send pre-image for half its cycle, stop it for a quarter of the cycle, resume until the end; Those 4 situations should be tested independently, so not during the same cycle, and not using the same utxo key / public key.

This will allow us to see how the network currently behaves when faced with those situations, and correct any remaining issue.

Policy Decision

Once we have that basis in place, we will need to come up with the slashing policy for missing pre-images. As discussed in the previous meetings, missing pre-images is one of the gravest mistakes a validator can commit, short of outright hostile actions (such as signing two blocks for the same height).

The following was discussed before any implementation took place:

  • Gradual punishment for validators missing to relay their pre-image, so that they still have an incentive to come back and propagate them if they miss a deadline. The more pre-images, the safer the randomness function.
  • Applying a loss-of-income penalty to the quorum: this gives a strong incentive to the quorum to keep and propagate pre-images for nodes in their quorum, ensuring that they will not simply ignore them to maximize the penalty of a validator;

Please refer to the Github link below for more information:

Expose a basic API #15 (Faucet, Feature)

This piece of Faucet functionality was developed by Ku Chul during the second part of December. The faucet should expose a basic API so it can be called from a frontend service (website) to make Transactions. Additionally, some functionality could be useful for debugging or management.

The basic API is comprised of:

  • GET /utxos => Return an array of all UTXOs known;
  • POST /send?recv=KEY&amount=1234: Send amount BOA to KEY, using owned UTXOs;

Please refer to the Github link below for more information:

Schnorr multi-signature of blocks #1319 (Block Creation, Feature)

This piece of Validator functionality was developed by Chris during the second part of December. Node operators now have the ability to perform Schnorr multi-signatures for the block signature. In order for this event to take place more than half the validators must sign a block that has reached consensus before it will be externalized.

Validators “gossip” their block signatures after the block is externalized, which means that even after consensus is reached, and the block is externalized, more validators can add their signature to the block.

Please refer to the Github link below for more information:

Ongoing Validator Development:


Bye Bye 2020 by BOSAGORA

Image for post

The eventful year of 2020 has passed and 2021 has come. BOSAGORA has released a video clip sharing the achievements of the past year with the community and pledging to make 2021 better. I hope you all have a healthy and wonderful New Year.

View Bye Bye 2020 Video

BOSAGORA, BRI and Strategic Partnership

Image for post

In January last year, based on the relationship with Don Tapscott at the Geneva Blockchain Congress, We formed a strategic partnership with the Blockchain Research Institute (BRI), an organization under the Tapscott Group, in December.

BRI is a specialized blockchain research organization of The Tapscott Group, which is comprised of more than 100 government, global companies and educational institutions worldwide, and delivers essential insights to members of various industries based on BRI think tanks’ research on how to utilize blockchain.

After a strategic alliance with BRI, We hired Don Tapscott, the author of “Paradime Shift” and “Blockchain Revolution” and one of North America’s most prominent management consultants and blockchain management thinkers, as an advisor of BOSAGORA.

BOSAGORA will work harder to grow into an industry-leading global project.

View the content:

BOSAGORA Partnership with RNS

Image for post

BOSAGORA has partnered with RNS, a blockchain and software development company, to help develop projects more efficiently. RNS specializes in blockchain, cybersecurity, and artificial intelligence development, and it has expertise in blockchain development from wallet development to Explorer, STO platform, nano ledger, DApp, D.P. and blockchain network development.

BOSAGORA will work with RNS to develop a more complete blockchain platform environment.

View the content:

Participation in UN Global Compact

Image for post

BOSAGORA became the Global Network Ambassador for the Open Climate Collaboration in October last year, joining the movement to address global climate issues. In addition, we became a full member of the UN Global Compact (UNGC) in December and actively participated in the movement to improve the lives of the Earth and mankind.

The U.N. Global Compact is a global unit move that calls for the universal principles, strategies, and practices of human rights, labor, environment, and anti-corruption of businesses, with more than 12,000 companies in 160 countries including BOSAGORA participating in the global alliance.

BOSAGORA will take on the activities of the U.N. Global Compact to achieve a ‘better world’.

View the content:

BOSAGORA Wins Minister of Employment and Labor Award

Image for post

BOSAGORA won the 2020 Moneytoday Future Creative Superiority Company & Ministry of Employment and Labor Minister Prize for the Blockchain Platform sector in December. We will do our best to achieve better results in development and business in 2021.

View the article:

AMA: CoinValue

Image for post

In December, BOSAGORA signed a strategic partnership with BRI and became a full member of the U.N. Global Compact (UNGC) to continue its activities that are key to BOSAGORA’s vision and ecosystem. Afterwards, CoinValue and AMA were held to address questions about partnerships with BRI and the positive effects of Don Tabscott’s recruitment of advisors, as well as questions from the community on the link between SDG activities and the ecosystems. Through continuous AMAs, we will actively communicate and respond to new partnerships and development achievements.

AMA Recap.:

Tech Trends

Image for post

Tech Trends is a column by BOSAGORA that looks at the technology and trends of the blockchain industry, In December 17 and 18 were released. Please check the link for details.

Tech Trend Column 17: ‘The Tools of Democracy: Unpackaging the Components of BOSAGORA’s Congress Network’

Tech Trend Column 18: Unlocking the Potential of the Smart Contract Ecosystem


Image for post

2020년이 저물었습니다. 보스아고라 팀은 12월, 지난 1년 동안의 개발 목표치를 달성하며 만족스럽게 한 해를 마무리했습니다. 지난 한 해 동안의 개발 성과 중 아고라팀이 뽑은 가장 우수한 성과는 단 1년 만에 개발을 완료한 Validator 개발이었습니다. 개발팀의 다음 목표는 Flash Layer, CoinNet, Trust Contracts 및 Slashing Protocol의 개발입니다. 더불어, BOSAGORA 생태계의 확장에 도움이 되는 외부 파트너사 및 기업들에게 개발 지원을 제공할 것입니다.

아래는 지난달 개발 활동 및 현재 개발 중인 항목을 요약한 것입니다.

12월 코어 개발:
월간 활동:
지난달에는 33개의 Agora 관련 풀 요청과 40개의 활성 이슈들이 있었습니다. 대상:

  • 6개의 풀 오픈 요청
  • 27개의 풀 요청이 병합
  • 15개의 새로운 이슈
  • 25개 이슈 마감

개발된 기능:
Get UTXOs 기능 구현 #51(BOA-SDK, 기능)

해당 BOA-SDK 기능은 Henry가 12월 초에 개발했습니다. 이 BOA-SDK 기능은 주어진 공개 키에 대해 UTXO를 반환할 수 있는 기능을 SDK에 제공하기 위해 추가되었습니다. 이 기능은 Stoa에 공개키를 요청한 다음 해당 UTXO를 반환합니다.

자세한 내용은 아래 Github 링크를 참조하십시오.

#212 특정 주소의 트랜잭션 상세 정보를 제공하는 셸 기능 구현 (Stoa, Feature)

해당 스토아 기능은 마이클이 12월 초에 개발했습니다. 이 기능은 BOA 지갑에서 Stoa를 사용하여 특정 주소에서 거래 세부 정보를 가져올 수 있는 기능을 추가하는 것이었습니다. Agora와 BOA 지갑에 대한 마감 기한을 유지하기 위해 스프린트 중간에 긴급하게 진행되었습니다.

자세한 내용은 아래 Github 링크를 참조하십시오.

Flash Layer PoC v1.0(Agora, 기능)

이 아고라 기능은 드레이가 12월 초에 개발했습니다. 드디어 Flash Layer PoC의 v1.0을 완료했고 다음과 같은 기능을 PoC에 추가했습니다.

  • 직접 결제 채널을 사용할 수 있습니다.
  • 협력적 채널 폐쇄와 일방적 채널 폐쇄가 모두 지원됩니다.
  • 플래시 노드는 블록을 모니터링합니다. 노드 채널의 트리거 트랜잭션이 블록체인에 감지되면 즉시 최신 업데이트 트랜잭션을 게시합니다.
  • 업데이트의 트랜잭션 제한 시간이 만료되면 노드는 관련 정산 트랜잭션을 게시합니다.

Flash Layer는 아직 완성되지 않았으며, 가까운 시일 내에 다음 기능을 생성할 계획입니다:

  • 해시락의 잠금 시간을 사용하는 멀티홉 간접 채널
  • 간접 채널 지원을 위한 채널 라우팅
  • 다자간 채널 자금 지원(채널당 사용자 2명 이상)
  • 송장 및 QR 코드 결제 지원
  • API 완료 및 사용 설명서

#1428 Non-interactive threshold signatures 지원 (MuSig가 아닌 선형 복잡성) (기본 스크립트 실행 엔진, 기능)

해당 플래시 계층 기능은 Drey가 12월 중반 이후에 개발했습니다. 현재, 비 대화형 Schnorr 임계값 서명 체계는 몇 개(아마도 한 개) 밖에 존재하지 않습니다. 그중 하나가 MuSig입니다. MuSig에 대한 지원을 구현하는 것은 간단한 일이 아니기 때문에, Bitcoin의 CHECK_MULTI_SIG와 동일한 방식으로 멀티 SIG에 대한 지원을 추가하여 임시방편으로 구현하는 것도 좋습니다.

자세한 내용은 아래 Github 링크를 참조하십시오.

#1076 누락된 프리이미지 에 대한 슬래싱 규칙 설계 및 구현 (슬래싱 프로토콜, 기능)

Slashing Protocol의 기능은 Jay가 12월 중반 이후에 개발했습니다. 현재, 우리는 프리이미지의 가용성과 서명 체계 그리고 쿼럼 균형에 기초하여 규칙을 만들고 있습니다. 또한 프리이미지가 필요하기 훨씬 전에도 이들이 가용하다는 것을 알려주기 위해 타이머를 구비하고 있습니다. 이제 프리이미지가 누락될 때마다 탐지하고 기록하는 방법을 추가하고, 처리 방안에 대한 정책을 결정하여 구현해야 합니다.


첫 번째 단계는 프리이미지가 누락될 때마다 감지하는 것입니다. 이를 통해 모든 것을 적절하게 구현할 수 있을 것입니다. 이런 상황이 발생하면, 테스트 케이스를 먼저 실행해 볼 수 있습니다. 이 테스트 케이스는 네트워크에 다음 작업을 수행하는 노드가 하나 이상 있어야 합니다.

(A) 최초 등록 후 프리이미지를 전송하지 마십시오.
(B) 등록 후 프리이미지 1장만 전송, 그 이상 전송하지 마십시오;
(C) 사이클의 절반 동안 사전 영상을 전송한 다음(잠재적으로 한 버스트에) 사전 영상 전송을 중지합니다.
(D) 반주기 동안 사전 영상을 전송하고, 4분의 1 주기 동안 정지시킨 후, 종료될 때까지 재개합니다. 이러한 4가지 상황은 동일한 사이클 동안 또는 동일한 utxo 키/공용 키를 사용하지 않도록 독립적으로 시험해야 합니다.

이를 통해 이러한 상황에 직면했을 때 네트워크가 어떻게 작동하는지 확인하고 나머지 문제를 해결할 수 있습니다.

정책 결정

일단 그러한 근거를 준비되면, 우리는 누락된 프리이미지에 대한 삭감 정책을 마련해야 합니다. 이전 회의에서 논의된 바와 같이, 프리이미지 누락은 검증자가 저지를 수 있는 가장 심각한 실수 중 하나이나, (같은 높이에 두 블록을 서명하는 것과 같은) 적대 행위와는 거리가 멉니다.

구현 전, 다음 사항에 대해 논의했습니다:

  • 검증자가 프리이미지를 전달하지 못할 때 발생하는 점진적인 처벌로 인해 검증자들이 마감 시기를 놓쳤을 때 다시 돌아와 전파할 동기를 부여합니다. 사전 영상이 많을수록 임의성 기능이 안전해집니다.
  • 쿼럼에 손실 페널티 적용: 쿼럼에 강력한 인센티브를 부여하여, 쿼럼 내에서 노드를 위한 프리이미지를 유지하고 전달하도록 하는데, 이는 쿼럼이 손실을 무시하여 밸리데이터 페널티를 극대화하는 것을 막아줍니다.

자세한 내용은 아래 Github 링크를 참조하십시오.

#15 기본 API (소스, 기능) 노출

이 Faucet 기능은 구철이 12월 중반 이후에 개발했습니다. Faucet은 트랜잭션을 만들기 위해 프런트엔드 서비스(웹 사이트)에서 호출할 수 있도록 기본 API를 노출해야 합니다. 또한 일부 기능은 디버깅 또는 관리에 유용할 수 있습니다.

기본 API는 다음과 같이 구성됩니다.

  • GET/utxos > 알려진 모든 UTXO를 반환합니다.
  • POST/send?recv = KEY&금액 =1234: 소유 UTXO를 사용하여 BOA 금액을 KEY로 전송;

자세한 내용은 아래 Github 링크를 참조하십시오.

#1319 Schnorr 다중 서명 블록 (블록 생성, 기능)

이 Validator 기능은 Chris가 12월 중반에 개발했습니다. 이후, 노드 운영자는 블록 서명에 대해 Schnorr 다중 서명을 수행할 수 있게 되었습니다. 이 이벤트가 절반 이상 진행되려면 검증자가 외부화되기 전에 합의에 도달한 블록에 서명해야 합니다.

유효성 검사자는 블록 외부화 후 블록 서명을 “gossip”하며, 이는 합의가 이루어지고 블록 외부화가 이루어진 후에도 더 많은 유효성 검사자가 블록에 서명을 추가할 수 있음을 의미합니다.

자세한 내용은 아래 Github 링크를 참조하십시오.

지속적인 검증자 개발:

  • #1419 HLC를 통한 간접 결제 채널 구현
  • #1266 플래시 계층 연구 및 개발
  • #1432 현재 Agora가 Vibe.d 오류로 실패함
  • #1348 유명한 KeyPair에서 TxBuilder 분리
  • #1382 JSON 이진 직렬화보다 지능적인 포맷 사용
  • #1278 너무 큰 input에 아고라 충돌
  • #1444 슬래싱 정보 유효성 검사
  • #93 “전환” 페이지에 대한 요구 사항 지갑 추가
  • #78 Agora / Stoa를 다시 시작하기 위한 알림 설정


Bye Bye 2020 by BOSAGORA

Image for post

다사다난했던 2020년이 저물고 2021년이 다가왔습니다. BOSAGORA는 지난 한 해의 성과를 커뮤니티와 공유하고 더 나은 2021년을 만들기 위해 다짐하는 영상을 공개했습니다. 모두 건강하고 멋진 새해를 맞이하시기 바랍니다.

Bye Bye 2020 영상 보기

BOSAGORA, BRI와 전략적 파트너십 체결

Image for post

지난해 1월, 제네바 블록체인 콩그레스 (Geneva Blockchain Congress)에서 만난 돈 탭스콧과의 인연을 바탕으로 지난 12월, ‘더 탭스콧 그룹’ 산하 기관인 블록체인 리서치 인스티튜트(Blockchain Research Institute, 이하 BRI)와 전략적 제휴를 맺었습니다.

BRI는 더 탭스콧 그룹의 전문 블록체인 리서치 기관으로 전 세계 100여 개 이상의 정부 기관, 글로벌 기업 및 교육 기관이 멤버로 구성되어 있으며, 블록체인 활용 방안에 대해 BRI 싱크탱크가 연구한 내용을 바탕으로 다양한 산업의 멤버들에게 꼭 필요한 인사이트를 전달하고 있습니다.

BRI와의 전략적 제휴 이후 ‘패러다임 시프트’와, ‘블록체인 혁명’의 저자이자 북미에서 가장 저명한 경영 컨설턴트 및 블록체인 경영 사상가인 돈 탭스콧을 BOSAGORA의 어드바이저로 영입했습니다.

BOSAGORA는 이를 바탕으로 업계를 선도하는 글로벌 프로젝트로 성장할 수 있도록 더욱 노력하겠습니다.

콘텐츠 읽기:

BOSAGORA, RNS와 파트너십 체결

Image for post

BOSAGORA는 프로젝트의 개발을 보다 효율적으로 진행하기 위해 블록체인 및 소프트웨어 개발 전문 업체인 RNS와 파트너십을 맺었습니다. RNS는 블록체인, 사이버 보안, 인공지능 개발을 전문으로 하는 기업으로 지갑 개발부터 익스플로러, STO 플랫폼, 나노 원장, 디앱, 디파이 그리고 블록체인 네트워크 개발까지 블록체인과 관련된 전문적인 기술 개발 능력을 보유하고 있습니다.

BOSAGORA는 RNS과 함께 보다 완성도 높은 블록체인 플랫폼 환경을 개발할 수 있도록 노력하겠습니다.

콘텐츠 읽기:

UN 글로벌 컴팩트에 참여

Image for post

BOSAGORA는 지난해 10월, 열린 지구 재단의 Open Climate Collaboration의 글로벌 네트워크 홍보 대사가 되어 지구의 기후 문제 해결을 위한 움직임에 동참했습니다. 이에 더불어, 12월에는 유엔 글로벌 컴팩트(UNGC)의 정식 회원이 되며 지구와 인류의 삶 개선을 위한 움직임에 적극적으로 참여하게 되었습니다.

유엔 글로벌 컴팩트는 기업들의 인권, 노동, 환경, 반부패에 관한 보편적인 원칙, 전략, 실행을 일치시키고 사회적 목표를 달성하도록 요구하는 글로벌 단위의 움직임으로 BOSAGORA를 포함한 160여 나라에 위치한 12,000개 이상의 기업들이 글로벌 얼라이언스에 참여 중입니다.

BOSAGORA는 유엔 글로벌 컴팩트의 활동을 통해 ‘더 나은 세상’의 비전 달성을 위한 본격적인 활동을 개시할 수 있을 것으로 기대하고 있습니다.

콘텐츠 읽기:

BOSAGORA, 고용노동부 장관상 수상

Image for post

BOSAGORA는 12월, ‘2020 미래창조경영우수기업대상 & 고용노동부장관상’ 시상식에서 블록체인 플랫폼 부문을 수상했습니다. 저희는 2021년에는 개발과 비즈니스에서 더 좋은 성과를 만들기 위해 최선을 다하겠습니다.

기사 읽기:

AMA: CoinValue

Image for post

12월, BOSAGORA는 BRI와 전략적 파트너십을 체결하고, 유엔 글로벌 컴팩트(UNGC)의 정식 회원이 되는 등 BOSAGORA의 비전과 생태계에 핵심이 되는 활동을 이어갔습니다. 이후, CoinValue와 AMA를 진행하며 BRI와의 파트너십 및 돈 탭스콧의 어드바이저 영입을 통한 긍정적인 효과에 대한 질문과 SDG 활동과 생태계의 관련성 등에 대한 커뮤니티의 궁금증을 해결했습니다. 지속적인 AMA를 통해 새로운 파트너십과 개발 성과에 대해 답하며 적극적으로 소통하겠습니다.

AMA Recap.:


Image for post

테크 트렌즈는 블록체인 업계의 기술 및 트렌드를 조망하는 BOSAGORA의 칼럼으로 12월에는 17, 18화가 발행되었습니다. 상세한 내용은 링크에서 확인하시기 바랍니다.

테크 트렌즈 17번째 칼럼: ‘민주주의의 도구: BOSAGORA의 콩그레스 네트워크 구성 요소’ (The Tools of Democracy: Unpacking the Components of BOSAGORA’s Congress Network)

테크 트렌즈 18번째 칼럼: ‘스마트 계약 생태계의 잠재력’ (Unlocking the Potential of the Smart Contract Ecosystem)

Please join our communication channels as follows!

Telegram Spanish:
Telegram Russian:
BOSAGORA Official Announcement:



Contribute to making a better world with blockchain…

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store